[M3devel] CM3 5.8 Release Engineering, was Re: back again -- cm3 status worse?

Tony Hosking hosking at cs.purdue.edu
Wed Sep 23 04:25:55 CEST 2009


On 22 Sep 2009, at 21:51, Jay K wrote:

> Tony there is something a bit gray that you are missing.

Yes, clearly I am missing something.

>  The behavior with @M3nogc we don't necessarily consider bad/wrong/ 
> buggy.

Right, it just takes GC out of the equation for what might be wrong.

>   It is a consistent assertion failure. Not an access violation.

Good.  We can debug that.

> It could just be Trestle not being fully supported on Windows.
> Olaf says Trestle was never fully ported.

I don't know enough about this to say either way.

> I'm not sure anyone knows what is missing, and if Juno really  
> demonstrates that or not.
>
> However, versions before Feb 20 consistently act like current  
> versions act with @M3nogc.
>  Before Feb 20 without @M3nogc.
>  Current with @M3nogc.

What does this mean?  That pre-2009-02 is just the same as  
post-2009-02?  How does that narrow anything down to that specific  
time-frame?

>  What I'd like to see is current without @M3nogc to act just as bad  
> but no worse than before Feb 20. I think the current behavior  
> without @M3nogc is worse. It's just "fail vs. no fail".

I still don't understand what this says about that particular time- 
frame.

>  Now, that is apples and oranges. For example, I relatively recently  
> changed the default initial allocation size and maybe incremental  
> allocation sizes. In particular..I forget the exact details but I  
> think changed from malloc to VirtualAlloc, and VirtualAlloc  
> allocates in 64K chunks. I guess I should review that..but that was  
> more recent I think, after Feb 20. I have to check.
> The code was a bit flawed somehow and I improved it somehow. I  
> forget. Almost everything is subject to rerererereview when there is  
> a bug, granted.
>
>
> I agree as well that Feb 20 might have just uncovered a preexisting  
> problem.
>
>
> But much is unclear and figuring this out I don't think will be  
> easy. :(

If we have a deterministic failure then it should be easy enough to  
track down.

>
>
>  - Jay
>
>
>
> From: hosking at cs.purdue.edu
> To: jay.krell at cornell.edu
> Date: Tue, 22 Sep 2009 21:40:27 -0400
> CC: m3devel at elegosoft.com
> Subject: Re: [M3devel] CM3 5.8 Release Engineering, was Re: back  
> again -- cm3 status worse?
>
>
> On 22 Sep 2009, at 08:16, Jay K wrote:
>
> Yes there is fairly definitely a problem on Windows and it dates, I  
> think, to this change:
>
>
> 2009-02-16 02:20  hosking
>   * m3-libs/m3core/src/: Csupport/VAX/dtoa.c, Csupport/big-endian/ 
> dtoa.c,
>     Csupport/little-endian/dtoa.c, convert/CConvert.i3,
>     convert/CConvert.m3, runtime/I386_DARWIN/RTThread.m3,
>     runtime/common/RTCollector.m3, runtime/common/RTHeapRep.i3,
>     runtime/common/RTOS.i3, thread/POSIX/ThreadPosix.m3,
>     thread/PTHREAD/ThreadF.i3, thread/PTHREAD/ThreadPThread.m3,
>     thread/PTHREAD/ThreadPThreadC.c, thread/PTHREAD/ThreadPThreadC.i3,
>     thread/WIN32/ThreadWin32.m3:
>   Clean up RTOS.LockHeap/RTOS.UnlockHeap implementations to better  
> match underlying pthread semantics.
>   This means that RTOS.WaitHeap must be called while RTOS.LockHeap  
> is held.
>   RTOS.BroadcastHeap can be called whether RTOS.LockHeap is held or  
> not.
>
> I'm not convinced that this change itself broke things, but perhaps  
> instead exposed the brokenness.  In any case, debugging this in the  
> head will probably be easiest.  If we have an example that  
> deterministically breaks then I think we have a place to start.  My  
> suggestion for now, since it appears to trigger the problem, is to  
> use @M3nogc.
>
>

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


More information about the M3devel mailing list