Re: Spider Monkey and jsdiDebuggerService Crash?

Gijs Kruitbosch <[email protected]> Wed, 02 Sep 2009 09:02:42 +0100
Newsgroups gmane.comp.mozilla.devel.jsdebugger
Message-ID <[email protected]>
On 02/09/2009 06:51 AM, Jiyul wrote:
> sorry for my terrible explanation.
>
> Our product(Web RIA Solution) gives development(including debugger)
> environment and it's runtime(script + plugins for each browser) to
> customers. Customers can make web app which runs on browsers. Some
> requirement needs super fast communication, So we supply native plugins
> for each browser.
>
> Development environment contains:
> 1. GUI Script Debugger (it uses jsdIDebuggerService through javaxpcom)
> 2. Browser for debugging
> (based on XUL runner which contains our c++ firefox extension)
> 3. ...
>
> Everything was fine till the native plugin calls java script while
> debugging. When native plugin calls java script, just whole IDE crash.
> Our c++ engineer can't receive any exception or entry point to inspect.
>
> But that plugin works okay with just clean firefox. It crashes when some
> other component uses jsdIDebuggerService like as our IDE(when it
> debugging script) or firebug.
>
> I have two suspects:
>
> Q. If some native c++ code can invoke some script, It must be executed
> UI-thread, because some XHTML DOM can be modified by script. Our c++
> code seems to have not guarantee for that. Am I right? then how to do that?
> (I am an eclipse based IDE developer so I don't know much)
>
>
> Q. Does calling script through Spider Monkey can be problem with using
> jsdIDebuggerService?
>

It's possible that this is because you're not spinning up a new event loop, but 
I don't know enough about the internals of JSD to be sure (and don't have time 
to figure it out for you at this point, sorry). Have a look at what Venkman (and 
probably Chromebug too) does. :-)

~ Gijs