我已经为 firefox/chrome 开发了基于 npruntime 的插件,它在 ff3.6/chrome 10 上运行良好,但是当我在加载插件后在 firefox 4.0 或更高版本中加载任何其他插件时,如果我在插件之后打开 gmail,firefox 就会挂起已经加载,然后firefox停止响应,我已经验证它与插件容器有关。谁能建议我到底哪里出错了?任何指针将不胜感激。提前致谢
这是 ff6 的调用堆栈
ntdll.dll!_ZwWaitForSingleObject@12()
ntdll.dll!_ZwWaitForSingleObject@12()
kernel32.dll!_WaitForSingleObjectExImplementation@12() kernel32.dll!_WaitForSingleObject@8()
nspr4.dll!_PR_MD_WAIT_CV(_MDCVar * cv, _MDLock * lock, unsigned int timeout)
nspr4.dll!_PR_WaitCondVar(PRThread * thread, PRCondVar * cvar, PRLock * lock, unsigned int timeout)
nspr4.dll!PR_WaitCondVar(PRCondVar * cvar, unsigned int timeout)
xul.dll!mozilla::CondVar::等待(无符号整数间隔)
xul.dll!mozilla::ipc::GeckoChildProcessHost::SyncLaunch(std::vector,std::allocator >,std::allocator,std::allocator > > > aExtraOpts, int aTimeoutMs, base ::ProcessArchitecture arch) xul.dll!mozilla::plugins::PluginProcessParent::Launch(int timeoutMs)
xul.dll!mozilla::plugins::PluginModuleParent::LoadModule(const char * aFilePath)
xul.dll!GetNewPluginLibrary(nsPluginTag * aPluginTag) xul.dll!nsNPAPIPlugin::CreatePlugin(nsPluginTag * aPluginTag, nsNPAPIPlugin * * aResult)
xul. dll!CreateNPAPIPlugin(nsPluginTag * aPluginTag, nsNPAPIPlugin * * aOutNPAPIPlugin)
xul.dll!nsPluginHost::EnsurePluginLoaded(nsPluginTag * plugin)
xul.dll!nsPluginHost::GetPlugin(const char * aMimeType, nsNPAPIPlugin * * aPlugin)
xul.dll!nsPluginHost ::TrySetUpPluginInstance(const char * aMimeType, nsIURI * aURL, nsIPluginInstanceOwner * aOwner) xul.dll!nsPluginHost::SetUpPluginInstance(const char * aMimeType, nsIURI * aURL, nsIPluginInstanceOwner * aOwner)
xul.dll!nsPluginHost::InstantiateEmbeddedPlugin(const char * aMimeType, nsIURI * aURL, nsIPluginInstanceOwner * aOwner, int aAllowOpeningStreams) ...