http://build.squeak.org/job/SqueakTrunk/230/console shows a segfault in the LargeIntegerPlugin, on Cog r.2701. I've attached the crash.dmp because otherwise it'll potentially get overwritten by the next build. The interesting part of the stack is this: Squeak VM version: 4.0-2701 #1 Mon Mar 11 17:31:47 PDT 2013 gcc 4.1.2 Built from: CoInterpreter VMMaker.oscog-eem.272 uuid: 8f4167f2-5bf0-4d90-9b7f-5355c741c68f Mar 11 2013 With: StackToRegisterMappingCogit VMMaker.oscog-eem.270 uuid: 014f0153-bb02-49b7-b544-d8f3ac2deef6 Mar 11 2013 Revision: VM: r2701 http://www.squeakvm.org/svn/squeak/branches/Cog Plugins: r2545 http://squeakvm.org/svn/squeak/trunk/platforms/Cross/plugins Build host: Linux mcqfes 2.6.18-128.el5 #1 SMP Wed Jan 21 10:44:23 EST 2009 i686 i686 i386 GNU/Linux plugin path: /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2701/coglinux/bin/../lib/squeak/4.0-2701 [default: /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2701/coglinux/lib/squeak/4.0-2701/] C stack backtrace: /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2701/coglinux/bin/../lib/squeak/4.0-2701/squeak[0x805cc81] /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2701/coglinux/bin/../lib/squeak/4.0-2701/squeak[0x805ce58] [0xf57fe40c] /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2701/coglinux/bin/../lib/squeak/4.0-2701/squeak[0x80e4049] [0x773c4848] /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2701/coglinux/bin/../lib/squeak/4.0-2701/squeak(interpret+0x1eb)[0x807ff0b] /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2701/coglinux/bin/../lib/squeak/4.0-2701/squeak(main+0x397)[0x805d347] /lib/i686/nosegneg/libc.so.6(__libc_start_main+0xe6)[0xb755dca6] /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2701/coglinux/bin/../lib/squeak/4.0-2701/squeak[0x805ad41] Smalltalk stack dump: 0xbfc501c4 M LargePositiveInteger(Integer)>quo: 0x788faa9c: a(n) LargePositiveInteger 0xbfc501e0 M LargePositiveInteger>quo: 0x788faa9c: a(n) LargePositiveInteger 0xbfc50208 M LargePositiveInteger(Integer)>numberOfDigitsInBase: 0x788faa9c: a(n) LargePositiveInteger 0xbfc50238 M IntegerTest>testNumberOfDigits 0x788ad384: a(n) IntegerTest <snip> Most recent primitives replaceFrom:to:with:startingAt: normalize + digitSubtract: basicNew: replaceFrom:to:with:startingAt: < digitCompare: digitMultiply:neg: * * digitMultiply:neg: * digitMultiply:neg: * digitMultiply:neg: * digitMultiply:neg: quo: digitDiv:neg: normalize < digitCompare: digitMultiply:neg: quo: digitDiv:neg: normalize basicNew: replaceFrom:to:with:startingAt: normalize basicNew: replaceFrom:to:with:startingAt: < digitCompare: digitMultiply:neg: * * digitMultiply:neg: * digitMultiply:neg: * digitMultiply:neg: * digitMultiply:neg: quo: digitDiv:neg: normalize < digitCompare: digitMultiply:neg: quo: digitDiv:neg: normalize basicNew: replaceFrom:to:with:startingAt: normalize - digitAdd: normalize basicNew: replaceFrom:to:with:startingAt: < digitCompare: digitMultiply:neg: * * digitMultiply:neg: * digitMultiply:neg: * digitMultiply:neg: * digitMultiply:neg: quo: digitDiv:neg: normalize < digitCompare: digitMultiply:neg: quo: digitDiv:neg: normalize digitMultiply:neg: * * digitMultiply:neg: * digitMultiply:neg: * digitMultiply:neg: * digitMultiply:neg: - digitSubtract: < digitCompare: digitMultiply:neg: * digitMultiply:neg: * digitMultiply:neg: quo: digitDiv:neg: normalize < digitCompare: digitMultiply:neg: quo: digitDiv:neg: normalize < digitCompare: digitMultiply:neg: * digitMultiply:neg: * digitMultiply:neg: quo: digitDiv:neg: normalize < digitCompare: digitMultiply:neg: quo: digitDiv:neg: normalize + digitAdd: normalize < digitCompare: digitMultiply:neg: * digitMultiply:neg: * digitMultiply:neg: quo: digitDiv:neg: normalize < digitCompare: digitMultiply:neg: quo: digitDiv:neg: normalize basicNew: replaceFrom:to:with:startingAt: normalize + digitSubtract: basicNew: replaceFrom:to:with:startingAt: < digitCompare: digitMultiply:neg: * digitMultiply:neg: * digitMultiply:neg: quo: digitDiv:neg: normalize < digitCompare: digitMultiply:neg: quo: digitDiv:neg: normalize basicNew: replaceFrom:to:with:startingAt: normalize basicNew: replaceFrom:to:with:startingAt: < digitCompare: digitMultiply:neg: * digitMultiply:neg: * digitMultiply:neg: quo: digitDiv:neg: normalize < digitCompare: digitMultiply:neg: quo: digitDiv:neg: normalize basicNew: replaceFrom:to:with:startingAt: normalize - digitAdd: normalize basicNew: replaceFrom:to:with:startingAt: < digitCompare: digitMultiply:neg: * digitMultiply:neg: * digitMultiply:neg: quo: digitDiv:neg: normalize < digitCompare: digitMultiply:neg: quo: digitDiv:neg: normalize digitMultiply:neg: * * digitMultiply:neg: * digitMultiply:neg: * digitMultiply:neg: * digitMultiply:neg: * digitMultiply:neg: - digitSubtract: < digitCompare: digitMultiply:neg: * digitMultiply:neg: * digitMultiply:neg: * digitMultiply:neg: quo: digitDiv:neg: normalize < digitCompare: digitMultiply:neg: quo: digitDiv:neg: normalize < digitCompare: digitMultiply:neg: * digitMultiply:neg: * digitMultiply:neg: * digitMultiply:neg: quo: digitDiv:neg: frank crash.dmp (293K) Download Attachment |
Interesting... How can you tell it's in LargeIntegersPlugin though? Smalltalk stack indicates that you are in super fallback code already: Integer>>quo: aNumber "Refer to the comment in Number quo: " | ng quo | aNumber isInteger ifTrue: [ng := self negative == aNumber negative == false. quo := (self digitDiv: aNumber neg: ng) at: 1. ^ quo normalize]. ^ aNumber adaptToInteger: self andSend: #quo: And the last sent primitives are strange, they do not reflect above code (nor Smalltalk fallback code of #digitDiv:neg: ...) Is it a reproducible behavior? What if we take the image produced by the build ? Nicolas 2013/3/22 Frank Shearar <[hidden email]>: > > http://build.squeak.org/job/SqueakTrunk/230/console shows a segfault > in the LargeIntegerPlugin, on Cog r.2701. I've attached the crash.dmp > because otherwise it'll potentially get overwritten by the next build. > > The interesting part of the stack is this: > > Squeak VM version: 4.0-2701 #1 Mon Mar 11 17:31:47 PDT 2013 gcc 4.1.2 > Built from: CoInterpreter VMMaker.oscog-eem.272 uuid: > 8f4167f2-5bf0-4d90-9b7f-5355c741c68f Mar 11 2013 > With: StackToRegisterMappingCogit VMMaker.oscog-eem.270 uuid: > 014f0153-bb02-49b7-b544-d8f3ac2deef6 Mar 11 2013 > Revision: VM: r2701 http://www.squeakvm.org/svn/squeak/branches/Cog > Plugins: r2545 http://squeakvm.org/svn/squeak/trunk/platforms/Cross/plugins > Build host: Linux mcqfes 2.6.18-128.el5 #1 SMP Wed Jan 21 10:44:23 EST > 2009 i686 i686 i386 GNU/Linux > plugin path: /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2701/coglinux/bin/../lib/squeak/4.0-2701 > [default: /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2701/coglinux/lib/squeak/4.0-2701/] > > > C stack backtrace: > /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2701/coglinux/bin/../lib/squeak/4.0-2701/squeak[0x805cc81] > /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2701/coglinux/bin/../lib/squeak/4.0-2701/squeak[0x805ce58] > [0xf57fe40c] > /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2701/coglinux/bin/../lib/squeak/4.0-2701/squeak[0x80e4049] > [0x773c4848] > /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2701/coglinux/bin/../lib/squeak/4.0-2701/squeak(interpret+0x1eb)[0x807ff0b] > /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2701/coglinux/bin/../lib/squeak/4.0-2701/squeak(main+0x397)[0x805d347] > /lib/i686/nosegneg/libc.so.6(__libc_start_main+0xe6)[0xb755dca6] > /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2701/coglinux/bin/../lib/squeak/4.0-2701/squeak[0x805ad41] > > > Smalltalk stack dump: > 0xbfc501c4 M LargePositiveInteger(Integer)>quo: 0x788faa9c: a(n) > LargePositiveInteger > 0xbfc501e0 M LargePositiveInteger>quo: 0x788faa9c: a(n) LargePositiveInteger > 0xbfc50208 M LargePositiveInteger(Integer)>numberOfDigitsInBase: > 0x788faa9c: a(n) LargePositiveInteger > 0xbfc50238 M IntegerTest>testNumberOfDigits 0x788ad384: a(n) IntegerTest > <snip> > Most recent primitives > replaceFrom:to:with:startingAt: > normalize > + > digitSubtract: > basicNew: > replaceFrom:to:with:startingAt: > < > digitCompare: > digitMultiply:neg: > * > * > digitMultiply:neg: > * > digitMultiply:neg: > * > digitMultiply:neg: > * > digitMultiply:neg: > quo: > digitDiv:neg: > normalize > < > digitCompare: > digitMultiply:neg: > quo: > digitDiv:neg: > normalize > basicNew: > replaceFrom:to:with:startingAt: > normalize > basicNew: > replaceFrom:to:with:startingAt: > < > digitCompare: > digitMultiply:neg: > * > * > digitMultiply:neg: > * > digitMultiply:neg: > * > digitMultiply:neg: > * > digitMultiply:neg: > quo: > digitDiv:neg: > normalize > < > digitCompare: > digitMultiply:neg: > quo: > digitDiv:neg: > normalize > basicNew: > replaceFrom:to:with:startingAt: > normalize > - > digitAdd: > normalize > basicNew: > replaceFrom:to:with:startingAt: > < > digitCompare: > digitMultiply:neg: > * > * > digitMultiply:neg: > * > digitMultiply:neg: > * > digitMultiply:neg: > * > digitMultiply:neg: > quo: > digitDiv:neg: > normalize > < > digitCompare: > digitMultiply:neg: > quo: > digitDiv:neg: > normalize > digitMultiply:neg: > * > * > digitMultiply:neg: > * > digitMultiply:neg: > * > digitMultiply:neg: > * > digitMultiply:neg: > - > digitSubtract: > < > digitCompare: > digitMultiply:neg: > * > digitMultiply:neg: > * > digitMultiply:neg: > quo: > digitDiv:neg: > normalize > < > digitCompare: > digitMultiply:neg: > quo: > digitDiv:neg: > normalize > < > digitCompare: > digitMultiply:neg: > * > digitMultiply:neg: > * > digitMultiply:neg: > quo: > digitDiv:neg: > normalize > < > digitCompare: > digitMultiply:neg: > quo: > digitDiv:neg: > normalize > + > digitAdd: > normalize > < > digitCompare: > digitMultiply:neg: > * > digitMultiply:neg: > * > digitMultiply:neg: > quo: > digitDiv:neg: > normalize > < > digitCompare: > digitMultiply:neg: > quo: > digitDiv:neg: > normalize > basicNew: > replaceFrom:to:with:startingAt: > normalize > + > digitSubtract: > basicNew: > replaceFrom:to:with:startingAt: > < > digitCompare: > digitMultiply:neg: > * > digitMultiply:neg: > * > digitMultiply:neg: > quo: > digitDiv:neg: > normalize > < > digitCompare: > digitMultiply:neg: > quo: > digitDiv:neg: > normalize > basicNew: > replaceFrom:to:with:startingAt: > normalize > basicNew: > replaceFrom:to:with:startingAt: > < > digitCompare: > digitMultiply:neg: > * > digitMultiply:neg: > * > digitMultiply:neg: > quo: > digitDiv:neg: > normalize > < > digitCompare: > digitMultiply:neg: > quo: > digitDiv:neg: > normalize > basicNew: > replaceFrom:to:with:startingAt: > normalize > - > digitAdd: > normalize > basicNew: > replaceFrom:to:with:startingAt: > < > digitCompare: > digitMultiply:neg: > * > digitMultiply:neg: > * > digitMultiply:neg: > quo: > digitDiv:neg: > normalize > < > digitCompare: > digitMultiply:neg: > quo: > digitDiv:neg: > normalize > digitMultiply:neg: > * > * > digitMultiply:neg: > * > digitMultiply:neg: > * > digitMultiply:neg: > * > digitMultiply:neg: > * > digitMultiply:neg: > - > digitSubtract: > < > digitCompare: > digitMultiply:neg: > * > digitMultiply:neg: > * > digitMultiply:neg: > * > digitMultiply:neg: > quo: > digitDiv:neg: > normalize > < > digitCompare: > digitMultiply:neg: > quo: > digitDiv:neg: > normalize > < > digitCompare: > digitMultiply:neg: > * > digitMultiply:neg: > * > digitMultiply:neg: > * > digitMultiply:neg: > quo: > digitDiv:neg: > > frank > |
It's not reproducible; we've just seen it crop up a handful of times over the last few months. Sadly, the image will have been overwritten by the next build. frank On 24 March 2013 18:19, Nicolas Cellier <[hidden email]> wrote: > > Interesting... > How can you tell it's in LargeIntegersPlugin though? > > Smalltalk stack indicates that you are in super fallback code already: > > Integer>>quo: aNumber > "Refer to the comment in Number quo: " > | ng quo | > aNumber isInteger ifTrue: > [ng := self negative == aNumber negative == false. > quo := (self digitDiv: aNumber neg: ng) at: 1. > ^ quo normalize]. > ^ aNumber adaptToInteger: self andSend: #quo: > > And the last sent primitives are strange, they do not reflect above > code (nor Smalltalk fallback code of #digitDiv:neg: ...) > > Is it a reproducible behavior? > What if we take the image produced by the build ? > > Nicolas > > 2013/3/22 Frank Shearar <[hidden email]>: >> >> http://build.squeak.org/job/SqueakTrunk/230/console shows a segfault >> in the LargeIntegerPlugin, on Cog r.2701. I've attached the crash.dmp >> because otherwise it'll potentially get overwritten by the next build. >> >> The interesting part of the stack is this: >> >> Squeak VM version: 4.0-2701 #1 Mon Mar 11 17:31:47 PDT 2013 gcc 4.1.2 >> Built from: CoInterpreter VMMaker.oscog-eem.272 uuid: >> 8f4167f2-5bf0-4d90-9b7f-5355c741c68f Mar 11 2013 >> With: StackToRegisterMappingCogit VMMaker.oscog-eem.270 uuid: >> 014f0153-bb02-49b7-b544-d8f3ac2deef6 Mar 11 2013 >> Revision: VM: r2701 http://www.squeakvm.org/svn/squeak/branches/Cog >> Plugins: r2545 http://squeakvm.org/svn/squeak/trunk/platforms/Cross/plugins >> Build host: Linux mcqfes 2.6.18-128.el5 #1 SMP Wed Jan 21 10:44:23 EST >> 2009 i686 i686 i386 GNU/Linux >> plugin path: /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2701/coglinux/bin/../lib/squeak/4.0-2701 >> [default: /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2701/coglinux/lib/squeak/4.0-2701/] >> >> >> C stack backtrace: >> /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2701/coglinux/bin/../lib/squeak/4.0-2701/squeak[0x805cc81] >> /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2701/coglinux/bin/../lib/squeak/4.0-2701/squeak[0x805ce58] >> [0xf57fe40c] >> /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2701/coglinux/bin/../lib/squeak/4.0-2701/squeak[0x80e4049] >> [0x773c4848] >> /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2701/coglinux/bin/../lib/squeak/4.0-2701/squeak(interpret+0x1eb)[0x807ff0b] >> /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2701/coglinux/bin/../lib/squeak/4.0-2701/squeak(main+0x397)[0x805d347] >> /lib/i686/nosegneg/libc.so.6(__libc_start_main+0xe6)[0xb755dca6] >> /var/lib/jenkins/workspace/SqueakTrunk/target/cog.r2701/coglinux/bin/../lib/squeak/4.0-2701/squeak[0x805ad41] >> >> >> Smalltalk stack dump: >> 0xbfc501c4 M LargePositiveInteger(Integer)>quo: 0x788faa9c: a(n) >> LargePositiveInteger >> 0xbfc501e0 M LargePositiveInteger>quo: 0x788faa9c: a(n) LargePositiveInteger >> 0xbfc50208 M LargePositiveInteger(Integer)>numberOfDigitsInBase: >> 0x788faa9c: a(n) LargePositiveInteger >> 0xbfc50238 M IntegerTest>testNumberOfDigits 0x788ad384: a(n) IntegerTest >> <snip> >> Most recent primitives >> replaceFrom:to:with:startingAt: >> normalize >> + >> digitSubtract: >> basicNew: >> replaceFrom:to:with:startingAt: >> < >> digitCompare: >> digitMultiply:neg: >> * >> * >> digitMultiply:neg: >> * >> digitMultiply:neg: >> * >> digitMultiply:neg: >> * >> digitMultiply:neg: >> quo: >> digitDiv:neg: >> normalize >> < >> digitCompare: >> digitMultiply:neg: >> quo: >> digitDiv:neg: >> normalize >> basicNew: >> replaceFrom:to:with:startingAt: >> normalize >> basicNew: >> replaceFrom:to:with:startingAt: >> < >> digitCompare: >> digitMultiply:neg: >> * >> * >> digitMultiply:neg: >> * >> digitMultiply:neg: >> * >> digitMultiply:neg: >> * >> digitMultiply:neg: >> quo: >> digitDiv:neg: >> normalize >> < >> digitCompare: >> digitMultiply:neg: >> quo: >> digitDiv:neg: >> normalize >> basicNew: >> replaceFrom:to:with:startingAt: >> normalize >> - >> digitAdd: >> normalize >> basicNew: >> replaceFrom:to:with:startingAt: >> < >> digitCompare: >> digitMultiply:neg: >> * >> * >> digitMultiply:neg: >> * >> digitMultiply:neg: >> * >> digitMultiply:neg: >> * >> digitMultiply:neg: >> quo: >> digitDiv:neg: >> normalize >> < >> digitCompare: >> digitMultiply:neg: >> quo: >> digitDiv:neg: >> normalize >> digitMultiply:neg: >> * >> * >> digitMultiply:neg: >> * >> digitMultiply:neg: >> * >> digitMultiply:neg: >> * >> digitMultiply:neg: >> - >> digitSubtract: >> < >> digitCompare: >> digitMultiply:neg: >> * >> digitMultiply:neg: >> * >> digitMultiply:neg: >> quo: >> digitDiv:neg: >> normalize >> < >> digitCompare: >> digitMultiply:neg: >> quo: >> digitDiv:neg: >> normalize >> < >> digitCompare: >> digitMultiply:neg: >> * >> digitMultiply:neg: >> * >> digitMultiply:neg: >> quo: >> digitDiv:neg: >> normalize >> < >> digitCompare: >> digitMultiply:neg: >> quo: >> digitDiv:neg: >> normalize >> + >> digitAdd: >> normalize >> < >> digitCompare: >> digitMultiply:neg: >> * >> digitMultiply:neg: >> * >> digitMultiply:neg: >> quo: >> digitDiv:neg: >> normalize >> < >> digitCompare: >> digitMultiply:neg: >> quo: >> digitDiv:neg: >> normalize >> basicNew: >> replaceFrom:to:with:startingAt: >> normalize >> + >> digitSubtract: >> basicNew: >> replaceFrom:to:with:startingAt: >> < >> digitCompare: >> digitMultiply:neg: >> * >> digitMultiply:neg: >> * >> digitMultiply:neg: >> quo: >> digitDiv:neg: >> normalize >> < >> digitCompare: >> digitMultiply:neg: >> quo: >> digitDiv:neg: >> normalize >> basicNew: >> replaceFrom:to:with:startingAt: >> normalize >> basicNew: >> replaceFrom:to:with:startingAt: >> < >> digitCompare: >> digitMultiply:neg: >> * >> digitMultiply:neg: >> * >> digitMultiply:neg: >> quo: >> digitDiv:neg: >> normalize >> < >> digitCompare: >> digitMultiply:neg: >> quo: >> digitDiv:neg: >> normalize >> basicNew: >> replaceFrom:to:with:startingAt: >> normalize >> - >> digitAdd: >> normalize >> basicNew: >> replaceFrom:to:with:startingAt: >> < >> digitCompare: >> digitMultiply:neg: >> * >> digitMultiply:neg: >> * >> digitMultiply:neg: >> quo: >> digitDiv:neg: >> normalize >> < >> digitCompare: >> digitMultiply:neg: >> quo: >> digitDiv:neg: >> normalize >> digitMultiply:neg: >> * >> * >> digitMultiply:neg: >> * >> digitMultiply:neg: >> * >> digitMultiply:neg: >> * >> digitMultiply:neg: >> * >> digitMultiply:neg: >> - >> digitSubtract: >> < >> digitCompare: >> digitMultiply:neg: >> * >> digitMultiply:neg: >> * >> digitMultiply:neg: >> * >> digitMultiply:neg: >> quo: >> digitDiv:neg: >> normalize >> < >> digitCompare: >> digitMultiply:neg: >> quo: >> digitDiv:neg: >> normalize >> < >> digitCompare: >> digitMultiply:neg: >> * >> digitMultiply:neg: >> * >> digitMultiply:neg: >> * >> digitMultiply:neg: >> quo: >> digitDiv:neg: >> >> frank >> |
Free forum by Nabble | Edit this page |