GithubHelp home page GithubHelp logo

Comments (9)

RJVB avatar RJVB commented on June 18, 2024

To answer my own question:

not loaded: /usr/lib/mozilla/plugins/libfreshwrapper-flashplayer.so because "Cannot load library /usr/lib/mozilla/plugins/libfreshwrapper-flashplayer.so: (dlopen: cannot load any more object with static TLS)"
not loaded: /usr/lib/mozilla/plugins/libfreshwrapper-flashplayer.so because "Cannot load library /usr/lib/mozilla/plugins/libfreshwrapper-flashplayer.so: (dlopen: cannot load any more object with static TLS)"

One way around that: LD_PRELOAD'ing the plugin. Then it works.

I tried converting ANGLE's TLS mechanism to C++11 thread_local but that didn't help, either because it uses the same mechanism behind the scenes, or because one of the numerous dependencies already saturated the TLS pool.

patch-cxx11-tls.txt

from freshplayerplugin.

i-rinat avatar i-rinat commented on June 18, 2024

Is there any easy way to get QtWebKit browser working for testing purposes?

I found nothing appropriate in Debian repositories. The one I hoped for was qutebrowser, which now uses qtwebengine, even if I install qtwebkit renderer package. Example app using PyQt5 doesn't load Flash plugin at all. Perhaps, I use it in a wrong way.

from freshplayerplugin.

RJVB avatar RJVB commented on June 18, 2024

from freshplayerplugin.

i-rinat avatar i-rinat commented on June 18, 2024

I tried to prototype patch here: https://github.com/i-rinat/freshplayerplugin/tree/dev-thread-local-to-gprivate. Is that enough to make error message go away? If that helps, I'll make another version, with single GPrivate instance. Documentation says they are very limited resources too.

By the way, I find that there is no "cannot load any more object with static TLS" string in glibc code anymore. There are some commented out lines in translation files, but original string from the code itself was deleted. I think, glibc 2.22 was the first release without that error message. Changelog mentions fixes related to TLS, so it may help to update glibc.

from freshplayerplugin.

RJVB avatar RJVB commented on June 18, 2024

from freshplayerplugin.

i-rinat avatar i-rinat commented on June 18, 2024

Did you see if they also removed the static table for TLS which is apparently the source of the whole problem?

I have no idea about how this all is working and what glibc does there. But here is that commit I was talking about: https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=f8aeae347377f3dfa8cbadde057adf1827fb1d44;hp=b97eb2bdb1ed72982a7821c3078be591051cef59.

from freshplayerplugin.

RJVB avatar RJVB commented on June 18, 2024

from freshplayerplugin.

i-rinat avatar i-rinat commented on June 18, 2024

Pushed modified patch to the master branch as ce233f6. Also, there no dev-thread-local-to-gprivate branch anymore, since it had essentially the same.

There are no .tdata nor .tbss sections in compiled binary, which were used for thread-local storage. So plugin should load without triggering the bug, unless some other library exhaust TLS storage. But in that case there is nothing can be done in freshplayerplugin.

from freshplayerplugin.

RJVB avatar RJVB commented on June 18, 2024

from freshplayerplugin.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.