[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