[M3devel] thread.fork getting nil on nt386gnu?

Tony Hosking hosking at cs.purdue.edu
Sat Mar 8 00:17:55 CET 2008


This wasn't an ASSERT assertion.  It was an explicit check that the  
apply method was not null, along with a helpful message to the user.

On Mar 7, 2008, at 4:38 PM, Jay wrote:

> Assertions, like a lot of code, often succeed by luck.
> There's little point in asserting a pointer isn't null right before  
> dereferencing it. You are going to crash on one line or the next.
>
>  - Jay
>
> CC: m3devel at elegosoft.com
> From: hosking at cs.purdue.edu
> To: jayk123 at hotmail.com
> Subject: Re: [M3devel] thread.fork getting nil on nt386gnu?
> Date: Fri, 7 Mar 2008 14:48:29 -0500
>
> Umm.  If the assertion is wrong then how has this code ever run  
> before...
>
> On Mar 7, 2008, at 2:21 PM, Jay wrote:
>
> assertions are also notoriously wrong.
> Two out of three thread implementations don't have it..
>
>  - Jay
>
> CC: m3devel at elegosoft.com
> From: hosking at cs.purdue.edu
> To: jayk123 at hotmail.com
> Subject: Re: [M3devel] thread.fork getting nil on nt386gnu?
> Date: Fri, 7 Mar 2008 08:41:23 -0500
>
> It is always dangerous to remove assertions that have worked in the  
> past.  Better to understand why they no longer work.  Anyway, what  
> this suggests is something in alignment because what the assertion  
> checks is that the method table for the Thread.Closure object passed  
> to Thread.Fork contains a non-NIL function pointer in the "apply"  
> slot.
>
> Antony Hosking | Associate Professor | Computer Science | Purdue  
> University
> 305 N. University Street | West Lafayette | IN 47907 | USA
> Office +1 765 494 6001 | Mobile +1 765 427 5484
>
>
>
> On Mar 7, 2008, at 1:00 AM, Jay wrote:
>
> This asssertion is absent from the two other thread implementations,  
> and is dependent on a loophole to underlying details that I didn't  
> track down to determine if they are corrrect. So I merely removed  
> this.
>
> Still can't connect to the X server for some reason..
>
>  - Jay
> CC: m3devel at elegosoft.com
> From: hosking at cs.purdue.edu
> To: jayk123 at hotmail.com
> Subject: Re: [M3devel] thread.fork getting nil on nt386gnu?
> Date: Tue, 26 Feb 2008 13:29:28 -0500
>
> Looks like a corrupted/uninitialized type (method table contains a  
> NIL pointer...).
>
> Antony Hosking | Associate Professor | Computer Science | Purdue  
> University
> 305 N. University Street | West Lafayette | IN 47907 | USA
> Office +1 765 494 6001 | Mobile +1 765 427 5484
>
>
>
> On Feb 25, 2008, at 1:15 PM, Jay wrote:
>
> any obvious ideas? I'll have to pause for a bit again..
>
> Jay at jay-win1 /cygdrive/c/dev2/cm3.2/m3-ui/juno-2/juno-app/NT386GNU/ 
> Juno.exe
>
> ***
> *** runtime error:
> ***    Thread client error: NIL apply method passed to Thread.Fork!
> ***    file "ThreadWin32.m3", line 578
> ***
>   14837 [sig] Juno 3908 c:\dev2\cm3.2\m3-ui\juno-2\juno-app\NT386GNU 
> \Juno.exe: *
> ** fatal error - called with threadlist_ix -1
> Hangup
>
>  - Jay
>
> Need to know the score, the latest news, or you need your Hotmail®- 
> get your "fix". Check it out.
>
>
> Shed those extra pounds with MSN and The Biggest Loser! Learn more.
>
>
> Connect and share in new ways with Windows Live. Get it now!
>
>
> Shed those extra pounds with MSN and The Biggest Loser! Learn more.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20080307/6cc37afb/attachment-0002.html>


More information about the M3devel mailing list