Ken, this issue with UUID is almost half-year old (if not older), and was reported multiple times by multiple people who running squeak on linux. I thought this were fixed already.. but it seems there are some VMs which don't have such fix.
David, can you shed a light on the status of given issue?
2009/7/16 Ken Causey ken@kencausey.com:
So I disabled all the Traits tests and tried to run the rest. At some point (sorry I was not watching closely) the image crashed. Again this is on 32bit linux, exupery vm 0.15.1.
Segmentation fault
2031394508 UUID>initialize 2031394392 Behavior>new:
On Thu, Jul 16, 2009 at 10:53:25PM +0300, Igor Stasenko wrote:
Ken, this issue with UUID is almost half-year old (if not older), and was reported multiple times by multiple people who running squeak on linux. I thought this were fixed already.. but it seems there are some VMs which don't have such fix.
David, can you shed a light on the status of given issue?
I only know that it has been reported several times on the Pharo list. I have not seen the problem myself, but I assume that it's a bug in the plugin, so I opened an issue on Mantis to track it:
http://bugs.squeak.org/view.php?id=7358
If anyone has additional information, please update the Mantis report. That's all I know for now.
Dave
As a workaround, how is this?
UUID>>initialize "Some unix versions crash with the UUID prim, so disable it for all of 'em" Smalltalk platformName = 'unix' ifTrue:[UUIDGenerator default generateBytes: self forVersion: 4] ifFalse:[self primMakeUUID].
Cheers, - Andreas
David T. Lewis wrote:
On Thu, Jul 16, 2009 at 10:53:25PM +0300, Igor Stasenko wrote:
Ken, this issue with UUID is almost half-year old (if not older), and was reported multiple times by multiple people who running squeak on linux. I thought this were fixed already.. but it seems there are some VMs which don't have such fix.
David, can you shed a light on the status of given issue?
I only know that it has been reported several times on the Pharo list. I have not seen the problem myself, but I assume that it's a bug in the plugin, so I opened an issue on Mantis to track it:
http://bugs.squeak.org/view.php?id=7358
If anyone has additional information, please update the Mantis report. That's all I know for now.
Dave
As a workaround, how is this?
UUID>>initialize "Some unix versions crash with the UUID prim, so disable it for all of 'em" Smalltalk platformName = 'unix' ifTrue:[UUIDGenerator default generateBytes: self forVersion: 4] ifFalse:[self primMakeUUID].
No lads, we use this in a production telco environment - lets fix it properly.
Brent
On Sat, Jul 18, 2009 at 08:33:32AM +0200, Brent Pinkney wrote:
As a workaround, how is this?
UUID>>initialize "Some unix versions crash with the UUID prim, so disable it for all of 'em" Smalltalk platformName = 'unix' ifTrue:[UUIDGenerator default generateBytes: self forVersion: 4] ifFalse:[self primMakeUUID].
No lads, we use this in a production telco environment - lets fix it properly.
Agreed.
Someone (faried) has added an additional Mantis report on this problem, see http://bugs.squeak.org/view.php?id=7371.
The new bug report contains some useful gdb output showing a segfault occuring in the actual uuid_generate() library call. The VM support code wrapping this call looks dead simple, so I'm hard pressed to see how that could be wrong. This plugin is trivial; we must be missing something obvious.
Note, I'm not actually working on this bug, and I've never seen it happen. I'm just tracking it in Mantis and hoping that someone can point to a solution.
Dave
Anything to do with https://bugzilla.redhat.com/show_bug.cgi?id=471801 ?
Nicolas
2009/7/18 David T. Lewis lewis@mail.msen.com:
On Sat, Jul 18, 2009 at 08:33:32AM +0200, Brent Pinkney wrote:
As a workaround, how is this?
UUID>>initialize "Some unix versions crash with the UUID prim, so disable it for all of 'em" Smalltalk platformName = 'unix' ifTrue:[UUIDGenerator default generateBytes: self forVersion: 4] ifFalse:[self primMakeUUID].
No lads, we use this in a production telco environment - lets fix it properly.
Agreed.
Someone (faried) has added an additional Mantis report on this problem, see http://bugs.squeak.org/view.php?id=7371.
The new bug report contains some useful gdb output showing a segfault occuring in the actual uuid_generate() library call. The VM support code wrapping this call looks dead simple, so I'm hard pressed to see how that could be wrong. This plugin is trivial; we must be missing something obvious.
Note, I'm not actually working on this bug, and I've never seen it happen. I'm just tracking it in Mantis and hoping that someone can point to a solution.
Dave
On Sat, Jul 18, 2009 at 08:24:10PM +0200, Nicolas Cellier wrote:
Anything to do with https://bugzilla.redhat.com/show_bug.cgi?id=471801 ?
It certainly seems possible. The symptoms reported there are similar to what Squeak/Pharo users have been reporting. There is a C test program that someone might run to confirm, see the bugzilla report for details.
Dave
On Sat, Jul 18, 2009 at 08:24:10PM +0200, Nicolas Cellier wrote:
2009/7/18 David T. Lewis lewis@mail.msen.com:
Someone (faried) has added an additional Mantis report on this problem, see http://bugs.squeak.org/view.php?id=7371.
The new bug report contains some useful gdb output showing a segfault occuring in the actual uuid_generate() library call. The VM support code wrapping this call looks dead simple, so I'm hard pressed to see how that could be wrong. This plugin is trivial; we must be missing something obvious.
Note, I'm not actually working on this bug, and I've never seen it happen. I'm just tracking it in Mantis and hoping that someone can point to a solution.
Anything to do with https://bugzilla.redhat.com/show_bug.cgi?id=471801 ?
FYI, faried has provided some excellent follow up information on this issue on Mantis 7358, including a link to http://bugs.python.org/issue6059, which appears to show Python running into the same library bug.
Dave
Aha, so it seems that bug lies in uuid library.. Is there a way to find out the buggy version and then add a workaround into plugin? Something like put ' if (uuid_version() == xxx ) {} '
2009/7/21 David T. Lewis lewis@mail.msen.com:
On Sat, Jul 18, 2009 at 08:24:10PM +0200, Nicolas Cellier wrote:
2009/7/18 David T. Lewis lewis@mail.msen.com:
Someone (faried) has added an additional Mantis report on this problem, see http://bugs.squeak.org/view.php?id=7371.
The new bug report contains some useful gdb output showing a segfault occuring in the actual uuid_generate() library call. The VM support code wrapping this call looks dead simple, so I'm hard pressed to see how that could be wrong. This plugin is trivial; we must be missing something obvious.
Note, I'm not actually working on this bug, and I've never seen it happen. I'm just tracking it in Mantis and hoping that someone can point to a solution.
Anything to do with https://bugzilla.redhat.com/show_bug.cgi?id=471801 ?
FYI, faried has provided some excellent follow up information on this issue on Mantis 7358, including a link to http://bugs.python.org/issue6059, which appears to show Python running into the same library bug.
Dave
It's not clear from the reports whether this is known to be the first uuid_generate call.
It might help if someone afflicted could say if this is always the first call...
Since it does look dead simple on the face of it.
But there's that almost-ambiguous extra indirection in there
int MakeUUID(char *location) { uuid_t uuid; uuid_generate(uuid); memcpy((void *)location, (void *)&uuid, sizeof(uuid)); return 1; }
since uuid_t is an array type, the & in (void *) & uuid is one of those C miseries; who knows?
Anyway, is it the first uuid, or a subsequent one, that dies?
-b
On Sat, Jul 18, 2009 at 08:33:32AM +0200, Brent Pinkney wrote:
As a workaround, how is this?
UUID>>initialize "Some unix versions crash with the UUID prim, so disable it for all of 'em" Smalltalk platformName = 'unix' ifTrue:[UUIDGenerator default generateBytes: self forVersion: 4] ifFalse:[self primMakeUUID].
No lads, we use this in a production telco environment - lets fix it properly.
Agreed.
Someone (faried) has added an additional Mantis report on this problem, see http://bugs.squeak.org/view.php?id=7371.
The new bug report contains some useful gdb output showing a segfault occuring in the actual uuid_generate() library call. The VM support code wrapping this call looks dead simple, so I'm hard pressed to see how that could be wrong. This plugin is trivial; we must be missing something obvious.
Note, I'm not actually working on this bug, and I've never seen it happen. I'm just tracking it in Mantis and hoping that someone can point to a solution.
Dave
On Sat, Jul 18, 2009 at 8:11 PM, David T. Lewislewis@mail.msen.com wrote:
Someone (faried) has added an additional Mantis report on this problem, see http://bugs.squeak.org/view.php?id=7371.
I can't replicate this on Ubuntu/x86, nor on Solaris/SPARC, both 3.10-4.
Can anyone replicate this bug? What did you do?
-- Andrew
On Sat, 2009-07-18 at 14:11 -0400, David T. Lewis wrote:
On Sat, Jul 18, 2009 at 08:33:32AM +0200, Brent Pinkney wrote:
As a workaround, how is this?
UUID>>initialize "Some unix versions crash with the UUID prim, so disable it for all of 'em" Smalltalk platformName = 'unix' ifTrue:[UUIDGenerator default generateBytes: self forVersion: 4] ifFalse:[self primMakeUUID].
No lads, we use this in a production telco environment - lets fix it properly.
Agreed.
Someone (faried) has added an additional Mantis report on this problem, see http://bugs.squeak.org/view.php?id=7371.
The new bug report contains some useful gdb output showing a segfault occuring in the actual uuid_generate() library call. The VM support code wrapping this call looks dead simple, so I'm hard pressed to see how that could be wrong. This plugin is trivial; we must be missing something obvious.
Note, I'm not actually working on this bug, and I've never seen it happen. I'm just tracking it in Mantis and hoping that someone can point to a solution.
I think another work around was to increase the size of the Squeak UUID object by a byte which suggests the bug is an off by one error.
Bryce
On Sat, Jul 18, 2009 at 09:16:19PM +0100, Bryce Kampjes wrote:
I think another work around was to increase the size of the Squeak UUID object by a byte which suggests the bug is an off by one error.
Interesting. I don't see an off-by-one error in the code, but perhaps it might be an alignment issue that causes a larger buffer to be required on some platforms?
Dave
vm-dev@lists.squeakfoundation.org