[MLton] CML bug?

Matthew Fluet fluet@cs.cornell.edu
Thu, 25 Aug 2005 09:14:52 -0400 (EDT)


>>> Basically, I would like to get exception history to work with CML, to help 
>>> debug my other problem with interrupted system calls.
>> 
>> If you've got an example that raises an exception with interrupted system 
>> calls, I could take a look at that, since my exception history is working 
>> fine.
>> 
>
> Working on a test case currently, the basics pass just as per normal expected 
> MLton behavoir.  I am trying to isolate the behavoir out the base eXene code, 
> so its quite large right now, though I am pretty sure Socket.recVec is the 
> call that eventually raises the system call interupted exception. I wanted to 
> confirm with the exception history.  I have a distinct feeling that my 
> current MLton compiler did not bootstrap correctly due to fairly obscure 
> behavoir and the fact that you cannot reproduce it.

Well, don't feel like you need to boil the exception raising example down 
too far.  As I said, a good guess is that a system call is not being 
wrapped in the restart handler, and we just need to figure out which one. 
Hence, we just need to observe the runtime behavior of the program (and 
it's exception history), rather than inspect the compile-time intermediate 
programs (which is what we would need to do to debug an optimization pass 
bug, and for which small test programs are useful because we are 
inspecting lots of intermediate code).  Hence, it doesn't matter all that 
much how big the example program is, so long as it has the right runtime 
behavior.