[Vm-dev] Stalled travis_tests in linux32x86

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Mon Dec 4 20:58:16 UTC 2017


Hi Fabio,
no, I opened the test image --headfull and it is blocked in tests:

MCMockPackageInfo(PackageInfo) changeRecordForOverriddenMethod:

with parameter: a MethodReference MCMethodDefinitionTest >> #override

This is invoked from MCMethodDefinition>>tearDown.

It is blocked in this infinite loop:

        [file position < (position-1)]  "then pick it up from the front"
            whileTrue: [chunk := file nextChunk].

here file position is 0, and inst. var. readLimit is 0 too...
So nextChunk invariably return '' and the position does not advance.

Why is readLimit 0???
The file is TravisCI.changes and I can open and read it normally in the
FileList.
The problem comes from SourceFiles which already has an incorrect readLimit
set to zero (image attached)

It remains to discover how this ever happened, and why only in linux...

2017-12-04 7:35 GMT+01:00 Fabio Niephaus <lists at fniephaus.com>:

>
> Hi Nicolas,
> Is it possible that this was related to this:
> http://forum.world.st/Squeak-trunk-updates-fail-td5059208.html
>
> Best,
> Fabio
>
> On Sun, 3 Dec 2017 at 11:08 am, Nicolas Cellier <nicolas.cellier.aka.nice@
> gmail.com> wrote:
>
>>
>> Hi,
>> for quite some times the travis build for linux32x86 times out during the
>> .travis_test.sh phase.
>>
>> It's very hard for me to build a 32bits vm from 64bits ubuntu (14.xx). So
>> I've tried with a 32bits VM (debian9), changed to opensmalltalk root
>> directory of my working copy, and
>>
>> export ARCH="linux32x86"
>> export FLAVOR="squeak.cog.spur"
>> export TRAVIS_BUILD_DIR=`pwd`
>> export TRAVIS_OS_NAME=linux
>> ./.travis_build.sh
>> ./.travis_test.sh
>>
>> The tests effectively seem to block with 100% CPU.
>>
>> So I performed a few stack dump via kill -USR1, and it seems that tests
>> are stuck in a very long operation, here is one of the samples:
>>
>> All Smalltalk process stacks (active first):
>> Process  0x192cda8 priority 40
>> 0xbfc67d94 M MultiByteFileStream(StandardFileStream)>basicNext
>> 0x129bdc8: a(n) MultiByteFileStream
>> 0xbfc67db0 M UTF8TextConverter>skipSeparatorsAndPeekNextFrom: 0x129bd58:
>> a(n) UTF8TextConverter
>> 0xbfc67dd0 M UTF8TextConverter>parseLangTagFor:fromStream: 0x129bd58:
>> a(n) UTF8TextConverter
>> 0xbfc67df0 M UTF8TextConverter>nextChunkFromStream: 0x129bd58: a(n)
>> UTF8TextConverter
>> 0xbfc67e0c M MultiByteFileStream>nextChunk 0x129bdc8: a(n)
>> MultiByteFileStream
>> 0xbfc67e5c M [] in MCMockPackageInfo(PackageInfo)>changeRecordsForMethod:do:
>> 0x1a265d0: a(n) MCMockPackageInfo
>> 0xbfc67e7c M BlockClosure>ensure: 0x129bf80: a(n) BlockClosure
>> 0xbfc74bb0 M MCMockPackageInfo(PackageInfo)>changeRecordsForMethod:do:
>> 0x1a265d0: a(n) MCMockPackageInfo
>> 0xbfc74bd0 M MCMockPackageInfo(PackageInfo)>
>> changeRecordForOverriddenMethod: 0x1a265d0: a(n) MCMockPackageInfo
>> 0xbfc74bec M MCMockPackageInfo(PackageInfo)>isOverrideOfYourMethod:
>> 0x1a265d0: a(n) MCMockPackageInfo
>> 0xbfc74c0c M [] in MCMockPackageInfo(PackageInfo)>overriddenMethodsDo:
>> 0x1a265d0: a(n) MCMockPackageInfo
>> 0xbfc74c30 M [] in MCMockPackageInfo(PackageInfo)>methodsInCategory:ofClass:do:
>> 0x1a265d0: a(n) MCMockPackageInfo
>> 0xbfc74c54 M Array(SequenceableCollection)>do: 0x129d178: a(n) Array
>> 0xbfc74c70 M MCMockPackageInfo(PackageInfo)>methodsInCategory:ofClass:do:
>> 0x1a265d0: a(n) MCMockPackageInfo
>> 0xbfc74c9c M [] in MCMockPackageInfo(PackageInfo)>overriddenMethodsInClass:do:
>> 0x1a265d0: a(n) MCMockPackageInfo
>> 0xbfc74cbc M [] in MCMockPackageInfo(PackageInfo)
>> >overrideCategoriesForClass:do: 0x1a265d0: a(n) MCMockPackageInfo
>> 0xbfc74ce0 M Array(SequenceableCollection)>do: 0x129aa48: a(n) Array
>> 0xbfc74cfc M MCMockPackageInfo(PackageInfo)>overrideCategoriesForClass:do:
>> 0x1a265d0: a(n) MCMockPackageInfo
>> 0xbfc74d1c M MCMockPackageInfo(PackageInfo)>overriddenMethodsInClass:do:
>> 0x1a265d0: a(n) MCMockPackageInfo
>> 0xbfc74d40 M [] in MCMockPackageInfo(PackageInfo)>allOverriddenMethodsDo:
>> 0x1a265d0: a(n) MCMockPackageInfo
>> 0xbfc74d60 M [] in MCTestCase class(Behavior)>allSubclassesDo:
>> 0x1b38d88: a(n) MCTestCase class
>> 0xbfc74d84 M Array(SequenceableCollection)>do: 0x1ae4c70: a(n) Array
>> 0xbfc74da0 M MCTestCase class(Class)>subclassesDo: 0x1b38d88: a(n)
>> MCTestCase class
>> 0xbfc74dbc M MCTestCase class(Behavior)>allSubclassesDo: 0x1b38d88: a(n)
>> MCTestCase class
>> 0xbfc74ddc M [] in TestCase class(Behavior)>allSubclassesDo: 0x1b35988:
>> a(n) TestCase class
>> 0xbfc74e00 M Array(SequenceableCollection)>do: 0x27fa510: a(n) Array
>> 0xbfc74e1c M TestCase class(Class)>subclassesDo: 0x1b35988: a(n) TestCase
>> class
>> 0xbfc74e38 M TestCase class(Behavior)>allSubclassesDo: 0x1b35988: a(n)
>> TestCase class
>> 0xbfc74e58 M [] in Object class(Behavior)>allSubclassesDo: 0x1a25910:
>> a(n) Object class
>> 0xbfc74e7c M Array(SequenceableCollection)>do: 0x1297d50: a(n) Array
>> 0xbfc6bb9c M Object class(Class)>subclassesDo: 0x1a25910: a(n) Object
>> class
>> 0xbfc6bbb8 M Object class(Behavior)>allSubclassesDo: 0x1a25910: a(n)
>> Object class
>> 0xbfc6bbd8 M [] in ProtoObject class(Behavior)>allSubclassesDo:
>> 0x1a25a98: a(n) ProtoObject class
>> 0xbfc6bbfc M Array(SequenceableCollection)>do: 0x4334a28: a(n) Array
>> 0xbfc6bc18 M ProtoObject class(Class)>subclassesDo: 0x1a25a98: a(n)
>> ProtoObject class
>> 0xbfc6bc34 M ProtoObject class(Behavior)>allSubclassesDo: 0x1a25a98:
>> a(n) ProtoObject class
>> 0xbfc6bc58 I ProtoObject class(Behavior)>withAllSubclassesDo: 0x1a25a98:
>> a(n) ProtoObject class
>> 0xbfc6bc74 M MCMockPackageInfo(PackageInfo)>allOverriddenMethodsDo:
>> 0x1a265d0: a(n) MCMockPackageInfo
>> 0xbfc6bc90 M MCMockPackageInfo(PackageInfo)>overriddenMethodsDo:
>> 0x1a265d0: a(n) MCMockPackageInfo
>> 0xbfc6bcac M [] in MCMockPackageInfo(PackageInfo)>overriddenMethods
>> 0x1a265d0: a(n) MCMockPackageInfo
>> 0xbfc6bcd0 M Array class(SequenceableCollection
>> class)>new:streamContents: 0x1a124a8: a(n) Array class
>> 0xbfc6bcf0 M Array class(SequenceableCollection class)>streamContents:
>> 0x1a124a8: a(n) Array class
>> 0xbfc6bd0c M MCMockPackageInfo(PackageInfo)>overriddenMethods 0x1a265d0:
>> a(n) MCMockPackageInfo
>> 0xbfc6bd2c M [] in MCPackage>snapshot 0x129ca58: a(n) MCPackage
>> 0xbfc6bd48 M BlockClosure>on:do: 0x129cac8: a(n) BlockClosure
>> 0xbfc6bd6c M CurrentReadOnlySourceFiles class>cacheDuring: 0x1baa718:
>> a(n) CurrentReadOnlySourceFiles class
>> 0xbfc6bd94 M MCPackage>snapshot 0x129ca58: a(n) MCPackage
>> 0xbfc6bdb4 M MCPackageLoader>updatePackage:withSnapshot: 0x129cc40: a(n)
>> MCPackageLoader
>> 0xbfc6bde0 I MCPackageLoader class>updatePackage:withSnapshot:
>> 0x1c00d30: a(n) MCPackageLoader class
>> 0xbfc6be08 I MCSnapshot>updatePackage: 0x4148418: a(n) MCSnapshot
>> 0xbfc6be2c I MCMethodDefinitionTest(MCTestCase)>restoreMocks 0x4049e20:
>> a(n) MCMethodDefinitionTest
>> 0xbfc6be44 M MCMethodDefinitionTest>tearDown 0x4049e20: a(n)
>> MCMethodDefinitionTest
>> 0xbfc6be5c M [] in MCMethodDefinitionTest(TestCase)>runCase 0x4049e20:
>> a(n) MCMethodDefinitionTest
>> 0xbfc6be7c M MethodContext(ContextPart)>resume: 0x129c2e0: a(n)
>> MethodContext
>> 0xbfc68c2c M BlockClosure>ensure: 0x129c128: a(n) BlockClosure
>> 0xbfc68c48 M MCMethodDefinitionTest(TestCase)>runCase 0x4049e20: a(n)
>> MCMethodDefinitionTest
>> 0xbfc68c60 M SCISqueakTestRunner(SCITestRunner)>basicRunCase: 0x4050a68:
>> a(n) SCISqueakTestRunner
>> 0xbfc68c80 M [] in SCISqueakTestRunner(SCITestRunner)>runCase:
>> 0x4050a68: a(n) SCISqueakTestRunner
>> 0xbfc68c9c M BlockClosure>on:do: 0x129c218: a(n) BlockClosure
>> 0xbfc68cc4 M [] in SCISqueakTestRunner(SCITestRunner)>runCase:
>> 0x4050a68: a(n) SCISqueakTestRunner
>> 0xbfc68ce0 M BlockClosure>on:do: 0x129c340: a(n) BlockClosure
>> 0xbfc68d08 M [] in SCISqueakTestRunner(SCITestRunner)>runCase:
>> 0x4050a68: a(n) SCISqueakTestRunner
>> 0xbfc68d24 M Time class>millisecondsToRun: 0x1a10700: a(n) Time class
>> 0xbfc68d40 M SmalltalkCI class>timeToRun: 0x3afeee8: a(n) SmalltalkCI
>> class
>> 0xbfc68d64 M SCISqueakTestRunner(SCITestRunner)>runCase: 0x4050a68: a(n)
>> SCISqueakTestRunner
>> 0xbfc68d80 M MCMethodDefinitionTest(TestCase)>run: 0x4049e20: a(n)
>> MCMethodDefinitionTest
>> 0xbfc68d9c M [] in SCISqueakTestRunner(SCITestRunner)>runAll 0x4050a68:
>> a(n) SCISqueakTestRunner
>> 0xbfc68dbc M OrderedCollection>do: 0x401f7f0: a(n) OrderedCollection
>> 0xbfc68de0 I SCISqueakTestRunner(SCITestRunner)>runAll 0x4050a68: a(n)
>> SCISqueakTestRunner
>> 0xbfc68df8 M [] in SCISqueakTestRunner(SCITestRunner)>run 0x4050a68:
>> a(n) SCISqueakTestRunner
>> 0xbfc68e1c I Time class>millisecondsToRun: 0x1a10700: a(n) Time class
>> 0xbfc68e40 I SmalltalkCI class>timeToRun: 0x3afeee8: a(n) SmalltalkCI
>> class
>> 0xbfc68e5c M [] in SCISqueakTestRunner(SCITestRunner)>run 0x4050a68:
>> a(n) SCISqueakTestRunner
>> 0xbfc68e7c M BlockClosure>ensure: 0x4050b80: a(n) BlockClosure
>>  0x4050c10 s SCISqueakTestRunner(SCITestRunner)>run
>>  0x41492c8 s SCISqueakTestRunner class(SCITestRunner class)>runSuite:spec:
>>  0x401e3f0 s SCISqueakTestRunner class(SCITestRunner
>> class)>runClasses:spec:
>>  0x4040da0 s SCISqueakTestRunner class(SCITestRunner class)>runSpec:
>>  0x4148790 s SmalltalkCISqueak(SmalltalkCI)>runTests
>>  0x414a428 s [] in SmalltalkCISqueak(SmalltalkCI)>basicTest
>>  0x3bab9b0 s SmalltalkCISqueak class(SmalltalkCI class)>run:spec:in:
>>  0x401e4c0 s [] in SmalltalkCISqueak(SmalltalkCI)>basicTest
>>  0x4040e00 s [] in SmalltalkCISqueak class(SmalltalkCI
>> class)>fold:on:block:
>>  0x41487f0 s Time class>millisecondsToRun:
>>  0x414a488 s SmalltalkCI class>timeToRun:
>>  0x401e560 s SmalltalkCISqueak class(SmalltalkCI class)>fold:on:block:
>>  0x4040e60 s SmalltalkCISqueak class(SmalltalkCI class)>fold:block:
>>  0x4148850 s SmalltalkCISqueak class(SmalltalkCI class)>stage:id:block:
>>  0x401e5c0 s SmalltalkCISqueak(SmalltalkCI)>basicTest
>>  0x401e620 s [] in SmalltalkCISqueak(SmalltalkCI)>test
>>  0x401da40 s BlockClosure>on:do:
>>  0x401dae0 s [] in SmalltalkCISqueak(SmalltalkCI)>test
>>  0x4040bc0 s [] in SmalltalkCISqueak class(SmalltalkCI class)>
>> withBuildStatusReportingDo:
>>  0x401db70 s BlockClosure>on:do:
>>  0x401dbe8 s SmalltalkCISqueak class(SmalltalkCI class)>
>> withBuildStatusReportingDo:
>>  0x401dc48 s SmalltalkCISqueak(SmalltalkCI)>test
>>  0x4040c20 s SmalltalkCI class>test:projectDirectory:
>>  0x41486d0 s SmalltalkCI class>test:
>>  0x401dd48 s UndefinedObject>DoIt
>>  0x401de88 s Compiler>evaluateCue:ifFail:
>>  0x401df20 s Compiler>evaluateCue:ifFail:logged:
>>  0x4040c80 s Compiler>evaluate:in:to:notifying:ifFail:logged:
>>  0x401e178 s Compiler class>evaluate:for:notifying:logged:
>>  0x4040ce0 s Compiler class>evaluate:for:logged:
>>  0x4148730 s Compiler class>evaluate:logged:
>>  0x414a3c8 s [] in ReadStream(PositionableStream)>fileInAnnouncing:
>>  0x401e1f0 s BlockClosure>on:do:
>>  0x401e268 s [] in ReadStream(PositionableStream)>fileInAnnouncing:
>>  0x4040d40 s [] in MorphicUIManager>displayProgress:at:from:to:during:
>>  0x401e2e8 s BlockClosure>on:do:
>>  0x401e360 s [] in MorphicUIManager>displayProgress:at:from:to:during:
>>  0x401d240 s BlockClosure>ensure:
>>  0x401d2f0 s MorphicUIManager>displayProgress:at:from:to:during:
>>  0x40409e0 s ProgressInitiationException>defaultResumeValue
>>  0x41484f0 s ProgressInitiationException(Exception)>resume
>>  0x414a248 s ProgressInitiationException>defaultAction
>>  0x3bab890 s UndefinedObject>handleSignal:
>>  0x401d3b8 s ProgressInitiationException(Exception)>signal
>>  0x401d418 s ProgressInitiationException>display:at:from:to:during:
>>  0x4040a40 s ProgressInitiationException class>display:at:from:to:during:
>>  0x4148550 s ByteString(String)>displayProgressAt:from:to:during:
>>  0x414a2a8 s ByteString(String)>displayProgressFrom:to:during:
>>  0x401d4a0 s ReadStream(PositionableStream)>fileInAnnouncing:
>>  0x4040aa0 s ReadStream(PositionableStream)>fileIn
>>  0x41485b0 s CodeLoader>installSourceFile:
>>  0x414a308 s [] in CodeLoader>installSourceFiles
>>  0x3bab8f0 s Array(SequenceableCollection)>do:
>>  0x401d780 s CodeLoader>installSourceFiles
>>  0x401d930 s ProjectLauncher>startUpAfterLogin
>>  0x4040b00 s ProjectLauncher>startUp
>>  0x4148610 s [] in AutoStart class>startUp:
>>  0x414a368 s WorldState>runStepMethodsIn:
>>  0x3bab950 s PasteUpMorph>runStepMethods
>>  0x401d9c8 s WorldState>doOneCycleNowFor:
>>  0x4040b60 s WorldState>doOneCycleFor:
>>  0x4148670 s PasteUpMorph>doOneCycle
>>  0x1e09b00 s [] in MorphicProject>spawnNewProcess
>>  0x1ad4dd8 s [] in BlockClosure>newProcess
>>
>> It' like MCMethodDefinitionTest>tearDown never finish (or is very very
>> long) because MCMockPackageInfo(PackageInfo)>overriddenMethods is very
>> very long.
>>
>> I don't know what is different on linux32x86 VM compared to OSX, but it
>> would be interesting to understand what's going on exactly...
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20171204/36593aec/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: exploreSourceFiles.png
Type: image/png
Size: 64542 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20171204/36593aec/attachment-0001.png>


More information about the Vm-dev mailing list