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

Guillermo Polito guillermopolito at gmail.com
Mon Aug 7 18:01:52 UTC 2017


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.

https://ci.inria.fr/pharo-ci-jenkins2/job/test%20multibranch%20pipeline/view/change-requests/job/PR-183/1/consoleFull

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

Guille


On Mon, Aug 7, 2017 at 6:23 PM, Tim Mackinnon <tim at testit.works> 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 <tim at testit.works> 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 <http://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*
<http://www.cnrs.fr>



*Web:* *http://guillep.github.io* <http://guillep.github.io>

*Phone: *+33 06 52 70 66 13
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20170807/c53a4b2f/attachment-0001.html>


More information about the Vm-dev mailing list