[MLton] SIGBUS in minorCheneyCopy r7414

Matthew Fluet matthew.fluet at gmail.com
Thu Aug 5 18:31:30 PDT 2010


I fixed a bug in the mark-compact gc, where memcpy could be called
with overlapping src/dst:

  http://mlton.org/pipermail/mlton/2010-May/030822.html
  http://mlton.org/pipermail/mlton/2010-May/030823.html
  http://mlton.org/pipermail/mlton-commit/2010-May/003465.html
  http://mlton.org/pipermail/mlton-commit/2010-May/003466.html

It could leave a corrupted object in the heap that could cause a later
garbage collection to fail.
You ought to be apply to apply those two patches directly to r7414 to
see if that is the culprit.

On Thu, Aug 5, 2010 at 11:51 AM, Wesley W. Terpstra <wesley at terpstra.ca> wrote:
> One of our servers got a SIGBUS today:
>>
>> Simulation started at 2010-08-05 13:30:05.734971.
>>
>> 2010-01-01 00:44:56.519968562  ...  |
>>
>> Program received signal SIGBUS, Bus error.
>>
>> [Switching to Thread 0x7f34f8d136e0 (LWP 9929)]
>>
>> 0x0000000000677200 in minorCheneyCopyGC ()
>>
>> Current language:  auto; currently asm
>>
>> (gdb) bt
>>
>> #0  0x0000000000677200 in minorCheneyCopyGC ()
>>
>> #1  0x000000000067a8b5 in performGC ()
>>
>> #2  0x000000000067cee9 in GC_collect ()
>>
>> #3  0x00000000004d7340 in L_45905 ()
>>
>> #4  0x0000000000000003 in ?? ()
>>
>> #5  0x0000000000403500 in ?? ()
>>
>> #6  0x0000000000000000 in ?? ()
>
> MLton r7414 was used on an amd64 debian lenny system. It is reproducible
> when exactly the same project revision, MLton revision, command-line, and
> input files are used.
> I'm rebuilding it now linked with libmlton-gdb.a. Unfortunately, I fear it
> will take several days of runtime to reproduce. AFAICT there have been no
> changes to the GC since r7414 that correct invalid memory accesses. If this
> was already fixed, please save me these CPU cycles. :)
>
> _______________________________________________
> MLton mailing list
> MLton at mlton.org
> http://mlton.org/mailman/listinfo/mlton
>



More information about the MLton mailing list