Re: [Pharo-dev] Segmentation fault Pharo 6.1 64bit vm - Ubuntu Linux - loading Metacello dependency

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-dev] Segmentation fault Pharo 6.1 64bit vm - Ubuntu Linux - loading Metacello dependency

Guillermo Polito
 
Hi,

we are experiencing the same in the 64 bit builds. The crashes happen all the time in the same build step: loading a large metacello baseline. In 32 bits the same script runs smoothly.

Just not enough time to look at it yet. Maybe somebody from the VM side can take a look. I cc vm-dev.


The crash always happens (by reading the stack) while manipulating strings/streams.

Guille


On Mon, Aug 7, 2017 at 6:23 PM, Tim Mackinnon <[hidden email]> wrote:
I just got another segmentation fault again on my Ubuntu build server - similar to the one I first reported, but further down its processing (still while loading metacello pre-reqs but further down the list of loading packages)…

Not sure if there is anything useful I can pull from the build artefacts or whether to report this somewhere useful?

Tim

Fetched -> XML-Writer-Tests-monty.37 --- http://smalltalkhub.com/mc/PharoExtras/XMLWriter/main/ --- http://smalltalkhub.com/mc/PharoExtras/XMLWriter/main/
Project: BitmapCharacterSet stable [1.2.6]
Fetched -> Collections-BitmapCharacterSet-monty.25 --- http://smalltalkhub.com/mc/PharoExtras/BitmapCharacterSet/main/ --- http://smalltalkhub.com/mc/PharoExtras/BitmapCharacterSet/main/
Project: OrderPreservingDictionary 1.3.7
Segmentation fault Mon Aug 7 16:16:38 2017


/builds/macta/PharoLambda/build/pharo-vm/lib/pharo/5.0-201707201942/pharo
Pharo VM version: 5.0-201707201942 Thu Jul 20 20:42:13 UTC 2017 gcc 4.6.3 [Production Spur 64-bit ITHB VM]
Built from: CoInterpreter VMMaker.oscog-eem.2254 uuid: 4f2c2cce-f4a2-469a-93f1-97ed941df0ad Jul 20 2017
With: StackToRegisterMappingCogit VMMaker.oscog-eem.2252 uuid: 2f3e9b0e-ecd3-4adf-b092-cce2e2587a5c Jul 20 2017
Revision: VM: 201707201942 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $ Date: Thu Jul 20 12:42:21 2017 -0700 $ Plugins: 201707201942 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $
Build host: Linux testing-gce-2c303f4c-2b90-4f17-b8b9-ec690d977073 3.13.0-115-generic #162~precise1-Ubuntu SMP Fri Mar 24 16:47:06 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
plugin path: /builds/macta/PharoLambda/build/pharo-vm/lib/pharo/5.0-201707201942 [default: /builds/macta/PharoLambda/build/pharo-vm/lib/pharo/5.0-201707201942/]


C stack backtrace & registers:
rax 0x2f1c3240 rbx 0x2f1c30d0 rcx 0x2f1c32f8 rdx 0x2f1c3188
rdi 0x2f1c2ea8 rsi 0x2f1c2ea8 rbp 0x2f1c3018 rsp 0x2f1c33b0
r8 0x2f1c28e8 r9 0x2f1c29a0 r10 0x2f1c2a58 r11 0x2f1c2b10
r12 0x2f1c2bc8 r13 0x2f1c2c80 r14 0x2f1c2d38 r15 0x2f1c2df0
rip 0x2f1c3468
*[0x7ffe2f1c3468]
/builds/macta/PharoLambda/build/pharo-vm/lib/pharo/5.0-201707201942/pharo[0x41cd91]
/builds/macta/PharoLambda/build/pharo-vm/lib/pharo/5.0-201707201942/pharo[0x41d11f]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x11670)[0x7fa38847a670]
/builds/macta/PharoLambda/build/pharo-vm/lib/pharo/5.0-201707201942/pharo[0x436452]
/builds/macta/PharoLambda/build/pharo-vm/lib/pharo/5.0-201707201942/pharo(ceBaseFrameReturn+0xc1)[0x45bec1]
[0x220124e]
[0x0]


Smalltalk stack dump:

Most recent primitives
compare:with:collated:
compare:with:collated:
at:
value
-
//
//
//
//
//
new:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
compare:with:collated:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
compare:with:collated:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
stringHash:initialHash:
compare:with:collated:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
compare:with:collated:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:

stack page bytes 8192 available headroom 5576 minimum unused headroom 5936

(Segmentation fault)
./pharo: line 11: 301 Aborted (core dumped) "$DIR"/"pharo-vm/pharo" --nodisplay "$@"

ls -lh Pharo.*
On 31 Jul 2017, at 23:23, Tim Mackinnon <[hidden email]> wrote:

Hi - I just got a seg fault on my Gitlab CI server when trying to load a metacello baseline via the st command line hander.


$ ./pharo Pharo.image --no-default-preferences --save --quit st loadLocal.st config.st "{'$AWS_ACCESS_KEY_ID'. '$AWS_SECRET_ACCESS_KEY'. '$AWS_DEFAULT_REGION'. '$S3_BUCKET'}" |& tee LoadLocal.log

