[M3devel] Juno/Win32 possibly somewhat understood

Jay K jay.krell at cornell.edu
Tue Sep 29 10:13:51 CEST 2009


So..in order to simplify debugging, I started removing and simplifying code, as long as the failures were similar.

Sometimes I'd get an array overflow as a result -- like if I removed code that initialized stuff.

 

I focused on:

 removing maybe unnecessary threads -- like the FileBrowserVBT.Watcher, the font cleanupt thread 

 I changed uses of Wait(Fork(NEW(T)) to just NEW(T).apply()

 I did also remove a bunch of Trestle redraw code that was often on the stack.

 

Eventually, while almost nothing got drawn, Juno seemed to crash less often and more consistently.

 

So I undid/redid stuff. It seems the main thing I had altered was using fewer threads.

 

So, a quick look at ThreadWin32.m3. It maintains some idle threads.

 

If I remove that, Juno seems to stop crashing.

 

I'm going to double check stuff.

Like undo all my other changes.

Maybe even try setting the idle thread count to 0 instead of removing the code.

See if my findings repeat themselves.

 

 - Jay
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20090929/55542424/attachment-0001.html>


More information about the M3devel mailing list