--=-MFv47BEGx8Z915QHwmJN
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

On Sat, 2007-01-13 at 10:13 +0900, Young Hyun wrote:

> The invalid values in fastthread's mutex object is similar to what =20
> we've seen in the 2nd type of crash ("rb_gc_mark(): unknown data =20
> type").  I'll try to create a test program to reproduce this crash at =20
> exit, and since the corruption appears similar, this test program =20
> should hopefully be useful for diagnosing the 2nd type of crash as well.

I believe the two crashes are related.  Also, it appears that the
corruption only happens with Queues, not other uses of Mutexes.  Likely
this means that some queue-specific routine expecting a queue is getting
passed a pointer to a member of the queue instead, or a routine
expecting one member is getting passed another.

I'd expect the compiler to catch this sort of thing, and I didn't see
anything obvious auditing the code by hand, but perhaps something's
getting lost in a VALUE cast...

Anyway, it's probably best to focus on Queue when constructing test
cases.

-mental

--=-MFv47BEGx8Z915QHwmJN
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)

iD8DBQBFq52FSuZBmZzm14ERAg2WAJ0eXm5v0da1CIsCFt1XVNe0MfV32gCgwH+9
lob6HSHsWJm9LXq1xDak2AQ=
=iTW2
-----END PGP SIGNATURE-----

--=-MFv47BEGx8Z915QHwmJN--