Closed Bug 517132 Opened 15 years ago Closed 15 years ago

Assertion failure at PluginModuleParent.cpp:371

Categories

(Core :: IPC, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: cjones, Assigned: bent.mozilla)

Details

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
Status: NEW → RESOLVED
Closed: 15 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.