Closed
Bug 676791
Opened 13 years ago
Closed 3 years ago
Crash while loading any plugin if XRENDER is not available [@ mozilla::plugins::PluginInstanceChild::ShowPluginFrame]
Categories
(Core Graveyard :: Plug-ins, defect)
Tracking
(Not tracked)
RESOLVED
WONTFIX
People
(Reporter: psychon, Unassigned)
Details
User Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.19) Gecko/20110701 Iceweasel/3.5.19 (like Firefox/3.5.19) Build ID: 20110701100522 Steps to reproduce: Set the environment variable "CAIRO_DEBUG=xrender-version=-1" and start firefox. This makes cairo pretend that the X11 server does not have the RENDER extension. When I now open e.g. layout/reftests/bugs/541406-1-ref.html, I am told that "The Test plugin" crashed. Actual results: On the console, this output is shown: For application/x-test found plugin libnptest.so LoadPlugin() /home/psychon/projects/mozilla-central/obj-x86_64-unknown-linux-gnu/dom/plugins/test/testplugin/libnptest.so returned 2551a50 WARNING: [PluginModuleParent::ActorDestroy] abnormal shutdown without minidump!: file /home/psychon/projects/mozilla-central/dom/plugins/ipc/PluginModuleParent.cpp, line 308 Program /home/psychon/projects/mozilla-central/obj-x86_64-unknown-linux-gnu/dist/bin/plugin-container (pid = 28463) received signal 11. Stack: UNKNOWN [/lib/x86_64-linux-gnu/libc.so.6 +0x00032480] UNKNOWN [/home/psychon/projects/mozilla-central/obj-x86_64-unknown-linux-gnu/dist/bin/libxul.so +0x01207D6D] UNKNOWN [/home/psychon/projects/mozilla-central/obj-x86_64-unknown-linux-gnu/dist/bin/libxul.so +0x0120813E] UNKNOWN [/home/psychon/projects/mozilla-central/obj-x86_64-unknown-linux-gnu/dist/bin/libxul.so +0x0131B170] UNKNOWN [/home/psychon/projects/mozilla-central/obj-x86_64-unknown-linux-gnu/dist/bin/libxul.so +0x0131C783] UNKNOWN [/home/psychon/projects/mozilla-central/obj-x86_64-unknown-linux-gnu/dist/bin/libxul.so +0x0131C8A5] UNKNOWN [/home/psychon/projects/mozilla-central/obj-x86_64-unknown-linux-gnu/dist/bin/libxul.so +0x01331350] UNKNOWN [/home/psychon/projects/mozilla-central/obj-x86_64-unknown-linux-gnu/dist/bin/libxul.so +0x0131B310] UNKNOWN [/home/psychon/projects/mozilla-central/obj-x86_64-unknown-linux-gnu/dist/bin/libxul.so +0x0131B333] XRE_InitChildProcess+0x00000380 [/home/psychon/projects/mozilla-central/obj-x86_64-unknown-linux-gnu/dist/bin/libxul.so +0x00596FC6] UNKNOWN [/home/psychon/projects/mozilla-central/obj-x86_64-unknown-linux-gnu/dist/bin/plugin-container +0x00000750] __libc_start_main+0x000000FD [/lib/x86_64-linux-gnu/libc.so.6 +0x0001EEAD] UNKNOWN [/home/psychon/projects/mozilla-central/obj-x86_64-unknown-linux-gnu/dist/bin/plugin-container +0x000007D1] Sleeping for 300 seconds. Type 'gdb /home/psychon/projects/mozilla-central/obj-x86_64-unknown-linux-gnu/dist/bin/plugin-container 28463' to attach your debugger to this thread. gdb backtrace: #0 0x00007feede9da1cd in nanosleep () at ../sysdeps/unix/syscall-template.S:82 #1 0x00007feede9da040 in __sleep (seconds=<value optimized out>) at ../sysdeps/unix/sysv/linux/sleep.c:138 #2 0x00007feee02424e4 in ah_crap_handler (signum=11) at /home/psychon/projects/mozilla-central/toolkit/xre/nsSigHandlers.cpp:121 #3 0x00007feee024251c in child_ah_crap_handler (signum=11) at /home/psychon/projects/mozilla-central/toolkit/xre/nsSigHandlers.cpp:133 #4 <signal handler called> #5 mozilla::plugins::PluginInstanceChild::ShowPluginFrame (this=0x256c2c0) at /home/psychon/projects/mozilla-central/dom/plugins/ipc/PluginInstanceChild.cpp:3171 #6 0x00007feee0eb413e in InvalidateRectDelayed (this=0x256c2c0) at /home/psychon/projects/mozilla-central/dom/plugins/ipc/PluginInstanceChild.cpp:3271 #7 mozilla::plugins::PluginInstanceChild::InvalidateRectDelayed (this=0x256c2c0) at /home/psychon/projects/mozilla-central/dom/plugins/ipc/PluginInstanceChild.cpp:3260 #8 0x00007feee0fc7170 in MessageLoop::RunTask (this=0x7fff4e957538, task=0x256c1f0) at /home/psychon/projects/mozilla-central/ipc/chromium/src/base/message_loop.cc:345 #9 0x00007feee0fc8783 in MessageLoop::DeferOrRunPendingTask (this=<value optimized out>, pending_task=<value optimized out>) at /home/psychon/projects/mozilla-central/ipc/chromium/src/base/message_loop.cc:353 #10 0x00007feee0fc88a5 in DoWork (this=0x7fff4e957538) at /home/psychon/projects/mozilla-central/ipc/chromium/src/base/message_loop.cc:453 #11 MessageLoop::DoWork (this=0x7fff4e957538) at /home/psychon/projects/mozilla-central/ipc/chromium/src/base/message_loop.cc:432 #12 0x00007feee0fdd350 in base::MessagePumpForUI::RunWithDispatcher (this=0x24fd830, delegate=<value optimized out>, dispatcher=<value optimized out>) at /home/psychon/projects/mozilla-central/ipc/chromium/src/base/message_pump_glib.cc:199 #13 0x00007feee0fc7310 in MessageLoop::RunInternal (this=0x7fff4e957538) at /home/psychon/projects/mozilla-central/ipc/chromium/src/base/message_loop.cc:221 #14 0x00007feee0fc7333 in RunHandler (this=0x7fff4e957538) at /home/psychon/projects/mozilla-central/ipc/chromium/src/base/message_loop.cc:205 #15 MessageLoop::Run (this=0x7fff4e957538) at /home/psychon/projects/mozilla-central/ipc/chromium/src/base/message_loop.cc:179 #16 0x00007feee0242fc6 in XRE_InitChildProcess (aArgc=2, aArgv=<value optimized out>, aProcess=GeckoProcessType_Plugin) at /home/psychon/projects/mozilla-central/toolkit/xre/nsEmbedFunctions.cpp:512 #17 0x0000000000400750 in main (argc=4, argv=<value optimized out>) at /home/psychon/projects/mozilla-central/ipc/app/MozillaRuntimeMain.cpp:81 This happened because xsurf->XRenderFormat() is a NULL pointer: (gdb) print cairo_xlib_surface_get_xrender_format(mCurrentSurface.mRawPtr->mSurface) $7 = (XRenderPictFormat *) 0x0 I have to do this small amount of magic because gdb otherwise says "value has been optimized out". This should be the same as xsurf->XRenderFormat(). Expected results: Rainbow
Updated•13 years ago
|
Component: Extension Compatibility → Plug-ins
Product: Firefox → Core
QA Contact: extension.compatibility → plugins
Reporter | ||
Updated•13 years ago
|
Hardware: x86_64 → All
Summary: Crash while loading test plugin if XRENDER is not available [@ mozilla::plugins::PluginInstanceChild::ShowPluginFrame] → Crash while loading any plugin if XRENDER is not available [@ mozilla::plugins::PluginInstanceChild::ShowPluginFrame]
Comment 1•13 years ago
|
||
For me the lack of XRENDER manifests itself in Firefox 9.0 in a crash in PluginInstanceParent::BackgroundDescriptor(), again when trying to dereference xsurf->XRenderFormat().
Comment 2•3 years ago
|
||
Resolving as wont fix, plugin support deprecated in Firefox 85.
Status: UNCONFIRMED → RESOLVED
Closed: 3 years ago
Resolution: --- → WONTFIX
Updated•2 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•