[nem-en] Screenshot from MonoDevelop

Kamil Skalski kamil.skalski at gmail.com
Thu Mar 2 20:12:59 CET 2006


2006/3/2, Alejandro Serrano <trupill at yahoo.es>:
> Kamil Skalski escribió:
> >> At first I has a problem in WarningOptions.IsEnabled. It threw an
> >> exception during Clean(), so the type wasn't initialized correctly. Just
> >> changing IsEnabled to be wrapped inside a try/catch block was a good
> >>
> >
> > What kind of exception was that? From what I can see it should never fail...
> >
> The exception was with Hashtable.Add, in the Level setter.
> However, I think the problem comes from how MonoDevelop works, using
> Remoting and threads. Indeed, some of the errors I have found during

Interesting... I looks like some kind of mono bug. The only way I can
it is crashing is if monodevelop called Clear() at the same moment
from two different threads - then Adding the same things could
conflict.

> development where just locking / threading issues. For example, at
> first, Engine was an instance class, but it always confused parser and
> lexer states, because two compilations cannot be run on the same tree,
> that's obvious.
>

Maybe locking the Engine would be feasible way to eliminate some bugs.
But I'm curious how does it work exactly.. :)  Is it that there is
some "worker thread", which is computing the TypeTree and completions
and GUI asks it about results from time to time?

--
Kamil Skalski
http://nazgul.omega.pl


More information about the devel-en mailing list