Fetched -> BaselineOfLambda-cypress.1 --- filetree:///builds/macta/PharoLambda/src [:] --- filetree:///builds/macta/PharoLambda/src
Loaded -> BaselineOfLambda-cypress.1 --- filetree:///builds/macta/PharoLambda/src [:] --- filetree:///builds/macta/PharoLambda/src
Loading baseline of BaselineOfLambda...
Fetched -> BaselineOfAWS-ShoYoshida.12 --- github://newapplesho/aws-sdk-smalltalk:v1.10/pharo-repository [9149805:v1.10] --- github://newapplesho/aws-sdk-smalltalk:v1.10/pharo-repository
Loaded -> BaselineOfAWS-ShoYoshida.12 --- github://newapplesho/aws-sdk-smalltalk:v1.10/pharo-repository [9149805:v1.10] --- github://newapplesho/aws-sdk-smalltalk:v1.10/pharo-repository
Fetched -> ConfigurationOfZTimestamp-SvenVanCaekenberghe.25 --- http://mc.stfx.eu/Neo --- http://mc.stfx.eu/Neo
Loaded -> ConfigurationOfZTimestamp-SvenVanCaekenberghe.25 --- http://mc.stfx.eu/Neo --- http://mc.stfx.eu/Neo
Project: ZTimestamp stable [20]
Fetched -> ZTimestamp-SvenVanCaekenberghe.57 --- http://mc.stfx.eu/Neo --- http://mc.stfx.eu/Neo
Project: AWS baseline
Segmentation fault Mon Jul 31 22:18:27 2017


/builds/macta/PharoLambda/build/pharo-vm/lib/pharo/5.0-201707201942/pharo
Pharo VM version: 5.0-201707201942  Thu Jul 20 20:42:13 UTC 2017 gcc 4.6.3 [Production Spur 64-bit ITHB VM]
Built from: CoInterpreter VMMaker.oscog-eem.2254 uuid: 4f2c2cce-f4a2-469a-93f1-97ed941df0ad Jul 20 2017
With: StackToRegisterMappingCogit VMMaker.oscog-eem.2252 uuid: 2f3e9b0e-ecd3-4adf-b092-cce2e2587a5c Jul 20 2017
Revision: VM: 201707201942 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $ Date: Thu Jul 20 12:42:21 2017 -0700 $ Plugins: 201707201942 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $
Build host: Linux testing-gce-2c303f4c-2b90-4f17-b8b9-ec690d977073 3.13.0-115-generic #162~precise1-Ubuntu SMP Fri Mar 24 16:47:06 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
plugin path: /builds/macta/PharoLambda/build/pharo-vm/lib/pharo/5.0-201707201942 [default: /builds/macta/PharoLambda/build/pharo-vm/lib/pharo/5.0-201707201942/]


C stack backtrace & registers:
rax 0xa41278c0 rbx 0xa4127750 rcx 0xa4127978 rdx 0xa4127808
rdi 0xa4127528 rsi 0xa4127528 rbp 0xa4127698 rsp 0xa4127a30
r8  0xa4126f68 r9  0xa4127020 r10 0xa41270d8 r11 0xa4127190
r12 0xa4127248 r13 0xa4127300 r14 0xa41273b8 r15 0xa4127470
rip 0xa4127ae8
*[0x7fffa4127ae8]
/builds/macta/PharoLambda/build/pharo-vm/lib/pharo/5.0-201707201942/pharo[0x41cd91]
/builds/macta/PharoLambda/build/pharo-vm/lib/pharo/5.0-201707201942/pharo[0x41d11f]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x11670)[0x7efe11ad9670]
/builds/macta/PharoLambda/build/pharo-vm/lib/pharo/5.0-201707201942/pharo[0x43645f]
/builds/macta/PharoLambda/build/pharo-vm/lib/pharo/5.0-201707201942/pharo(ceBaseFrameReturn+0xc1)[0x45bec1]
[0x260124e]
[0x0]


Smalltalk stack dump:

Most recent primitives
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
basicAtLeast:
basicAtLeast:
new:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
compare:with:collated:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
compare:with:collated:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
compare:with:collated:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
compare:with:collated:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:

stack page bytes 8192 available headroom 5576 minimum unused headroom 5976


The script being run was - and it seg’d on the first Metacello invocation when reading in a dependent spec.

"CmdLine script to load project"

| stdout |
stdout := FileStream stdout
wantsLineEndConversion: true;
converter;
yourself.

"Add missing STON dependency in minimal image"
Smalltalk at: #STON ifAbsent: [
stdout nextPutAll: 'Loading missing STON'; cr.
Gofer new
url: 'http://ss3.gemstone.com/ss/STON';
package: 'STON-Core';
load.

"Fix-up issue with Undeclared not firing a change in minimal image"
{ MCFileTreeRepository. MCFileTreeStCypressReader. MCFileTreeAbstractReader } do: [:c | c compileAll ]
].

"Create a stub TestCase (if needed) for packages not minimally defined"
Smalltalk at: #TestCase ifAbsent: [
stdout nextPutAll: 'Creating missing TestCase'; cr.
Object subclass: #TestCase ].

Metacello new
repository: 'filetree://../src';
baseline: 'Lambda';
load.

Metacello new
repository: 'filetree://../src';
baseline: 'LambdaRuntime';
load.

Smalltalk at: #IceRepositoriesBrowser ifPresent: [ :i |
stdout nextPutAll: 'Removing rogue ', i name; cr.
i allInstances do: [:b | b become: String new ]].

Smalltalk at: #OmSessionStore ifPresent: [ :i |
stdout nextPutAll: 'Unregistering ', i name; cr.
SessionManager default unregisterClassNamed: i name ].

SmalltalkImage current garbageCollect.






--

   

Guille Polito


Research Engineer

French National Center for Scientific Research - http://www.cnrs.fr



Web: http://guillep.github.io

Phone: +33 06 52 70 66 13