Closed Bug 517132 Opened 14 years ago Closed 14 years ago
Assertion failure at Plugin
Module Parent .cpp:371
When loading this page <html> <body> <object type="application/x-test-ipc" height="200" width="200"> <param wmode="window"></param> </object> </body> </html> I see the failure [NPAPIPluginChild] Init LoadPlugin() /home/cjones/mozilla/mp-dbg/dom/plugins/testplugin/libnpipctest.so returned 113b900 [PluginModuleParent] NP_Initialize [NPAPIPluginChild] AnswerNP_Initialize [PluginModuleParent] NPP_New [NPAPIPluginChild] PPluginInstanceConstructor (plugin args: type=application/x-test-ipc, height=200, width=200, ) [NPAPIPluginChild] _getstringidentifier [NPAPIPluginChild] _utf8fromidentifier [NPAPIPluginChild] _identifierisstring [NPAPIPluginChild] _getstringidentifiers [NPAPIPluginChild] _utf8fromidentifier WARNING: NS_ENSURE_TRUE(ident) failed: file /home/cjones/mozilla/electrolysis/dom/plugins/PluginModuleParent.cpp, line 378 WARNING: NS_ENSURE_SUCCESS(rv, 0) failed with result 0x80070057: file /home/cjones/mozilla/electrolysis/dom/plugins/PluginModuleChild.cpp, line 698 [NPAPIPluginChild] _getvalue Before http://hg.mozilla.org/projects/electrolysis/rev/cb6ed6132f0e, this caused a nasty crash from the IPDL channel code delete'ing a garbage pointer because of the error return, but that's now fixed.
Wait, what's the assertion? Those warnings are because I added this "test" here: http://mxr.mozilla.org/projects-central/source/electrolysis/dom/plugins/testplugin/npipctest.cpp#219 But that shouldn't cause a crash.
Yeah oops, the line number changed when I cut out some code before pushing. The assertion failing is http://hg.mozilla.org/projects/electrolysis/file/cb6ed6132f0e/dom/plugins/PluginModuleParent.cpp#l371 . Originally, this failed assertion caused an error code to be returned from that handler method, which triggered faulty error handling (freeing a garbage pointer) and a crash in the IPDL library. This is an orthogonal bug and has been fixed. That said, if proper error handling *were* implemented, then the child plugin process would just be killed off for triggering an error return in the parent. So either this isn't a fatal error and PluginModuleParent::RecvNPN_UTF8FromIdentifier needs to be fixed to signal the error at the NPAPI level rather than IPDL, or that testing code is wrong and needs to removed. I don't which is the Right Way.
Summary: Assertion failure at PluginModuleParent.cpp:378 → Assertion failure at PluginModuleParent.cpp:371
This was fixed by http://hg.mozilla.org/projects/electrolysis/rev/4fe8c1c0c231/
Status: NEW → RESOLVED
Closed: 14 years ago
Depends on: LorentzBeta1
Resolution: --- → FIXED
Oops, dunno how that dependency snuck in ...
No longer depends on: LorentzBeta1
You need to log in before you can comment on or make changes to this bug.