new Cog VMs

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
37 messages Options
12
Reply | Threaded
Open this post in threaded view
|

new Cog VMs

Eliot Miranda-2
Hi All,

     I've released a new version of Cog that has a substantially improved code generator along the lines of Peter Deutsch's HPS (VisualWorks) and various of Ian Piumarta's VMs.  These all use a simple tecnique to identify constant references in bytecode and to support a register-based calling convention.  While this does produce faster code it tends to accelerate low-level code much more than high-level code as you can see by the following benchmarks:

SimpleStackBasedCogit: [1 to: 100000000 do: [:i|]] timeToRun 691
StackToRegisterMappingCogit: [1 to: 100000000 do: [:i|]] timeToRun 192
192 - 691 / 6.91 -72%

SimpleStackBasedCogit: 0 tinyBenchmarks '753495217 bytecodes/sec; 64769127 sends/sec'
StackToRegisterMappingCogit: 0 tinyBenchmarks '931756141 bytecodes/sec; 128157989 sends/sec'
931756141 - 753495217 / 7534952.17 -24%
128157989 - 64769127 / 647691.27 -98%

SimpleStackBasedCogit: [Compiler recompileAll] timeToRun 47013 (no transcript
StackToRegisterMappingCogit: [Compiler recompileAll] timeToRun 43406 (no transcript)
43406 - 47013 / 470.13 -7.67234594686576

The status of this code is essentially beta.  The test suite runs the same on the new code generator as on the old, but I think there are still bugs because I get the occasional transient error.  I am therefore very interested in any reproducible errors you can find.

The VMs (http://www.mirandabanda.org/files/Cog/VM/VM.r2334/) contain a few other important changes: 

- a bug fix to bytecode<->native pc mappng that produced incorrect results for methods containing blocks with ^-returns in them.  One symptom is incorrect highlighting of the pc in the debugger, althoguh symptoms could be much serious.

- jitting interpreted methods on backward branches.  Currently any interpreted method that performs more than 20 backward branches will be considered for JIT compilation and if it is suitable (default, <= 60 literals) will be compiled to native code.

- new callback support.  I need to commit some changes to the Alien package to provide access to this but essentially the VM's callback support is now able to be ported to architectures with register-based calling conventions (ARM, PowerPC, SPARC etc).  I'll try and get the Alien code released soon, and to back-port the changes to the standard VM before the end of the holiday.

One thing that is still /not/ fixed is the lack of a SoundPlugin on win32.  Apologies.  I'll try and get a fix for this before the end of the holidays too, but time might be too tight.  There are other priorities such as harmonising the standard and Cog VMs for the 4.2 release.

best
Eliot

Reply | Threaded
Open this post in threaded view
|

Re: [Vm-dev] new Cog VMs

solar_sea
Hi Eliot,
Thanks for the new version!

And here's the first bug report, reproducible :)

http://dl.dropbox.com/u/17707726/image.tar.xz
Using this image (pharo 1.1.1 from Lukas' hudson with omnibrowser &
friends & seaside loaded, pharov10.sources) - opening the settings
from the world menu crashes the VM. The output is named 'out1' in the
same archive.

Regards,
Stanislav Paskalev



On Fri, Dec 31, 2010 at 4:02 AM, Eliot Miranda <[hidden email]> wrote:

>
> Hi All,
>      I've released a new version of Cog that has a substantially improved code generator along the lines of Peter Deutsch's HPS (VisualWorks) and various of Ian Piumarta's VMs.  These all use a simple tecnique to identify constant references in bytecode and to support a register-based calling convention.  While this does produce faster code it tends to accelerate low-level code much more than high-level code as you can see by the following benchmarks:
> SimpleStackBasedCogit: [1 to: 100000000 do: [:i|]] timeToRun 691
> StackToRegisterMappingCogit: [1 to: 100000000 do: [:i|]] timeToRun 192
> 192 - 691 / 6.91 -72%
> SimpleStackBasedCogit: 0 tinyBenchmarks '753495217 bytecodes/sec; 64769127 sends/sec'
> StackToRegisterMappingCogit: 0 tinyBenchmarks '931756141 bytecodes/sec; 128157989 sends/sec'
> 931756141 - 753495217 / 7534952.17 -24%
> 128157989 - 64769127 / 647691.27 -98%
> SimpleStackBasedCogit: [Compiler recompileAll] timeToRun 47013 (no transcript
> StackToRegisterMappingCogit: [Compiler recompileAll] timeToRun 43406 (no transcript)
> 43406 - 47013 / 470.13 -7.67234594686576
> The status of this code is essentially beta.  The test suite runs the same on the new code generator as on the old, but I think there are still bugs because I get the occasional transient error.  I am therefore very interested in any reproducible errors you can find.
> The VMs (http://www.mirandabanda.org/files/Cog/VM/VM.r2334/) contain a few other important changes:
> - a bug fix to bytecode<->native pc mappng that produced incorrect results for methods containing blocks with ^-returns in them.  One symptom is incorrect highlighting of the pc in the debugger, althoguh symptoms could be much serious.
> - jitting interpreted methods on backward branches.  Currently any interpreted method that performs more than 20 backward branches will be considered for JIT compilation and if it is suitable (default, <= 60 literals) will be compiled to native code.
> - new callback support.  I need to commit some changes to the Alien package to provide access to this but essentially the VM's callback support is now able to be ported to architectures with register-based calling conventions (ARM, PowerPC, SPARC etc).  I'll try and get the Alien code released soon, and to back-port the changes to the standard VM before the end of the holiday.
> One thing that is still /not/ fixed is the lack of a SoundPlugin on win32.  Apologies.  I'll try and get a fix for this before the end of the holidays too, but time might be too tight.  There are other priorities such as harmonising the standard and Cog VMs for the 4.2 release.
> best
> Eliot
>
>

Reply | Threaded
Open this post in threaded view
|

Re: [Vm-dev] new Cog VMs

David T. Lewis
In reply to this post by Eliot Miranda-2
On Thu, Dec 30, 2010 at 06:02:36PM -0800, Eliot Miranda wrote:
>  
> Hi All,
>
>      I've released a new version of Cog that has a substantially improved
> code generator along the lines of Peter Deutsch's HPS (VisualWorks) and
> various of Ian Piumarta's VMs.

This is very impressive - thank you!

Dave


Reply | Threaded
Open this post in threaded view
|

Re: new Cog VMs

Eliot Miranda-2
In reply to this post by Eliot Miranda-2
Hi All,

    thanks to everyone finding bug cases.  Please keep it up.  I'm anxious to find a reproducible case for a crash in (what I thought was fixed) bytecode to machine code pc mapping with the r2333 VMs which has a stack trace like the following:

Thread 0 Crashed:  Dispatch queue: com.apple.main-thread
0   com.teleplace.Teleplace         0x000b8ca6 mapForbcpcperformUntilarg + 166 (cogit.c:10929)
1   com.teleplace.Teleplace         0x000b8f3c mcPCForstartBcpcin + 44 (cogit.c:11480)

I get it only intermittently (ironically when pushing out a new version of the VM sources) and would love to find a reproducible case.  So if anyone sees this I'd be indebted if you could spend some time trying to make it easily reproducible.

TIA
Eliot

On Thu, Dec 30, 2010 at 6:02 PM, Eliot Miranda <[hidden email]> wrote:
Hi All,

     I've released a new version of Cog that has a substantially improved code generator along the lines of Peter Deutsch's HPS (VisualWorks) and various of Ian Piumarta's VMs.  These all use a simple tecnique to identify constant references in bytecode and to support a register-based calling convention.  While this does produce faster code it tends to accelerate low-level code much more than high-level code as you can see by the following benchmarks:

SimpleStackBasedCogit: [1 to: 100000000 do: [:i|]] timeToRun 691
StackToRegisterMappingCogit: [1 to: 100000000 do: [:i|]] timeToRun 192
192 - 691 / 6.91 -72%

SimpleStackBasedCogit: 0 tinyBenchmarks '753495217 bytecodes/sec; 64769127 sends/sec'
StackToRegisterMappingCogit: 0 tinyBenchmarks '931756141 bytecodes/sec; 128157989 sends/sec'
931756141 - 753495217 / 7534952.17 -24%
128157989 - 64769127 / 647691.27 -98%

SimpleStackBasedCogit: [Compiler recompileAll] timeToRun 47013 (no transcript
StackToRegisterMappingCogit: [Compiler recompileAll] timeToRun 43406 (no transcript)
43406 - 47013 / 470.13 -7.67234594686576

The status of this code is essentially beta.  The test suite runs the same on the new code generator as on the old, but I think there are still bugs because I get the occasional transient error.  I am therefore very interested in any reproducible errors you can find.

The VMs (http://www.mirandabanda.org/files/Cog/VM/VM.r2334/) contain a few other important changes: 

- a bug fix to bytecode<->native pc mappng that produced incorrect results for methods containing blocks with ^-returns in them.  One symptom is incorrect highlighting of the pc in the debugger, althoguh symptoms could be much serious.

- jitting interpreted methods on backward branches.  Currently any interpreted method that performs more than 20 backward branches will be considered for JIT compilation and if it is suitable (default, <= 60 literals) will be compiled to native code.

- new callback support.  I need to commit some changes to the Alien package to provide access to this but essentially the VM's callback support is now able to be ported to architectures with register-based calling conventions (ARM, PowerPC, SPARC etc).  I'll try and get the Alien code released soon, and to back-port the changes to the standard VM before the end of the holiday.

One thing that is still /not/ fixed is the lack of a SoundPlugin on win32.  Apologies.  I'll try and get a fix for this before the end of the holidays too, but time might be too tight.  There are other priorities such as harmonising the standard and Cog VMs for the 4.2 release.

best
Eliot


Reply | Threaded
Open this post in threaded view
|

Re: new Cog VMs

Eliot Miranda-2
ignore this one.  I have the patient on the table...

On Fri, Dec 31, 2010 at 12:25 PM, Eliot Miranda <[hidden email]> wrote:
Hi All,

    thanks to everyone finding bug cases.  Please keep it up.  I'm anxious to find a reproducible case for a crash in (what I thought was fixed) bytecode to machine code pc mapping with the r2333 VMs which has a stack trace like the following:

Thread 0 Crashed:  Dispatch queue: com.apple.main-thread
0   com.teleplace.Teleplace         0x000b8ca6 mapForbcpcperformUntilarg + 166 (cogit.c:10929)
1   com.teleplace.Teleplace         0x000b8f3c mcPCForstartBcpcin + 44 (cogit.c:11480)

I get it only intermittently (ironically when pushing out a new version of the VM sources) and would love to find a reproducible case.  So if anyone sees this I'd be indebted if you could spend some time trying to make it easily reproducible.

TIA
Eliot

On Thu, Dec 30, 2010 at 6:02 PM, Eliot Miranda <[hidden email]> wrote:
Hi All,

     I've released a new version of Cog that has a substantially improved code generator along the lines of Peter Deutsch's HPS (VisualWorks) and various of Ian Piumarta's VMs.  These all use a simple tecnique to identify constant references in bytecode and to support a register-based calling convention.  While this does produce faster code it tends to accelerate low-level code much more than high-level code as you can see by the following benchmarks:

SimpleStackBasedCogit: [1 to: 100000000 do: [:i|]] timeToRun 691
StackToRegisterMappingCogit: [1 to: 100000000 do: [:i|]] timeToRun 192
192 - 691 / 6.91 -72%

SimpleStackBasedCogit: 0 tinyBenchmarks '753495217 bytecodes/sec; 64769127 sends/sec'
StackToRegisterMappingCogit: 0 tinyBenchmarks '931756141 bytecodes/sec; 128157989 sends/sec'
931756141 - 753495217 / 7534952.17 -24%
128157989 - 64769127 / 647691.27 -98%

SimpleStackBasedCogit: [Compiler recompileAll] timeToRun 47013 (no transcript
StackToRegisterMappingCogit: [Compiler recompileAll] timeToRun 43406 (no transcript)
43406 - 47013 / 470.13 -7.67234594686576

The status of this code is essentially beta.  The test suite runs the same on the new code generator as on the old, but I think there are still bugs because I get the occasional transient error.  I am therefore very interested in any reproducible errors you can find.

The VMs (http://www.mirandabanda.org/files/Cog/VM/VM.r2334/) contain a few other important changes: 

- a bug fix to bytecode<->native pc mappng that produced incorrect results for methods containing blocks with ^-returns in them.  One symptom is incorrect highlighting of the pc in the debugger, althoguh symptoms could be much serious.

- jitting interpreted methods on backward branches.  Currently any interpreted method that performs more than 20 backward branches will be considered for JIT compilation and if it is suitable (default, <= 60 literals) will be compiled to native code.

- new callback support.  I need to commit some changes to the Alien package to provide access to this but essentially the VM's callback support is now able to be ported to architectures with register-based calling conventions (ARM, PowerPC, SPARC etc).  I'll try and get the Alien code released soon, and to back-port the changes to the standard VM before the end of the holiday.

One thing that is still /not/ fixed is the lack of a SoundPlugin on win32.  Apologies.  I'll try and get a fix for this before the end of the holidays too, but time might be too tight.  There are other priorities such as harmonising the standard and Cog VMs for the 4.2 release.

best
Eliot



Reply | Threaded
Open this post in threaded view
|

Re: new Cog VMs

Philippe Marschall-2-3
In reply to this post by Eliot Miranda-2
On 31.12.2010 03:02, Eliot Miranda wrote:

>  
>
>
>
> Hi All,
>
>      I've released a new version of Cog that has a substantially
> improved code generator along the lines of Peter Deutsch's HPS
> (VisualWorks) and various of Ian Piumarta's VMs.  These all use a simple
> tecnique to identify constant references in bytecode and to support a
> register-based calling convention.  While this does produce faster code
> it tends to accelerate low-level code much more than high-level code as
> you can see by the following benchmarks:
>
> SimpleStackBasedCogit: [1 to: 100000000 do: [:i|]] timeToRun 691
> StackToRegisterMappingCogit: [1 to: 100000000 do: [:i|]] timeToRun 192
> 192 - 691 / 6.91 -72%
>
> SimpleStackBasedCogit: 0 tinyBenchmarks '753495217 bytecodes/sec;
> 64769127 sends/sec'
> StackToRegisterMappingCogit: 0 tinyBenchmarks '931756141 bytecodes/sec;
> 128157989 sends/sec'
> 931756141 - 753495217 / 7534952.17 -24%
> 128157989 - 64769127 / 647691.27 -98%
>
> SimpleStackBasedCogit: [Compiler recompileAll] timeToRun 47013 (no
> transcript
> StackToRegisterMappingCogit: [Compiler recompileAll] timeToRun 43406 (no
> transcript)
> 43406 - 47013 / 470.13 -7.67234594686576
>
> The status of this code is essentially beta.  The test suite runs the
> same on the new code generator as on the old, but I think there are
> still bugs because I get the occasional transient error.  I am therefore
> very interested in any reproducible errors you can find.
>
> The VMs (http://www.mirandabanda.org/files/Cog/VM/VM.r2334/) contain a
> few other important changes:
>
> - a bug fix to bytecode<->native pc mappng that produced incorrect
> results for methods containing blocks with ^-returns in them.  One
> symptom is incorrect highlighting of the pc in the debugger, althoguh
> symptoms could be much serious.
>
> - jitting interpreted methods on backward branches.  Currently any
> interpreted method that performs more than 20 backward branches will be
> considered for JIT compilation and if it is suitable (default, <= 60
> literals) will be compiled to native code.
>
> - new callback support.  I need to commit some changes to the Alien
> package to provide access to this but essentially the VM's callback
> support is now able to be ported to architectures with register-based
> calling conventions (ARM, PowerPC, SPARC etc).  I'll try and get the
> Alien code released soon, and to back-port the changes to the standard
> VM before the end of the holiday.
>
> One thing that is still /not/ fixed is the lack of a SoundPlugin on
> win32.  Apologies.  I'll try and get a fix for this before the end of
> the holidays too, but time might be too tight.  There are other
> priorities such as harmonising the standard and Cog VMs for the 4.2 release.

I gave it a short test with the latest Seaside.

First the good news, I seem to get an average performance improvement of
about 10%.

However in some very rare cases the temps seem to be mixed up the very
first time a method is executed and fine afterwards. For example in the
method below when the div 'bench' is created. The very first time it is
executed #div is sent to a BlockClosure, the next time it is fine. This
is reproducible, if I recompile the package or restart the image it
happens again the first time and is fine afterwards.

I don't know how I can provide more information but I could upload the
image somewhere.


renderInline: aBlock factor: factor key: key on: html
        | startTime endTime count backColor anAssociation title referenceValue
spi context document renderer stream runTime |
        count := 0.
        runTime := 200.
        anAssociation := referenceDict
                at: key
                ifAbsent: [ 'Undefined' -> 100000 ].
        title := anAssociation key.
        referenceValue := anAssociation value.
        stream := WriteStream on: String new.
        document := builder documentClass
                on: stream
                codec: builder codec.
        context := WARenderContext new.
        context document: document.
        context
                actionUrl: builder actionUrl;
                resourceUrl: builder resourceUrl.
        renderer := builder rendererClass context: context.
        builder
                openDocument: document
                context: context.
        html div
                class: 'bench';
                with:
                        [ html heading: title.
                        startTime := Time millisecondClockValue.
                        endTime := startTime + runTime.
                        [ Time millisecondClockValue < endTime ] whileTrue:
                                [ count := count + 1.
                                renderer
                                        render: aBlock;
                                        flush ] ].
        builder closeDocument: document.
        spi := (count / referenceValue * (10000 / runTime)) rounded.
        backColor := spi > 100
                ifTrue: [ '#5f5' ]
                ifFalse:
                        [ spi < 50
                                ifTrue: [ '#f55' ]
                                ifFalse: [ '#55f' ] ].
        duration := duration + spi.
        html div
                style: 'float:left;padding:4px';
                with:
                        [ html big: spi greaseString , ' SPI'.
                        html span
                                class: 'iteration';
                                with: '(' , count greaseString , ' iterations)'.
                        html break.
                        html div
                                class: 'rect';
                                style: 'background:' , backColor , ';width:' , (spi * 2)
greaseString , 'px' ].
        html div style: 'clear:both'

Cheers
Philippe


Reply | Threaded
Open this post in threaded view
|

Re: new Cog VMs

Eliot Miranda-2
Hi Philippe,

On Sat, Jan 1, 2011 at 4:06 AM, Philippe Marschall <[hidden email]> wrote:
On 31.12.2010 03:02, Eliot Miranda wrote:
>
>
>
>
> Hi All,
>
>      I've released a new version of Cog that has a substantially
> improved code generator along the lines of Peter Deutsch's HPS
> (VisualWorks) and various of Ian Piumarta's VMs.  These all use a simple
> tecnique to identify constant references in bytecode and to support a
> register-based calling convention.  While this does produce faster code
> it tends to accelerate low-level code much more than high-level code as
> you can see by the following benchmarks:
>
> SimpleStackBasedCogit: [1 to: 100000000 do: [:i|]] timeToRun 691
> StackToRegisterMappingCogit: [1 to: 100000000 do: [:i|]] timeToRun 192
> 192 - 691 / 6.91 -72%
>
> SimpleStackBasedCogit: 0 tinyBenchmarks '753495217 bytecodes/sec;
> 64769127 sends/sec'
> StackToRegisterMappingCogit: 0 tinyBenchmarks '931756141 bytecodes/sec;
> 128157989 sends/sec'
> 931756141 - 753495217 / 7534952.17 -24%
> 128157989 - 64769127 / 647691.27 -98%
>
> SimpleStackBasedCogit: [Compiler recompileAll] timeToRun 47013 (no
> transcript
> StackToRegisterMappingCogit: [Compiler recompileAll] timeToRun 43406 (no
> transcript)
> 43406 - 47013 / 470.13 -7.67234594686576
>
> The status of this code is essentially beta.  The test suite runs the
> same on the new code generator as on the old, but I think there are
> still bugs because I get the occasional transient error.  I am therefore
> very interested in any reproducible errors you can find.
>
> The VMs (http://www.mirandabanda.org/files/Cog/VM/VM.r2334/) contain a
> few other important changes:
>
> - a bug fix to bytecode<->native pc mappng that produced incorrect
> results for methods containing blocks with ^-returns in them.  One
> symptom is incorrect highlighting of the pc in the debugger, althoguh
> symptoms could be much serious.
>
> - jitting interpreted methods on backward branches.  Currently any
> interpreted method that performs more than 20 backward branches will be
> considered for JIT compilation and if it is suitable (default, <= 60
> literals) will be compiled to native code.
>
> - new callback support.  I need to commit some changes to the Alien
> package to provide access to this but essentially the VM's callback
> support is now able to be ported to architectures with register-based
> calling conventions (ARM, PowerPC, SPARC etc).  I'll try and get the
> Alien code released soon, and to back-port the changes to the standard
> VM before the end of the holiday.
>
> One thing that is still /not/ fixed is the lack of a SoundPlugin on
> win32.  Apologies.  I'll try and get a fix for this before the end of
> the holidays too, but time might be too tight.  There are other
> priorities such as harmonising the standard and Cog VMs for the 4.2 release.

I gave it a short test with the latest Seaside.

First the good news, I seem to get an average performance improvement of
about 10%.

However in some very rare cases the temps seem to be mixed up the very
first time a method is executed and fine afterwards. For example in the
method below when the div 'bench' is created. The very first time it is
executed #div is sent to a BlockClosure, the next time it is fine. This
is reproducible, if I recompile the package or restart the image it
happens again the first time and is fine afterwards.

I'm very interested in this because the way I've implemented the register based calling convention means that arguments and the return pc get rearranged at various places and typically activation code takes an alternate path the first time.  So this seems indicative of a bug I would expect.

I don't know how I can provide more information but I could upload the
image somewhere.

Please do.  You can provide me with a URL.  But also provide idiot instructions for reproducing the issue, e.g. a workspace expression or a carefully detailed set of user interface actions.  Ideally (for me :) ) you'll produce an image that demonstrates the error on startup.  e.g. by using the pattern

    Smalltalk saveAs.
    MyClass doSomething

So that MyClass doSomething gets performed immediately on startup.

Thanks!

Eliot


renderInline: aBlock factor: factor key: key on: html
       | startTime endTime count backColor anAssociation title referenceValue
spi context document renderer stream runTime |
       count := 0.
       runTime := 200.
       anAssociation := referenceDict
               at: key
               ifAbsent: [ 'Undefined' -> 100000 ].
       title := anAssociation key.
       referenceValue := anAssociation value.
       stream := WriteStream on: String new.
       document := builder documentClass
               on: stream
               codec: builder codec.
       context := WARenderContext new.
       context document: document.
       context
               actionUrl: builder actionUrl;
               resourceUrl: builder resourceUrl.
       renderer := builder rendererClass context: context.
       builder
               openDocument: document
               context: context.
       html div
               class: 'bench';
               with:
                       [ html heading: title.
                       startTime := Time millisecondClockValue.
                       endTime := startTime + runTime.
                       [ Time millisecondClockValue < endTime ] whileTrue:
                               [ count := count + 1.
                               renderer
                                       render: aBlock;
                                       flush ] ].
       builder closeDocument: document.
       spi := (count / referenceValue * (10000 / runTime)) rounded.
       backColor := spi > 100
               ifTrue: [ '#5f5' ]
               ifFalse:
                       [ spi < 50
                               ifTrue: [ '#f55' ]
                               ifFalse: [ '#55f' ] ].
       duration := duration + spi.
       html div
               style: 'float:left;padding:4px';
               with:
                       [ html big: spi greaseString , ' SPI'.
                       html span
                               class: 'iteration';
                               with: '(' , count greaseString , ' iterations)'.
                       html break.
                       html div
                               class: 'rect';
                               style: 'background:' , backColor , ';width:' , (spi * 2)
greaseString , 'px' ].
       html div style: 'clear:both'

Cheers
Philippe



Reply | Threaded
Open this post in threaded view
|

Re: new Cog VMs

Eliot Miranda-2
In reply to this post by Eliot Miranda-2
Hi All,

   there are new versions of both the SimpleStackBasedCogit and the StackToRegisterMappingCogit Cog VMs in VM.r2337/ & VM.r2338/ respectively.  These contain fixes for another bad pc mapping bug that could cause hard crashes when jitting on a backward branch in a looping interpreted method.  If you're trying to reproduce Cog crashes please upgrade to one of tthese two VMs.

TIA
and happy new 2011, P.S.  according to an FBF
RT @dpp RT @giuliodeluise 2011 is a prime number & the sum of 11 consecutive prime numbers: 2011=157+163+167+173+179+181+191+193+197+199+211

Eliot

On Thu, Dec 30, 2010 at 6:02 PM, Eliot Miranda <[hidden email]> wrote:
Hi All,

     I've released a new version of Cog that has a substantially improved code generator along the lines of Peter Deutsch's HPS (VisualWorks) and various of Ian Piumarta's VMs.  These all use a simple tecnique to identify constant references in bytecode and to support a register-based calling convention.  While this does produce faster code it tends to accelerate low-level code much more than high-level code as you can see by the following benchmarks:

SimpleStackBasedCogit: [1 to: 100000000 do: [:i|]] timeToRun 691
StackToRegisterMappingCogit: [1 to: 100000000 do: [:i|]] timeToRun 192
192 - 691 / 6.91 -72%

SimpleStackBasedCogit: 0 tinyBenchmarks '753495217 bytecodes/sec; 64769127 sends/sec'
StackToRegisterMappingCogit: 0 tinyBenchmarks '931756141 bytecodes/sec; 128157989 sends/sec'
931756141 - 753495217 / 7534952.17 -24%
128157989 - 64769127 / 647691.27 -98%

SimpleStackBasedCogit: [Compiler recompileAll] timeToRun 47013 (no transcript
StackToRegisterMappingCogit: [Compiler recompileAll] timeToRun 43406 (no transcript)
43406 - 47013 / 470.13 -7.67234594686576

The status of this code is essentially beta.  The test suite runs the same on the new code generator as on the old, but I think there are still bugs because I get the occasional transient error.  I am therefore very interested in any reproducible errors you can find.

The VMs (http://www.mirandabanda.org/files/Cog/VM/VM.r2334/) contain a few other important changes: 

- a bug fix to bytecode<->native pc mappng that produced incorrect results for methods containing blocks with ^-returns in them.  One symptom is incorrect highlighting of the pc in the debugger, althoguh symptoms could be much serious.

- jitting interpreted methods on backward branches.  Currently any interpreted method that performs more than 20 backward branches will be considered for JIT compilation and if it is suitable (default, <= 60 literals) will be compiled to native code.

- new callback support.  I need to commit some changes to the Alien package to provide access to this but essentially the VM's callback support is now able to be ported to architectures with register-based calling conventions (ARM, PowerPC, SPARC etc).  I'll try and get the Alien code released soon, and to back-port the changes to the standard VM before the end of the holiday.

One thing that is still /not/ fixed is the lack of a SoundPlugin on win32.  Apologies.  I'll try and get a fix for this before the end of the holidays too, but time might be too tight.  There are other priorities such as harmonising the standard and Cog VMs for the 4.2 release.

best
Eliot


Reply | Threaded
Open this post in threaded view
|

Re: new Cog VMs

Igor Stasenko
In reply to this post by Eliot Miranda-2
I built fresh Cog VM using cmake configs.

Pharo 1.2 tests still crashing with segfault. Here the stack dump:

0xbff638f0 M CompiledMethod(Object)>becomeForward: 461278460: a(n)
CompiledMethod
0xbff63914 M CompiledMethod>setSourcePointer: 461278460: a(n) CompiledMethod
0xbff63930 M CompiledMethod>setSourcePosition:inFile: 461278460: a(n)
CompiledMethod
0xbff63958 M CompiledMethod>putSource:fromParseNode:inFile:withPreamble:
461278460: a(n) CompiledMethod
0xbff63988 M ClassTrait(TraitBehavior)>addTraitSelector:withMethod:
460086116: a(n) ClassTrait
0xbff639b4 M [] in
ClassTrait(TraitBehavior)>updateMethodDictionarySelector: 460086116:
a(n) ClassTrait
0xbff639d4 M OrderedCollection>do: 461255108: a(n) OrderedCollection
0xbff639f8 M ClassTrait(TraitBehavior)>updateMethodDictionarySelector:
460086116: a(n) ClassTrait
0xbff63a1c M [] in ClassTrait(TraitBehavior)>noteChangedSelectors:
460086116: a(n) ClassTrait
0xbff63a3c M [] in IdentitySet(Set)>do: 461251388: a(n) IdentitySet
0xbff63a60 M Array(SequenceableCollection)>do: 461251400: a(n) Array
0xbff63a7c M IdentitySet(Set)>do: 461251388: a(n) IdentitySet
0xbff63a9c M ClassTrait(TraitBehavior)>noteChangedSelectors:
460086116: a(n) ClassTrait
0xbff63ac4 I ClassTrait(TraitBehavior)>applyChangesOfNewTraitCompositionReplacing:
460086116: a(n) ClassTrait
0xbff63aec I ClassTrait(TraitDescription)>applyChangesOfNewTraitCompositionReplacing:
460086116: a(n) ClassTrait
0xbff63b14 I ClassTrait(TraitBehavior)>setTraitComposition: 460086116:
a(n) ClassTrait
0xbff63b40 I ClassTrait>noteNewBaseTraitCompositionApplied: 460086116:
a(n) ClassTrait
0xbff63b68 I Trait>applyChangesOfNewTraitCompositionReplacing:
460085756: a(n) Trait
0xbff63b90 I Trait(TraitBehavior)>setTraitComposition: 460085756: a(n) Trait
0xbff63bc0 I Trait class>named:uses:category:env: 437072228: a(n) Trait class
0xbff63bf4 I Trait class>named:uses:category: 437072228: a(n) Trait class
0xbff63c24 I TraitCompositionTest(TraitsTestCase)>createTraitNamed:uses:
456579032: a(n) TraitCompositionTest
0xbff63c4c M TraitCompositionTest>testProvidedMethodBindingsWithConflicts
456579032: a(n) TraitCompositionTest
0xbff63c64 M TraitCompositionTest(TestCase)>performTest 456579032:
a(n) TraitCompositionTest


Looks like Cog really don't likes when image trying to manipulate with
methods using #become:  :)

However, running

TraitCompositionTest run: #testProvidedMethodBindingsWithConflicts

alone, doesn't triggers a crash, which makes me suspect that object
memory is damaged by
something which runs before it, and this crash is only a consequence of damage.

Running the TraitsTestCase also works w/o problems.
This bug is really lurky SOAB :)

I removed the TraitCompositionTest from system and run the tests
again. This time i got crash in different place:

(gdb) bt
#0  mapForbcpcperformUntilarg (cogMethod=0x19df44c8, startbcpc=104,
functionSymbol=0x6de0 <findMcpcBcpcMatchingBcpc>, arg=0x92) at
/Users/sig/projects/cog/sig-cog/src/vm/cogit.c:12014
#1  0x00009154 in mcPCForstartBcpcin (bcpc=146, startbcpc=104,
cogMethod=0x19df44c8) at
/Users/sig/projects/cog/sig-cog/src/vm/cogit.c:12604
#2  0x0006c967 in interpret () at
/Users/sig/projects/cog/sig-cog/src/vm/gcc3x-cointerp.c:5904
#3  0x0006dc78 in enterSmalltalkExecutiveImplementation () at
/Users/sig/projects/cog/sig-cog/src/vm/gcc3x-cointerp.c:14081
#4  0x0006ede4 in initStackPagesAndInterpret () at
/Users/sig/projects/cog/sig-cog/src/vm/gcc3x-cointerp.c:17676


(gdb) call (int) printAllStacks()
Process 0x1a7e02ac priority 40
0xbff64b34 M [] in
FileStreamTest>doTestsForReading:intoBufferWithSize:startingAt:fromFileOfSize:offsetBy:
455083812: a(n) FileStreamTest
0xbff64b54 M BlockClosure>ensure: 457616488: a(n) BlockClosure
0xbff64b80 I FileStreamTest>doTestsForReading:intoBufferWithSize:startingAt:fromFileOfSize:offsetBy:
455083812: a(n) FileStreamTest
0xbff64bac M FileStreamTest>testReadIntoStartingAtCountAll 455083812:
a(n) FileStreamTest
0xbff64bc4 M FileStreamTest(TestCase)>performTest 455083812: a(n) FileStreamTest
0xbff64bdc M [] in FileStreamTest(TestCase)>runCase 455083812: a(n)
FileStreamTest
0xbff64bfc M BlockClosure>ensure: 457616196: a(n) BlockClosure
0xbff64c18 M FileStreamTest(TestCase)>runCase 455083812: a(n) FileStreamTest
0xbff64c34 M [] in TestResult>runCase: 454652328: a(n) TestResult
....


This is reproducible by running:
FileStreamTest run: #testReadIntoStartingAtCountAll

but works fine in older VM(s).


I continued attempts to run whole tests after removing
TraitCompositionTest and FileStreamTest, and here's another one:

(gdb) bt
#0  0x00040bb7 in mapPointersInObjectsFromto (memStart=455419144,
memEnd=456751028) at sqMemoryAccess.h:81
#1  0x00043acc in becomewithtwoWaycopyHash (array1=456751008,
array2=456751016, twoWayFlag=1, copyHashFlag=1) at
/Users/sig/projects/cog/sig-cog/src/vm/gcc3x-cointerp.c:9410
#2  0x00044268 in primitiveArrayBecome () at
/Users/sig/projects/cog/sig-cog/src/vm/gcc3x-cointerp.c:22887
#3  0x19dc8c31 in ?? ()
#4  0x0006ede4 in initStackPagesAndInterpret () at
/Users/sig/projects/cog/sig-cog/src/vm/gcc3x-cointerp.c:17676
#5  0x0008a773 in EventLoopEventHandler (inHandlerCallRef=0xbfffca70,
inEvent=0x417760, inUserData=0x0) at
/Users/sig/projects/cog/sig-cog/platforms/Mac OS/vm/sqMacUIEven

(gdb) call (int) printAllStacks()
Process 0x1a7d09f4 priority 40
0xbff64b54 M ByteString(ProtoObject)>become: 456750624: a(n) ByteString
0xbff64b78 M ByteString>? 456750624: a(n) ByteString
0xbff64bac M MethodDictionaryTest>testRemoveKeyIfAbsent 454729064:
a(n) MethodDictionaryTest
0xbff64bc4 M MethodDictionaryTest(TestCase)>performTest 454729064:
a(n) MethodDictionaryTest
0xbff64bdc M [] in MethodDictionaryTest(TestCase)>runCase 454729064:
a(n) MethodDictionaryTest
0xbff64bfc M BlockClosure>ensure: 456748784: a(n) BlockClosure
0xbff64c18 M MethodDictionaryTest(TestCase)>runCase 454729064: a(n)
MethodDictionaryTest
0xbff64c34 M [] in TestResult>runCase: 454590236: a(n) TestResult
0xbff64c50 M BlockClosure>on:do: 456748452: a(n) BlockClosure
0xbff64c70 M TestResult>runCase: 454590236: a(n) TestResult
0xbff64c8c M MethodDictionaryTest(TestCase)>run: 454729064: a(n)
MethodDictionaryTest
0xbff64ca8 M TestRunner>runTest: 454542100: a(n) TestRunner
0xbff64cc4 M [] in TestRunner>runSuite: 454542100: a(n) TestRunner

.. as expected, by running this test alone it doesn't causing any troubles.




Another thing which i noticed that i got DNU during world menu render
and it is caused by making colors of Cubic-Rubik form to contain
smallinteger values.
This is original (once i start image):

ColorForm allInstances collect: #colors

an Array(a ColorArray(Color transparent (Color r: 0.0 g: 0.0 b:
0.004)) a ColorArray(Color transparent Color transparent) a
ColorArray(Color transparent Color transparent))


And after some manipulations and wandering i got:

ColorForm allInstances collect: #colors

 an Array(a ColorArray(Color transparent (Color r: 0.0 g: 0.0 b:
0.004)) a ColorArray(Color transparent Color transparent) a
ColorArray(Color transparent Color transparent) #(0 4278190081))


What i found really strange that these values are somehow flipped back
to normal ones (or maybe it is i, who restarted the image.. not
sure)..


--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: new Cog VMs

Stéphane Ducasse
In reply to this post by Eliot Miranda-2
Eliot

I took r2338

And I run the test of the latest Pharo 1.2 and I get a crash.
Now may be this is related with the problem with the linkedList fix that andreas suggested.

Stef



Process:         Croquet [26661]
Path:            /Users/ducasse/Desktop/Cog.app/Contents/MacOS/Croquet
Identifier:      com.teleplace.Teleplace
Version:         Croquet Cog 3.0.0 (4.0.0)
Code Type:       X86 (Native)
Parent Process:  launchd [110]

Date/Time:       2011-01-01 22:21:14.250 +0100
OS Version:      Mac OS X 10.6.4 (10F569)
Report Version:  6

Interval Since Last Report:          96764 sec
Crashes Since Last Report:           1
Per-App Interval Since Last Report:  673 sec
Per-App Crashes Since Last Report:   1
Anonymous UUID:                      99B0623E-9CD5-4C95-ACCB-0B118DEF717F

Exception Type:  EXC_BAD_ACCESS (SIGABRT)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000000fff76410
Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Application Specific Information:
abort() called

Thread 0 Crashed:  Dispatch queue: com.apple.main-thread
0   libSystem.B.dylib             0x995d5ef6 __kill + 10
1   libSystem.B.dylib             0x995d5ee8 kill$UNIX2003 + 32
2   libSystem.B.dylib             0x9966862d raise + 26
3   libSystem.B.dylib             0x9967e6e4 abort + 93
4   com.teleplace.Teleplace       0x0006e685 error + 85
5   libSystem.B.dylib             0x995db1fb _sigtramp + 43
6   ???                           0xffffffff 0 + 4294967295
7   com.teleplace.Teleplace       0x000e258c becomewithtwoWaycopyHash + 1292
8   com.teleplace.Teleplace       0x000e290f primitiveArrayBecomeOneWay + 31
9   ???                           0x1280e149 0 + 310436169
10  com.teleplace.Teleplace       0x001039ba initStackPagesAndInterpret + 538
11  com.teleplace.Teleplace       0x0005daa4 EventLoopEventHandler + 132
12  com.apple.HIToolbox           0x9644ef2f DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*) + 1567
13  com.apple.HIToolbox           0x9644e1f6 SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*) + 411
14  com.apple.HIToolbox           0x9644e055 SendEventToEventTargetWithOptions + 58
15  com.apple.HIToolbox           0x96482bb0 ToolboxEventDispatcherHandler(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*) + 3006
16  com.apple.HIToolbox           0x9644f380 DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*) + 2672
17  com.apple.HIToolbox           0x9644e1f6 SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*) + 411
18  com.apple.HIToolbox           0x964709bb SendEventToEventTarget + 52
19  com.apple.HIToolbox           0x965f9cc3 ToolboxEventDispatcher + 86
20  com.apple.HIToolbox           0x965f9dfb RunApplicationEventLoop + 243
21  com.teleplace.Teleplace       0x0005d2ea RunApplicationEventLoopWithSqueak + 218
22  com.teleplace.Teleplace       0x0006e987 main + 631
23  com.teleplace.Teleplace       0x00002c86 start + 54

Thread 1:  Dispatch queue: com.apple.libdispatch-manager
0   libSystem.B.dylib             0x9959b942 kevent + 10
1   libSystem.B.dylib             0x9959c05c _dispatch_mgr_invoke + 215
2   libSystem.B.dylib             0x9959b519 _dispatch_queue_invoke + 163
3   libSystem.B.dylib             0x9959b2be _dispatch_worker_thread2 + 240
4   libSystem.B.dylib             0x9959ad41 _pthread_wqthread + 390
5   libSystem.B.dylib             0x9959ab86 start_wqthread + 30

Thread 2:
0   libSystem.B.dylib             0x995a3066 __semwait_signal + 10
1   libSystem.B.dylib             0x995cec64 nanosleep$UNIX2003 + 188
2   com.teleplace.Teleplace       0x000b050b beatStateMachine + 139
3   libSystem.B.dylib             0x995a281d _pthread_start + 345
4   libSystem.B.dylib             0x995a26a2 thread_start + 34

Thread 0 crashed with X86 Thread State (32-bit):
  eax: 0x00000000  ebx: 0x9967e693  ecx: 0xbff5b2ac  edx: 0x995d5ef6
  edi: 0x13e16b4c  esi: 0xbff5b620  ebp: 0xbff5b2c8  esp: 0xbff5b2ac
   ss: 0x0000001f  efl: 0x00000282  eip: 0x995d5ef6   cs: 0x00000007
   ds: 0x0000001f   es: 0x0000001f   fs: 0x00000000   gs: 0x00000037
  cr2: 0x00108d80

Binary Images:
    0x1000 -   0x125fe7 +com.teleplace.Teleplace Croquet Cog 3.0.0 (4.0.0) <70DB946B-15AB-28B3-2BBB-F5DF9597AD0B> /Users/ducasse/Desktop/Cog.app/Contents/MacOS/Croquet
0x8fe00000 - 0x8fe4162b  dyld 132.1 (???) <A4F6ADCC-6448-37B4-ED6C-ABB2CD06F448> /usr/lib/dyld
0x90010000 - 0x90111fe7  libxml2.2.dylib 10.3.0 (compatibility 10.0.0) <BBBC1E4C-024F-3C81-7CB1-70DB451A3E6A> /usr/lib/libxml2.2.dylib
0x90112000 - 0x9011bff7  com.apple.DiskArbitration 2.3 (2.3) <6AA6DDF6-AFC3-BBDB-751A-64AE3580A49E> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
0x90211000 - 0x90252ff7  libRIP.A.dylib 543.50.0 (compatibility 64.0.0) <8BAE1FC1-A478-F151-17C7-2D5DE470AC4F> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libRIP.A.dylib
0x9031f000 - 0x9032fff7  libsasl2.2.dylib 3.15.0 (compatibility 3.0.0) <E276514D-394B-2FDD-6264-07A444AA6A4E> /usr/lib/libsasl2.2.dylib
0x90474000 - 0x906e4ffb  com.apple.Foundation 6.6.3 (751.29) <E77D3906-99F4-FEF4-FBB0-86FB3C94073E> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
0x9071f000 - 0x9073ffe7  libresolv.9.dylib 41.0.0 (compatibility 1.0.0) <751955F3-21FB-A03A-4E92-1F3D4EFB8C5B> /usr/lib/libresolv.9.dylib
0x90740000 - 0x90b75ff7  libLAPACK.dylib 219.0.0 (compatibility 1.0.0) <4D2F47EF-BD32-1E3C-6A0A-438896ADE2BE> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
0x90bfc000 - 0x90cd7fe7  com.apple.DesktopServices 1.5.7 (1.5.7) <A69072AD-C47E-A00D-4A69-6E46A7FB2119> /System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv
0x90cd8000 - 0x90d28ff7  com.apple.framework.familycontrols 2.0.1 (2010) <B9762E20-543D-13B9-F6BF-E8585F04CA01> /System/Library/PrivateFrameworks/FamilyControls.framework/Versions/A/FamilyControls
0x90d29000 - 0x90d6bff7  libvDSP.dylib 268.0.1 (compatibility 1.0.0) <1AE34B00-8A62-1E51-935F-BB3F0E4BE50F> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
0x90d85000 - 0x90e17fe3  com.apple.print.framework.PrintCore 6.2 (312.5) <71C60B1F-2DD7-3321-0DEC-7947ACFBE977> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
0x90e18000 - 0x90e1cff7  libGFXShared.dylib ??? (???) <2D32BDBF-C941-93FD-E233-F03D28DB9E94> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.dylib
0x90e1d000 - 0x90e32fff  com.apple.ImageCapture 6.0 (6.0) <04BD774A-2A1A-DA87-0885-10A7E8EB3E3F> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture
0x90e44000 - 0x90e47ff7  libCoreVMClient.dylib ??? (???) <CA0BA8DC-0159-A808-A300-750358A6970C> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClient.dylib
0x90edf000 - 0x90ef3fe7  libbsm.0.dylib ??? (???) <B328FA0A-899C-4FC4-F2AC-2FDC08819CD2> /usr/lib/libbsm.0.dylib
0x90ef4000 - 0x90f3dfe7  libTIFF.dylib ??? (???) <9CFF48CC-4852-4D06-17AC-3C947C824159> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
0x90f3e000 - 0x90fe7ff7  com.apple.CFNetwork 454.9.8 (454.9.8) <DB2A5C33-E833-1B3A-4DE0-5FF172B2048B> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
0x90fe8000 - 0x90febffb  com.apple.help 1.3.1 (41) <6A5AD406-9D8E-5BAC-51E1-E09AB9A6D159> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help
0x91150000 - 0x911edfe3  com.apple.LaunchServices 362.1 (362.1) <F6789417-5986-60ED-39C5-257C63BD00A7> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
0x911ee000 - 0x9126efeb  com.apple.SearchKit 1.3.0 (1.3.0) <7AE32A31-2B8E-E271-C03A-7A0F7BAFC85C> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
0x9126f000 - 0x9139dfe7  com.apple.CoreData 102.1 (251) <0C2636F3-CCB4-5ED9-1D3E-5AE36BE57071> /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
0x913bd000 - 0x9153ffe7  libicucore.A.dylib 40.0.0 (compatibility 1.0.0) <2314BD12-0821-75BB-F3BC-98D324CFD30A> /usr/lib/libicucore.A.dylib
0x91562000 - 0x915e4ffb  SecurityFoundation ??? (???) <3670AE8B-06DA-C447-EB14-79423DB9C474> /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation
0x915e5000 - 0x91628ff7  com.apple.NavigationServices 3.5.4 (182) <FE19D51B-233A-69EC-9E36-B89D0EA438C1> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/NavigationServices.framework/Versions/A/NavigationServices
0x91629000 - 0x91991ff7  com.apple.QuartzCore 1.6.2 (227.22) <4288F0D2-0C87-F054-C372-8764B44DE024> /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
0x91992000 - 0x919a0ff7  com.apple.opengl 1.6.9 (1.6.9) <4F06C166-00CF-5ACF-77E3-5A960A5E8AD3> /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
0x919e2000 - 0x91a08fff  com.apple.DictionaryServices 1.1.1 (1.1.1) <72D54B80-2D85-5BAB-CBB4-8002E150635D> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
0x91a09000 - 0x922e9ff7  com.apple.AppKit 6.6.6 (1038.29) <6F28C335-6DC2-AE0E-B79A-F256DBD0BB45> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
0x922ea000 - 0x92398ff3  com.apple.ink.framework 1.3.3 (107) <E215794C-F3E9-C067-8882-9054796DDA8A> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink
0x9250d000 - 0x92806fef  com.apple.QuickTime 7.6.6 (1742) <89720F2A-F33B-FF09-3D81-F9F25A99F3EB> /System/Library/Frameworks/QuickTime.framework/Versions/A/QuickTime
0x92807000 - 0x92808ff7  com.apple.TrustEvaluationAgent 1.1 (1) <06484720-AB50-6FD9-B5BF-05F5A640C9E5> /System/Library/PrivateFrameworks/TrustEvaluationAgent.framework/Versions/A/TrustEvaluationAgent
0x92809000 - 0x9281aff7  com.apple.LangAnalysis 1.6.6 (1.6.6) <97511CC7-FE23-5AC3-2EE2-B5479FAEB316> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis
0x92823000 - 0x92823ff7  com.apple.Carbon 150 (152) <9252D5F2-462D-2C15-80F3-109644D6F704> /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
0x92824000 - 0x9289ffe7  com.apple.audio.CoreAudio 3.2.2 (3.2.2) <51D0E2DC-B15F-AF6C-70D8-026DDAD4E2A5> /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
0x928a0000 - 0x928a4ff7  IOSurface ??? (???) <66E11D8E-CF4B-EFD0-37F9-20177C647021> /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface
0x92b65000 - 0x92ba8ff7  libGLU.dylib ??? (???) <2093A1FB-67BD-39E0-CDE5-A97A77BDDBCE> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
0x92ba9000 - 0x92bc8ff7  com.apple.CoreVideo 1.6.1 (45.5) <567D483E-58F7-54F9-3E6F-FAD3B21FAABF> /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
0x93113000 - 0x931c0fe7  libobjc.A.dylib 227.0.0 (compatibility 1.0.0) <F237B77D-75A3-7240-931D-4735B91D365F> /usr/lib/libobjc.A.dylib
0x93267000 - 0x9326bff7  libGIF.dylib ??? (???) <3ECD4D2C-40FE-E9A0-A2D2-E36D1C00D3A8> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib
0x93448000 - 0x9353aff7  libcrypto.0.9.8.dylib 0.9.8 (compatibility 0.9.8) <D2C86308-F998-C83D-F49B-CD484D4EFE6A> /usr/lib/libcrypto.0.9.8.dylib
0x9353b000 - 0x936b5fe3  com.apple.CoreFoundation 6.6.3 (550.29) <00373783-3744-F47D-2191-BEEA658F0C3D> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
0x936b6000 - 0x9374efe7  edu.mit.Kerberos 6.5.10 (6.5.10) <8B83AFF3-C074-E47C-4BD0-4546EED0D1BC> /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
0x9374f000 - 0x93820fe3  ColorSyncDeprecated.dylib 4.6.0 (compatibility 1.0.0) <8FDB4C40-D453-DA53-2A66-9A53998AB23C> /System/Library/Frameworks/ApplicationServices.framework/Frameworks/ColorSync.framework/Versions/A/Resources/ColorSyncDeprecated.dylib
0x93856000 - 0x93861ff7  libGL.dylib ??? (???) <B87E0676-F5EF-8DA3-6DEE-13C43B3832A7> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
0x93862000 - 0x93867ff7  com.apple.OpenDirectory 10.6 (10.6) <27D81AE3-DB56-3872-8CBB-BE88EF5DB3B3> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
0x93872000 - 0x93884ff7  com.apple.MultitouchSupport.framework 205.34 (205.34) <813475E3-B323-9405-F758-DDA1F5D63B20> /System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport
0x93a3c000 - 0x93a79ff7  com.apple.SystemConfiguration 1.10.2 (1.10.2) <398BB007-41FD-1A30-26D8-CB86ED5E467E> /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
0x93a7a000 - 0x93a85ff7  libCSync.A.dylib 543.50.0 (compatibility 64.0.0) <4FA0CE4A-BDE5-0E3D-37F0-03B41F0C2637> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCSync.A.dylib
0x93b8d000 - 0x93be8ff7  com.apple.framework.IOKit 2.0 (???) <A013B850-6ECB-594A-CBD6-DB156B11871B> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
0x93bf9000 - 0x93c07fe7  libz.1.dylib 1.2.3 (compatibility 1.0.0) <3CE8AA79-F077-F1B0-A039-9103A4A02E92> /usr/lib/libz.1.dylib
0x93c75000 - 0x93c8dff7  com.apple.CFOpenDirectory 10.6 (10.6) <3F5A2267-3C89-63A1-724D-3C09538BE092> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
0x93c8e000 - 0x93d9aff7  libGLProgrammability.dylib ??? (???) <1B315838-F477-5416-7504-67EC3433AD4A> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLProgrammability.dylib
0x93da2000 - 0x93da2ff7  com.apple.ApplicationServices 38 (38) <EAF1BC8C-4FD4-4300-B8F7-4B24E49125E2> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
0x93da3000 - 0x93ddbff7  libcups.2.dylib 2.8.0 (compatibility 2.0.0) <76C02F5C-98FD-BD64-B5FB-C698FB76EA25> /usr/lib/libcups.2.dylib
0x93ddc000 - 0x93e3dfe7  com.apple.CoreText 3.1.0 (???) <98011243-2CCE-DED0-5326-98DA0CA8577D> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreText.framework/Versions/A/CoreText
0x93f54000 - 0x93f60ff7  libkxld.dylib ??? (???) <322A4B52-8305-3081-6B74-813C3A87A56D> /usr/lib/system/libkxld.dylib
0x93f61000 - 0x93f63ff7  com.apple.securityhi 4.0 (36638) <38D36D4D-C798-6ACE-5FA8-5C001993AD6B> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI
0x9441e000 - 0x9441eff7  com.apple.vecLib 3.6 (vecLib 3.6) <FF4DC8B6-0AB0-DEE8-ADA8-7B57645A1F36> /System/Library/Frameworks/vecLib.framework/Versions/A/vecLib
0x9584a000 - 0x95885feb  libFontRegistry.dylib ??? (???) <A102F61F-25D5-001A-20C3-56304C585072> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib
0x95891000 - 0x95893ff7  libRadiance.dylib ??? (???) <AB06F616-E3EA-5966-029A-8AA44BBE5B28> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib
0x9589f000 - 0x958a9fe7  com.apple.audio.SoundManager 3.9.3 (3.9.3) <DE0E0EF6-8190-3F65-6BDD-5AC9D8A025D6> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CarbonSound.framework/Versions/A/CarbonSound
0x958eb000 - 0x95938feb  com.apple.DirectoryService.PasswordServerFramework 6.0 (6.0) <27F3FF53-F818-9836-2101-3E963FE0C0E0> /System/Library/PrivateFrameworks/PasswordServer.framework/Versions/A/PasswordServer
0x95939000 - 0x95a16ff7  com.apple.vImage 4.0 (4.0) <D979C8BC-7011-A45C-7141-39FC1043CC87> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
0x95a17000 - 0x95a1dfff  com.apple.CommonPanels 1.2.4 (91) <CE92759E-865E-8A3B-1488-ECD497E4074D> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels
0x95a2e000 - 0x95af8fef  com.apple.CoreServices.OSServices 357 (357) <CF9530AD-F581-B831-09B6-16D9F9283BFA> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
0x95d10000 - 0x95d32fef  com.apple.DirectoryService.Framework 3.6 (621.3) <96E7B3D5-A881-2B02-E97F-6B09461F3C98> /System/Library/Frameworks/DirectoryService.framework/Versions/A/DirectoryService
0x95d33000 - 0x96149ff7  libBLAS.dylib 219.0.0 (compatibility 1.0.0) <9D89FCB3-24C9-8FCF-DB49-27B184AC3222> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
0x961b9000 - 0x96223fe7  libstdc++.6.dylib 7.9.0 (compatibility 7.0.0) <411D87F4-B7E1-44EB-F201-F8B4F9227213> /usr/lib/libstdc++.6.dylib
0x96289000 - 0x962b1ff7  libxslt.1.dylib 3.24.0 (compatibility 3.0.0) <12FBE8CB-CC8E-FE8A-7362-C852625C5AAF> /usr/lib/libxslt.1.dylib
0x962b2000 - 0x9635affb  com.apple.QD 3.35 (???) <70D824C5-C1DF-A0E7-22EC-533B2C10957A> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
0x963af000 - 0x96400ff7  com.apple.HIServices 1.8.0 (???) <5FA723CA-B04B-0576-1511-D1FAD5AF0546> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
0x96402000 - 0x96446ff3  com.apple.coreui 2 (114) <1A3C3B7F-3837-6477-3114-47F6BFD56CB2> /System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI
0x96447000 - 0x9676bfef  com.apple.HIToolbox 1.6.3 (???) <0A5F56E2-9AF3-728D-70AE-429522AEAD8A> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
0x96a63000 - 0x96ad2ff7  libvMisc.dylib 268.0.1 (compatibility 1.0.0) <B3DEACA1-9375-CF8F-0898-AA2C5F8159DC> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
0x96ad3000 - 0x96ae0ff7  com.apple.NetFS 3.2.1 (3.2.1) <E2AFCE90-0DF6-C3B5-A123-222259E985FF> /System/Library/Frameworks/NetFS.framework/Versions/A/NetFS
0x96ae1000 - 0x96ae1ff7  liblangid.dylib ??? (???) <FCC37057-CDD7-2AF1-21AF-52A06C4048FF> /usr/lib/liblangid.dylib
0x96b30000 - 0x96b4cfe3  com.apple.openscripting 1.3.1 (???) <0E6B81D1-C1BD-1B5F-836F-256E6701B5DE> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting
0x96b4d000 - 0x96c03ffb  libFontParser.dylib ??? (???) <067DC1A2-764B-41EA-B07E-4205472749B7> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontParser.dylib
0x96c4b000 - 0x96c7eff7  com.apple.AE 496.4 (496.4) <23F0DB1F-2856-0091-80AE-BDEF9A4F1731> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
0x96c7f000 - 0x96cc3fe7  com.apple.Metadata 10.6.3 (507.10) <630494FA-3BB3-EDD3-E10B-8DAAF4831E26> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
0x96e70000 - 0x96f20ff3  com.apple.ColorSync 4.6.3 (4.6.3) <AA1076EA-7665-3005-A837-B661260DBE54> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSync.framework/Versions/A/ColorSync
0x96f21000 - 0x96f28ff3  com.apple.print.framework.Print 6.1 (237.1) <726A7F31-8C27-8403-0016-71E022EDC14C> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print
0x96f6a000 - 0x96f7effb  com.apple.speech.synthesis.framework 3.10.35 (3.10.35) <9F5CE4F7-D05C-8C14-4B76-E43D07A8A680> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis
0x96f7f000 - 0x96f80ff7  com.apple.audio.units.AudioUnit 1.6.3 (1.6.3) <ED2173F9-15C7-5F90-0B36-3ACAD1E6886C> /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit
0x96f81000 - 0x96f84ff7  libCGXType.A.dylib 543.50.0 (compatibility 64.0.0) <3B49AED9-0DBA-9D21-F9AC-8784363AD762> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCGXType.A.dylib
0x96f85000 - 0x97774557  com.apple.CoreGraphics 1.545.0 (???) <DCED8E1A-7504-C31A-B6EF-98BFF1A61060> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
0x97775000 - 0x977bbff7  libauto.dylib ??? (???) <7FE46BC8-ED91-12A7-83D0-2102D37CA32D> /usr/lib/libauto.dylib
0x977bc000 - 0x977ddfe7  com.apple.opencl 12.1 (12.1) <DA2AC3FA-ED11-2D10-21E9-7BDF4778B228> /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL
0x979ba000 - 0x97c1efef  com.apple.security 6.1.1 (37594) <3F68A006-6B30-85D5-1A75-8D748F72A6D5> /System/Library/Frameworks/Security.framework/Versions/A/Security
0x97c24000 - 0x97c55ff3  libTrueTypeScaler.dylib ??? (???) <7601D717-236D-8F4E-91F5-E69BB2920478> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libTrueTypeScaler.dylib
0x98051000 - 0x9806cff7  libPng.dylib ??? (???) <36A3D75E-5178-4358-7F02-444E276D61AD> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
0x980b9000 - 0x980b9ff7  com.apple.Accelerate.vecLib 3.6 (vecLib 3.6) <ABF97DA4-3BDF-6FFD-6239-B023CA1F7974> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
0x980ba000 - 0x9811efff  com.apple.htmlrendering 72 (1.1.4) <0D22B190-513B-7FF6-39FC-9D336285DE08> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HTMLRendering.framework/Versions/A/HTMLRendering
0x9811f000 - 0x981baff7  com.apple.ApplicationServices.ATS 275.11.1 (???) <5FF65EC7-F512-530A-7771-3DE240EE6E43> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS
0x981bb000 - 0x981bbff7  com.apple.Accelerate 1.6 (Accelerate 1.6) <3891A689-4F38-FACD-38B2-4BF937DE30CF> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
0x981ec000 - 0x98318fff  com.apple.audio.toolbox.AudioToolbox 1.6.3 (1.6.3) <EC38C454-4402-9A96-94ED-40608C9B0326> /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
0x9847a000 - 0x98634fe3  com.apple.ImageIO.framework 3.0.3 (3.0.3) <A93A514B-C1BF-21D0-FB03-CB775DE4FFAA> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/ImageIO
0x98635000 - 0x98955feb  com.apple.CoreServices.CarbonCore 861.13 (861.13) <52803668-3669-36BD-57DD-078FBA835081> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
0x98991000 - 0x989b5ff7  libJPEG.dylib ??? (???) <5CE96981-6B2A-D15B-4A17-E7BD329095B6> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
0x989b6000 - 0x989c0ffb  com.apple.speech.recognition.framework 3.11.1 (3.11.1) <90C38107-AEE7-AE55-5C51-28D129B19BCD> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition
0x99489000 - 0x99490ff7  com.apple.agl 3.0.12 (AGL-3.0.12) <6877F0D8-0DCF-CB98-5304-913667FF50FA> /System/Library/Frameworks/AGL.framework/Versions/A/AGL
0x99491000 - 0x994c2ff7  libGLImage.dylib ??? (???) <9340012D-595A-6243-9C97-7D30D76D9D9E> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib
0x99574000 - 0x9971afeb  libSystem.B.dylib 125.2.0 (compatibility 1.0.0) <3441F338-2218-6D36-3F95-3A16FBF6713D> /usr/lib/libSystem.B.dylib
0x9979a000 - 0x99853fe7  libsqlite3.dylib 9.6.0 (compatibility 9.0.0) <B6F00094-F6DC-2399-C36D-1FAF3525EB44> /usr/lib/libsqlite3.dylib
0x99854000 - 0x99854ff7  com.apple.CoreServices 44 (44) <B9461120-F72A-D28F-D0CF-5647958BD3F9> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
0x99965000 - 0x99968fe7  libmathCommon.A.dylib 315.0.0 (compatibility 1.0.0) <1622A54F-1A98-2CBE-B6A4-2122981A500E> /usr/lib/system/libmathCommon.A.dylib
0xffff0000 - 0xffff1fff  libSystem.B.dylib ??? (???) <3441F338-2218-6D36-3F95-3A16FBF6713D> /usr/lib/libSystem.B.dylib

Model: MacBookPro7,1, BootROM MBP71.0039.B05, 2 processors, Intel Core 2 Duo, 2.66 GHz, 4 GB, SMC 1.62f6
Graphics: NVIDIA GeForce 320M, NVIDIA GeForce 320M, PCI, 256 MB
Memory Module: global_name
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x8D), Broadcom BCM43xx 1.0 (5.10.131.16.1)
Bluetooth: Version 2.3.7f1, 2 service, 19 devices, 1 incoming serial ports
Network Service: Ethernet, Ethernet, en0
Serial ATA Device: Hitachi HTS545032B9SA02, 298.09 GB
Serial ATA Device: MATSHITADVD-R   UJ-898
USB Device: Built-in iSight, 0x05ac  (Apple Inc.), 0x8507, 0x24600000
USB Device: Hub, 0x05ac  (Apple Inc.), 0x1008, 0x26400000
USB Device: Hub, 0x05ac  (Apple Inc.), 0x912f, 0x26410000
USB Device: Keyboard Hub, 0x05ac  (Apple Inc.), 0x1005, 0x26411000
USB Device: Apple Keyboard, 0x05ac  (Apple Inc.), 0x021e, 0x26411200
USB Device: USB-PS/2 Optical Mouse, 0x046d  (Logitech Inc.), 0xc025, 0x26413000
USB Device: Apple Cinema HD Display, 0x05ac  (Apple Inc.), 0x9221, 0x26412000
USB Device: Internal Memory Card Reader, 0x05ac  (Apple Inc.), 0x8403, 0x26100000
USB Device: IR Receiver, 0x05ac  (Apple Inc.), 0x8242, 0x06500000
USB Device: BRCM2046 Hub, 0x0a5c  (Broadcom Corp.), 0x4500, 0x06600000
USB Device: Bluetooth USB Host Controller, 0x05ac  (Apple Inc.), 0x8213, 0x06610000
USB Device: Apple Internal Keyboard / Trackpad, 0x05ac  (Apple Inc.), 0x0236, 0x06300000
FireWire Device: Rugged FW/USB, LaCie, Up to 800 Mb/sec


Reply | Threaded
Open this post in threaded view
|

Re: new Cog VMs

Eliot Miranda-2
In reply to this post by Igor Stasenko


On Sat, Jan 1, 2011 at 1:23 PM, Igor Stasenko <[hidden email]> wrote:
I built fresh Cog VM using cmake configs.

Pharo 1.2 tests still crashing with segfault.

So how exactly do I reproduce this?  Image, OS, action etc...

 
Here the stack dump:

0xbff638f0 M CompiledMethod(Object)>becomeForward: 461278460: a(n)
CompiledMethod
0xbff63914 M CompiledMethod>setSourcePointer: 461278460: a(n) CompiledMethod
0xbff63930 M CompiledMethod>setSourcePosition:inFile: 461278460: a(n)
CompiledMethod
0xbff63958 M CompiledMethod>putSource:fromParseNode:inFile:withPreamble:
461278460: a(n) CompiledMethod
0xbff63988 M ClassTrait(TraitBehavior)>addTraitSelector:withMethod:
460086116: a(n) ClassTrait
0xbff639b4 M [] in
ClassTrait(TraitBehavior)>updateMethodDictionarySelector: 460086116:
a(n) ClassTrait
0xbff639d4 M OrderedCollection>do: 461255108: a(n) OrderedCollection
0xbff639f8 M ClassTrait(TraitBehavior)>updateMethodDictionarySelector:
460086116: a(n) ClassTrait
0xbff63a1c M [] in ClassTrait(TraitBehavior)>noteChangedSelectors:
460086116: a(n) ClassTrait
0xbff63a3c M [] in IdentitySet(Set)>do: 461251388: a(n) IdentitySet
0xbff63a60 M Array(SequenceableCollection)>do: 461251400: a(n) Array
0xbff63a7c M IdentitySet(Set)>do: 461251388: a(n) IdentitySet
0xbff63a9c M ClassTrait(TraitBehavior)>noteChangedSelectors:
460086116: a(n) ClassTrait
0xbff63ac4 I ClassTrait(TraitBehavior)>applyChangesOfNewTraitCompositionReplacing:
460086116: a(n) ClassTrait
0xbff63aec I ClassTrait(TraitDescription)>applyChangesOfNewTraitCompositionReplacing:
460086116: a(n) ClassTrait
0xbff63b14 I ClassTrait(TraitBehavior)>setTraitComposition: 460086116:
a(n) ClassTrait
0xbff63b40 I ClassTrait>noteNewBaseTraitCompositionApplied: 460086116:
a(n) ClassTrait
0xbff63b68 I Trait>applyChangesOfNewTraitCompositionReplacing:
460085756: a(n) Trait
0xbff63b90 I Trait(TraitBehavior)>setTraitComposition: 460085756: a(n) Trait
0xbff63bc0 I Trait class>named:uses:category:env: 437072228: a(n) Trait class
0xbff63bf4 I Trait class>named:uses:category: 437072228: a(n) Trait class
0xbff63c24 I TraitCompositionTest(TraitsTestCase)>createTraitNamed:uses:
456579032: a(n) TraitCompositionTest
0xbff63c4c M TraitCompositionTest>testProvidedMethodBindingsWithConflicts
456579032: a(n) TraitCompositionTest
0xbff63c64 M TraitCompositionTest(TestCase)>performTest 456579032:
a(n) TraitCompositionTest


Looks like Cog really don't likes when image trying to manipulate with
methods using #become:  :)

However, running

TraitCompositionTest run: #testProvidedMethodBindingsWithConflicts

alone, doesn't triggers a crash, which makes me suspect that object
memory is damaged by
something which runs before it, and this crash is only a consequence of damage.

Running the TraitsTestCase also works w/o problems.
This bug is really lurky SOAB :)

I removed the TraitCompositionTest from system and run the tests
again. This time i got crash in different place:

(gdb) bt
#0  mapForbcpcperformUntilarg (cogMethod=0x19df44c8, startbcpc=104,
functionSymbol=0x6de0 <findMcpcBcpcMatchingBcpc>, arg=0x92) at
/Users/sig/projects/cog/sig-cog/src/vm/cogit.c:12014
#1  0x00009154 in mcPCForstartBcpcin (bcpc=146, startbcpc=104,
cogMethod=0x19df44c8) at
/Users/sig/projects/cog/sig-cog/src/vm/cogit.c:12604
#2  0x0006c967 in interpret () at
/Users/sig/projects/cog/sig-cog/src/vm/gcc3x-cointerp.c:5904
#3  0x0006dc78 in enterSmalltalkExecutiveImplementation () at
/Users/sig/projects/cog/sig-cog/src/vm/gcc3x-cointerp.c:14081
#4  0x0006ede4 in initStackPagesAndInterpret () at
/Users/sig/projects/cog/sig-cog/src/vm/gcc3x-cointerp.c:17676


(gdb) call (int) printAllStacks()
Process 0x1a7e02ac priority 40
0xbff64b34 M [] in
FileStreamTest>doTestsForReading:intoBufferWithSize:startingAt:fromFileOfSize:offsetBy:
455083812: a(n) FileStreamTest
0xbff64b54 M BlockClosure>ensure: 457616488: a(n) BlockClosure
0xbff64b80 I FileStreamTest>doTestsForReading:intoBufferWithSize:startingAt:fromFileOfSize:offsetBy:
455083812: a(n) FileStreamTest
0xbff64bac M FileStreamTest>testReadIntoStartingAtCountAll 455083812:
a(n) FileStreamTest
0xbff64bc4 M FileStreamTest(TestCase)>performTest 455083812: a(n) FileStreamTest
0xbff64bdc M [] in FileStreamTest(TestCase)>runCase 455083812: a(n)
FileStreamTest
0xbff64bfc M BlockClosure>ensure: 457616196: a(n) BlockClosure
0xbff64c18 M FileStreamTest(TestCase)>runCase 455083812: a(n) FileStreamTest
0xbff64c34 M [] in TestResult>runCase: 454652328: a(n) TestResult
....


This is reproducible by running:
FileStreamTest run: #testReadIntoStartingAtCountAll

but works fine in older VM(s).


I continued attempts to run whole tests after removing
TraitCompositionTest and FileStreamTest, and here's another one:

(gdb) bt
#0  0x00040bb7 in mapPointersInObjectsFromto (memStart=455419144,
memEnd=456751028) at sqMemoryAccess.h:81
#1  0x00043acc in becomewithtwoWaycopyHash (array1=456751008,
array2=456751016, twoWayFlag=1, copyHashFlag=1) at
/Users/sig/projects/cog/sig-cog/src/vm/gcc3x-cointerp.c:9410
#2  0x00044268 in primitiveArrayBecome () at
/Users/sig/projects/cog/sig-cog/src/vm/gcc3x-cointerp.c:22887
#3  0x19dc8c31 in ?? ()
#4  0x0006ede4 in initStackPagesAndInterpret () at
/Users/sig/projects/cog/sig-cog/src/vm/gcc3x-cointerp.c:17676
#5  0x0008a773 in EventLoopEventHandler (inHandlerCallRef=0xbfffca70,
inEvent=0x417760, inUserData=0x0) at
/Users/sig/projects/cog/sig-cog/platforms/Mac OS/vm/sqMacUIEven

(gdb) call (int) printAllStacks()
Process 0x1a7d09f4 priority 40
0xbff64b54 M ByteString(ProtoObject)>become: 456750624: a(n) ByteString
0xbff64b78 M ByteString>? 456750624: a(n) ByteString
0xbff64bac M MethodDictionaryTest>testRemoveKeyIfAbsent 454729064:
a(n) MethodDictionaryTest
0xbff64bc4 M MethodDictionaryTest(TestCase)>performTest 454729064:
a(n) MethodDictionaryTest
0xbff64bdc M [] in MethodDictionaryTest(TestCase)>runCase 454729064:
a(n) MethodDictionaryTest
0xbff64bfc M BlockClosure>ensure: 456748784: a(n) BlockClosure
0xbff64c18 M MethodDictionaryTest(TestCase)>runCase 454729064: a(n)
MethodDictionaryTest
0xbff64c34 M [] in TestResult>runCase: 454590236: a(n) TestResult
0xbff64c50 M BlockClosure>on:do: 456748452: a(n) BlockClosure
0xbff64c70 M TestResult>runCase: 454590236: a(n) TestResult
0xbff64c8c M MethodDictionaryTest(TestCase)>run: 454729064: a(n)
MethodDictionaryTest
0xbff64ca8 M TestRunner>runTest: 454542100: a(n) TestRunner
0xbff64cc4 M [] in TestRunner>runSuite: 454542100: a(n) TestRunner

.. as expected, by running this test alone it doesn't causing any troubles.




Another thing which i noticed that i got DNU during world menu render
and it is caused by making colors of Cubic-Rubik form to contain
smallinteger values.
This is original (once i start image):

ColorForm allInstances collect: #colors

an Array(a ColorArray(Color transparent (Color r: 0.0 g: 0.0 b:
0.004)) a ColorArray(Color transparent Color transparent) a
ColorArray(Color transparent Color transparent))


And after some manipulations and wandering i got:

ColorForm allInstances collect: #colors

 an Array(a ColorArray(Color transparent (Color r: 0.0 g: 0.0 b:
0.004)) a ColorArray(Color transparent Color transparent) a
ColorArray(Color transparent Color transparent) #(0 4278190081))


What i found really strange that these values are somehow flipped back
to normal ones (or maybe it is i, who restarted the image.. not
sure)..


--
Best regards,
Igor Stasenko AKA sig.


Reply | Threaded
Open this post in threaded view
|

Re: new Cog VMs

Stéphane Ducasse
Mac os
       
Take
the latest pharo image here:
        https://gforge.inria.fr/frs/download.php/28098/PharoCore-1.2beta-12283.zip
        open the test runner
        run the tests and boum

Esteban and igor got the same. but only when the tests are all run not when a particular test is run.
        The tests pass with a 4.2.5 VM
Stef



On Jan 1, 2011, at 10:27 PM, Eliot Miranda wrote:

>
>
> On Sat, Jan 1, 2011 at 1:23 PM, Igor Stasenko <[hidden email]> wrote:
> I built fresh Cog VM using cmake configs.
>
> Pharo 1.2 tests still crashing with segfault.
>
> So how exactly do I reproduce this?  Image, OS, action etc...
>
>  
> Here the stack dump:
>
> 0xbff638f0 M CompiledMethod(Object)>becomeForward: 461278460: a(n)
> CompiledMethod
> 0xbff63914 M CompiledMethod>setSourcePointer: 461278460: a(n) CompiledMethod
> 0xbff63930 M CompiledMethod>setSourcePosition:inFile: 461278460: a(n)
> CompiledMethod
> 0xbff63958 M CompiledMethod>putSource:fromParseNode:inFile:withPreamble:
> 461278460: a(n) CompiledMethod
> 0xbff63988 M ClassTrait(TraitBehavior)>addTraitSelector:withMethod:
> 460086116: a(n) ClassTrait
> 0xbff639b4 M [] in
> ClassTrait(TraitBehavior)>updateMethodDictionarySelector: 460086116:
> a(n) ClassTrait
> 0xbff639d4 M OrderedCollection>do: 461255108: a(n) OrderedCollection
> 0xbff639f8 M ClassTrait(TraitBehavior)>updateMethodDictionarySelector:
> 460086116: a(n) ClassTrait
> 0xbff63a1c M [] in ClassTrait(TraitBehavior)>noteChangedSelectors:
> 460086116: a(n) ClassTrait
> 0xbff63a3c M [] in IdentitySet(Set)>do: 461251388: a(n) IdentitySet
> 0xbff63a60 M Array(SequenceableCollection)>do: 461251400: a(n) Array
> 0xbff63a7c M IdentitySet(Set)>do: 461251388: a(n) IdentitySet
> 0xbff63a9c M ClassTrait(TraitBehavior)>noteChangedSelectors:
> 460086116: a(n) ClassTrait
> 0xbff63ac4 I ClassTrait(TraitBehavior)>applyChangesOfNewTraitCompositionReplacing:
> 460086116: a(n) ClassTrait
> 0xbff63aec I ClassTrait(TraitDescription)>applyChangesOfNewTraitCompositionReplacing:
> 460086116: a(n) ClassTrait
> 0xbff63b14 I ClassTrait(TraitBehavior)>setTraitComposition: 460086116:
> a(n) ClassTrait
> 0xbff63b40 I ClassTrait>noteNewBaseTraitCompositionApplied: 460086116:
> a(n) ClassTrait
> 0xbff63b68 I Trait>applyChangesOfNewTraitCompositionReplacing:
> 460085756: a(n) Trait
> 0xbff63b90 I Trait(TraitBehavior)>setTraitComposition: 460085756: a(n) Trait
> 0xbff63bc0 I Trait class>named:uses:category:env: 437072228: a(n) Trait class
> 0xbff63bf4 I Trait class>named:uses:category: 437072228: a(n) Trait class
> 0xbff63c24 I TraitCompositionTest(TraitsTestCase)>createTraitNamed:uses:
> 456579032: a(n) TraitCompositionTest
> 0xbff63c4c M TraitCompositionTest>testProvidedMethodBindingsWithConflicts
> 456579032: a(n) TraitCompositionTest
> 0xbff63c64 M TraitCompositionTest(TestCase)>performTest 456579032:
> a(n) TraitCompositionTest
>
>
> Looks like Cog really don't likes when image trying to manipulate with
> methods using #become:  :)
>
> However, running
>
> TraitCompositionTest run: #testProvidedMethodBindingsWithConflicts
>
> alone, doesn't triggers a crash, which makes me suspect that object
> memory is damaged by
> something which runs before it, and this crash is only a consequence of damage.
>
> Running the TraitsTestCase also works w/o problems.
> This bug is really lurky SOAB :)
>
> I removed the TraitCompositionTest from system and run the tests
> again. This time i got crash in different place:
>
> (gdb) bt
> #0  mapForbcpcperformUntilarg (cogMethod=0x19df44c8, startbcpc=104,
> functionSymbol=0x6de0 <findMcpcBcpcMatchingBcpc>, arg=0x92) at
> /Users/sig/projects/cog/sig-cog/src/vm/cogit.c:12014
> #1  0x00009154 in mcPCForstartBcpcin (bcpc=146, startbcpc=104,
> cogMethod=0x19df44c8) at
> /Users/sig/projects/cog/sig-cog/src/vm/cogit.c:12604
> #2  0x0006c967 in interpret () at
> /Users/sig/projects/cog/sig-cog/src/vm/gcc3x-cointerp.c:5904
> #3  0x0006dc78 in enterSmalltalkExecutiveImplementation () at
> /Users/sig/projects/cog/sig-cog/src/vm/gcc3x-cointerp.c:14081
> #4  0x0006ede4 in initStackPagesAndInterpret () at
> /Users/sig/projects/cog/sig-cog/src/vm/gcc3x-cointerp.c:17676
>
>
> (gdb) call (int) printAllStacks()
> Process 0x1a7e02ac priority 40
> 0xbff64b34 M [] in
> FileStreamTest>doTestsForReading:intoBufferWithSize:startingAt:fromFileOfSize:offsetBy:
> 455083812: a(n) FileStreamTest
> 0xbff64b54 M BlockClosure>ensure: 457616488: a(n) BlockClosure
> 0xbff64b80 I FileStreamTest>doTestsForReading:intoBufferWithSize:startingAt:fromFileOfSize:offsetBy:
> 455083812: a(n) FileStreamTest
> 0xbff64bac M FileStreamTest>testReadIntoStartingAtCountAll 455083812:
> a(n) FileStreamTest
> 0xbff64bc4 M FileStreamTest(TestCase)>performTest 455083812: a(n) FileStreamTest
> 0xbff64bdc M [] in FileStreamTest(TestCase)>runCase 455083812: a(n)
> FileStreamTest
> 0xbff64bfc M BlockClosure>ensure: 457616196: a(n) BlockClosure
> 0xbff64c18 M FileStreamTest(TestCase)>runCase 455083812: a(n) FileStreamTest
> 0xbff64c34 M [] in TestResult>runCase: 454652328: a(n) TestResult
> ....
>
>
> This is reproducible by running:
> FileStreamTest run: #testReadIntoStartingAtCountAll
>
> but works fine in older VM(s).
>
>
> I continued attempts to run whole tests after removing
> TraitCompositionTest and FileStreamTest, and here's another one:
>
> (gdb) bt
> #0  0x00040bb7 in mapPointersInObjectsFromto (memStart=455419144,
> memEnd=456751028) at sqMemoryAccess.h:81
> #1  0x00043acc in becomewithtwoWaycopyHash (array1=456751008,
> array2=456751016, twoWayFlag=1, copyHashFlag=1) at
> /Users/sig/projects/cog/sig-cog/src/vm/gcc3x-cointerp.c:9410
> #2  0x00044268 in primitiveArrayBecome () at
> /Users/sig/projects/cog/sig-cog/src/vm/gcc3x-cointerp.c:22887
> #3  0x19dc8c31 in ?? ()
> #4  0x0006ede4 in initStackPagesAndInterpret () at
> /Users/sig/projects/cog/sig-cog/src/vm/gcc3x-cointerp.c:17676
> #5  0x0008a773 in EventLoopEventHandler (inHandlerCallRef=0xbfffca70,
> inEvent=0x417760, inUserData=0x0) at
> /Users/sig/projects/cog/sig-cog/platforms/Mac OS/vm/sqMacUIEven
>
> (gdb) call (int) printAllStacks()
> Process 0x1a7d09f4 priority 40
> 0xbff64b54 M ByteString(ProtoObject)>become: 456750624: a(n) ByteString
> 0xbff64b78 M ByteString>? 456750624: a(n) ByteString
> 0xbff64bac M MethodDictionaryTest>testRemoveKeyIfAbsent 454729064:
> a(n) MethodDictionaryTest
> 0xbff64bc4 M MethodDictionaryTest(TestCase)>performTest 454729064:
> a(n) MethodDictionaryTest
> 0xbff64bdc M [] in MethodDictionaryTest(TestCase)>runCase 454729064:
> a(n) MethodDictionaryTest
> 0xbff64bfc M BlockClosure>ensure: 456748784: a(n) BlockClosure
> 0xbff64c18 M MethodDictionaryTest(TestCase)>runCase 454729064: a(n)
> MethodDictionaryTest
> 0xbff64c34 M [] in TestResult>runCase: 454590236: a(n) TestResult
> 0xbff64c50 M BlockClosure>on:do: 456748452: a(n) BlockClosure
> 0xbff64c70 M TestResult>runCase: 454590236: a(n) TestResult
> 0xbff64c8c M MethodDictionaryTest(TestCase)>run: 454729064: a(n)
> MethodDictionaryTest
> 0xbff64ca8 M TestRunner>runTest: 454542100: a(n) TestRunner
> 0xbff64cc4 M [] in TestRunner>runSuite: 454542100: a(n) TestRunner
>
> .. as expected, by running this test alone it doesn't causing any troubles.
>
>
>
>
> Another thing which i noticed that i got DNU during world menu render
> and it is caused by making colors of Cubic-Rubik form to contain
> smallinteger values.
> This is original (once i start image):
>
> ColorForm allInstances collect: #colors
>
> an Array(a ColorArray(Color transparent (Color r: 0.0 g: 0.0 b:
> 0.004)) a ColorArray(Color transparent Color transparent) a
> ColorArray(Color transparent Color transparent))
>
>
> And after some manipulations and wandering i got:
>
> ColorForm allInstances collect: #colors
>
>  an Array(a ColorArray(Color transparent (Color r: 0.0 g: 0.0 b:
> 0.004)) a ColorArray(Color transparent Color transparent) a
> ColorArray(Color transparent Color transparent) #(0 4278190081))
>
>
> What i found really strange that these values are somehow flipped back
> to normal ones (or maybe it is i, who restarted the image.. not
> sure)..
>
>
> --
> Best regards,
> Igor Stasenko AKA sig.
>
>


Reply | Threaded
Open this post in threaded view
|

Re: new Cog VMs

Igor Stasenko
In reply to this post by Eliot Miranda-2
On 1 January 2011 22:27, Eliot Miranda <[hidden email]> wrote:

>
>
> On Sat, Jan 1, 2011 at 1:23 PM, Igor Stasenko <[hidden email]> wrote:
>>
>> I built fresh Cog VM using cmake configs.
>>
>> Pharo 1.2 tests still crashing with segfault.
>
> So how exactly do I reproduce this?  Image, OS, action etc...
>

Try running tests in latest pharo 1.2 image
i.e., open image
open test runner and press run.


>>
>> Here the stack dump:
>>
>> 0xbff638f0 M CompiledMethod(Object)>becomeForward: 461278460: a(n)
>> CompiledMethod
>> 0xbff63914 M CompiledMethod>setSourcePointer: 461278460: a(n)
>> CompiledMethod
>> 0xbff63930 M CompiledMethod>setSourcePosition:inFile: 461278460: a(n)
>> CompiledMethod
>> 0xbff63958 M CompiledMethod>putSource:fromParseNode:inFile:withPreamble:
>> 461278460: a(n) CompiledMethod
>> 0xbff63988 M ClassTrait(TraitBehavior)>addTraitSelector:withMethod:
>> 460086116: a(n) ClassTrait
>> 0xbff639b4 M [] in
>> ClassTrait(TraitBehavior)>updateMethodDictionarySelector: 460086116:
>> a(n) ClassTrait
>> 0xbff639d4 M OrderedCollection>do: 461255108: a(n) OrderedCollection
>> 0xbff639f8 M ClassTrait(TraitBehavior)>updateMethodDictionarySelector:
>> 460086116: a(n) ClassTrait
>> 0xbff63a1c M [] in ClassTrait(TraitBehavior)>noteChangedSelectors:
>> 460086116: a(n) ClassTrait
>> 0xbff63a3c M [] in IdentitySet(Set)>do: 461251388: a(n) IdentitySet
>> 0xbff63a60 M Array(SequenceableCollection)>do: 461251400: a(n) Array
>> 0xbff63a7c M IdentitySet(Set)>do: 461251388: a(n) IdentitySet
>> 0xbff63a9c M ClassTrait(TraitBehavior)>noteChangedSelectors:
>> 460086116: a(n) ClassTrait
>> 0xbff63ac4 I
>> ClassTrait(TraitBehavior)>applyChangesOfNewTraitCompositionReplacing:
>> 460086116: a(n) ClassTrait
>> 0xbff63aec I
>> ClassTrait(TraitDescription)>applyChangesOfNewTraitCompositionReplacing:
>> 460086116: a(n) ClassTrait
>> 0xbff63b14 I ClassTrait(TraitBehavior)>setTraitComposition: 460086116:
>> a(n) ClassTrait
>> 0xbff63b40 I ClassTrait>noteNewBaseTraitCompositionApplied: 460086116:
>> a(n) ClassTrait
>> 0xbff63b68 I Trait>applyChangesOfNewTraitCompositionReplacing:
>> 460085756: a(n) Trait
>> 0xbff63b90 I Trait(TraitBehavior)>setTraitComposition: 460085756: a(n)
>> Trait
>> 0xbff63bc0 I Trait class>named:uses:category:env: 437072228: a(n) Trait
>> class
>> 0xbff63bf4 I Trait class>named:uses:category: 437072228: a(n) Trait class
>> 0xbff63c24 I TraitCompositionTest(TraitsTestCase)>createTraitNamed:uses:
>> 456579032: a(n) TraitCompositionTest
>> 0xbff63c4c M TraitCompositionTest>testProvidedMethodBindingsWithConflicts
>> 456579032: a(n) TraitCompositionTest
>> 0xbff63c64 M TraitCompositionTest(TestCase)>performTest 456579032:
>> a(n) TraitCompositionTest
>>
>>
>> Looks like Cog really don't likes when image trying to manipulate with
>> methods using #become:  :)
>>
>> However, running
>>
>> TraitCompositionTest run: #testProvidedMethodBindingsWithConflicts
>>
>> alone, doesn't triggers a crash, which makes me suspect that object
>> memory is damaged by
>> something which runs before it, and this crash is only a consequence of
>> damage.
>>
>> Running the TraitsTestCase also works w/o problems.
>> This bug is really lurky SOAB :)
>>
>> I removed the TraitCompositionTest from system and run the tests
>> again. This time i got crash in different place:
>>
>> (gdb) bt
>> #0  mapForbcpcperformUntilarg (cogMethod=0x19df44c8, startbcpc=104,
>> functionSymbol=0x6de0 <findMcpcBcpcMatchingBcpc>, arg=0x92) at
>> /Users/sig/projects/cog/sig-cog/src/vm/cogit.c:12014
>> #1  0x00009154 in mcPCForstartBcpcin (bcpc=146, startbcpc=104,
>> cogMethod=0x19df44c8) at
>> /Users/sig/projects/cog/sig-cog/src/vm/cogit.c:12604
>> #2  0x0006c967 in interpret () at
>> /Users/sig/projects/cog/sig-cog/src/vm/gcc3x-cointerp.c:5904
>> #3  0x0006dc78 in enterSmalltalkExecutiveImplementation () at
>> /Users/sig/projects/cog/sig-cog/src/vm/gcc3x-cointerp.c:14081
>> #4  0x0006ede4 in initStackPagesAndInterpret () at
>> /Users/sig/projects/cog/sig-cog/src/vm/gcc3x-cointerp.c:17676
>>
>>
>> (gdb) call (int) printAllStacks()
>> Process 0x1a7e02ac priority 40
>> 0xbff64b34 M [] in
>>
>> FileStreamTest>doTestsForReading:intoBufferWithSize:startingAt:fromFileOfSize:offsetBy:
>> 455083812: a(n) FileStreamTest
>> 0xbff64b54 M BlockClosure>ensure: 457616488: a(n) BlockClosure
>> 0xbff64b80 I
>> FileStreamTest>doTestsForReading:intoBufferWithSize:startingAt:fromFileOfSize:offsetBy:
>> 455083812: a(n) FileStreamTest
>> 0xbff64bac M FileStreamTest>testReadIntoStartingAtCountAll 455083812:
>> a(n) FileStreamTest
>> 0xbff64bc4 M FileStreamTest(TestCase)>performTest 455083812: a(n)
>> FileStreamTest
>> 0xbff64bdc M [] in FileStreamTest(TestCase)>runCase 455083812: a(n)
>> FileStreamTest
>> 0xbff64bfc M BlockClosure>ensure: 457616196: a(n) BlockClosure
>> 0xbff64c18 M FileStreamTest(TestCase)>runCase 455083812: a(n)
>> FileStreamTest
>> 0xbff64c34 M [] in TestResult>runCase: 454652328: a(n) TestResult
>> ....
>>
>>
>> This is reproducible by running:
>> FileStreamTest run: #testReadIntoStartingAtCountAll
>>
>> but works fine in older VM(s).
>>
>>
>> I continued attempts to run whole tests after removing
>> TraitCompositionTest and FileStreamTest, and here's another one:
>>
>> (gdb) bt
>> #0  0x00040bb7 in mapPointersInObjectsFromto (memStart=455419144,
>> memEnd=456751028) at sqMemoryAccess.h:81
>> #1  0x00043acc in becomewithtwoWaycopyHash (array1=456751008,
>> array2=456751016, twoWayFlag=1, copyHashFlag=1) at
>> /Users/sig/projects/cog/sig-cog/src/vm/gcc3x-cointerp.c:9410
>> #2  0x00044268 in primitiveArrayBecome () at
>> /Users/sig/projects/cog/sig-cog/src/vm/gcc3x-cointerp.c:22887
>> #3  0x19dc8c31 in ?? ()
>> #4  0x0006ede4 in initStackPagesAndInterpret () at
>> /Users/sig/projects/cog/sig-cog/src/vm/gcc3x-cointerp.c:17676
>> #5  0x0008a773 in EventLoopEventHandler (inHandlerCallRef=0xbfffca70,
>> inEvent=0x417760, inUserData=0x0) at
>> /Users/sig/projects/cog/sig-cog/platforms/Mac OS/vm/sqMacUIEven
>>
>> (gdb) call (int) printAllStacks()
>> Process 0x1a7d09f4 priority 40
>> 0xbff64b54 M ByteString(ProtoObject)>become: 456750624: a(n) ByteString
>> 0xbff64b78 M ByteString>? 456750624: a(n) ByteString
>> 0xbff64bac M MethodDictionaryTest>testRemoveKeyIfAbsent 454729064:
>> a(n) MethodDictionaryTest
>> 0xbff64bc4 M MethodDictionaryTest(TestCase)>performTest 454729064:
>> a(n) MethodDictionaryTest
>> 0xbff64bdc M [] in MethodDictionaryTest(TestCase)>runCase 454729064:
>> a(n) MethodDictionaryTest
>> 0xbff64bfc M BlockClosure>ensure: 456748784: a(n) BlockClosure
>> 0xbff64c18 M MethodDictionaryTest(TestCase)>runCase 454729064: a(n)
>> MethodDictionaryTest
>> 0xbff64c34 M [] in TestResult>runCase: 454590236: a(n) TestResult
>> 0xbff64c50 M BlockClosure>on:do: 456748452: a(n) BlockClosure
>> 0xbff64c70 M TestResult>runCase: 454590236: a(n) TestResult
>> 0xbff64c8c M MethodDictionaryTest(TestCase)>run: 454729064: a(n)
>> MethodDictionaryTest
>> 0xbff64ca8 M TestRunner>runTest: 454542100: a(n) TestRunner
>> 0xbff64cc4 M [] in TestRunner>runSuite: 454542100: a(n) TestRunner
>>
>> .. as expected, by running this test alone it doesn't causing any
>> troubles.
>>
>>
>>
>>
>> Another thing which i noticed that i got DNU during world menu render
>> and it is caused by making colors of Cubic-Rubik form to contain
>> smallinteger values.
>> This is original (once i start image):
>>
>> ColorForm allInstances collect: #colors
>>
>> an Array(a ColorArray(Color transparent (Color r: 0.0 g: 0.0 b:
>> 0.004)) a ColorArray(Color transparent Color transparent) a
>> ColorArray(Color transparent Color transparent))
>>
>>
>> And after some manipulations and wandering i got:
>>
>> ColorForm allInstances collect: #colors
>>
>>  an Array(a ColorArray(Color transparent (Color r: 0.0 g: 0.0 b:
>> 0.004)) a ColorArray(Color transparent Color transparent) a
>> ColorArray(Color transparent Color transparent) #(0 4278190081))
>>
>>
>> What i found really strange that these values are somehow flipped back
>> to normal ones (or maybe it is i, who restarted the image.. not
>> sure)..
>>
>>
>> --
>> Best regards,
>> Igor Stasenko AKA sig.
>>
>
>



--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: new Cog VMs

Eliot Miranda-2
In reply to this post by Eliot Miranda-2
Hi All,

   there are new versions of both the SimpleStackBasedCogit and the StackToRegisterMappingCogit Cog VMs in VM.r2339/ & VM.r2340/ respectively.  These contain fixes for rounding bug causing underestimate of openPICSize and resultant hard crashes, seen e.g. by trying to recover lost changes in a Pharo 1.2 image installed on c:\pharo.  If you're trying to reproduce Cog crashes please upgrade to one of tthese two VMs.

TIA
Eliot

On Thu, Dec 30, 2010 at 6:02 PM, Eliot Miranda <[hidden email]> wrote:
Hi All,

     I've released a new version of Cog that has a substantially improved code generator along the lines of Peter Deutsch's HPS (VisualWorks) and various of Ian Piumarta's VMs.  These all use a simple tecnique to identify constant references in bytecode and to support a register-based calling convention.  While this does produce faster code it tends to accelerate low-level code much more than high-level code as you can see by the following benchmarks:

SimpleStackBasedCogit: [1 to: 100000000 do: [:i|]] timeToRun 691
StackToRegisterMappingCogit: [1 to: 100000000 do: [:i|]] timeToRun 192
192 - 691 / 6.91 -72%

SimpleStackBasedCogit: 0 tinyBenchmarks '753495217 bytecodes/sec; 64769127 sends/sec'
StackToRegisterMappingCogit: 0 tinyBenchmarks '931756141 bytecodes/sec; 128157989 sends/sec'
931756141 - 753495217 / 7534952.17 -24%
128157989 - 64769127 / 647691.27 -98%

SimpleStackBasedCogit: [Compiler recompileAll] timeToRun 47013 (no transcript
StackToRegisterMappingCogit: [Compiler recompileAll] timeToRun 43406 (no transcript)
43406 - 47013 / 470.13 -7.67234594686576

The status of this code is essentially beta.  The test suite runs the same on the new code generator as on the old, but I think there are still bugs because I get the occasional transient error.  I am therefore very interested in any reproducible errors you can find.

The VMs (http://www.mirandabanda.org/files/Cog/VM/VM.r2334/) contain a few other important changes: 

- a bug fix to bytecode<->native pc mappng that produced incorrect results for methods containing blocks with ^-returns in them.  One symptom is incorrect highlighting of the pc in the debugger, althoguh symptoms could be much serious.

- jitting interpreted methods on backward branches.  Currently any interpreted method that performs more than 20 backward branches will be considered for JIT compilation and if it is suitable (default, <= 60 literals) will be compiled to native code.

- new callback support.  I need to commit some changes to the Alien package to provide access to this but essentially the VM's callback support is now able to be ported to architectures with register-based calling conventions (ARM, PowerPC, SPARC etc).  I'll try and get the Alien code released soon, and to back-port the changes to the standard VM before the end of the holiday.

One thing that is still /not/ fixed is the lack of a SoundPlugin on win32.  Apologies.  I'll try and get a fix for this before the end of the holidays too, but time might be too tight.  There are other priorities such as harmonising the standard and Cog VMs for the 4.2 release.

best
Eliot


Reply | Threaded
Open this post in threaded view
|

Re: new Cog VMs

mkobetic
In reply to this post by Eliot Miranda-2
I'm probably doing something obviously wrong, but I have no luck with the Cog VM. It crashes immediately on startup even with the stock OneClick image. I downloaded the Pharo-1.1.1 OneClick images. Fetched the latest coglinux.tgz (r2340), untarred it into the pharo directory and just trying to run it from the top-level pharo directory as:

        coglinux/squeak Contents/Resources/pharo.image

crashes immediately (with or without the -vm-display-X11 option). This is on latest Fedora 14. The old VM seems to have no problem when I try to run it the same way:

        Contents/Linux/squeakvm Contents/Resources/pharo.image

seems to start just fine. I can copy the stack dump from the crash, but since most seem to be running fine, I suspect I'm just not doing it right. What am I missing ?

Thanks,

Martin

"Eliot Miranda"<[hidden email]> wrote:
>    there are new versions of both the SimpleStackBasedCogit and the
> StackToRegisterMappingCogit Cog VMs in
> VM.r2339/<http://www.mirandabanda.org/files/Cog/VM/VM.r2339/>
>  & VM.r2340/ <http://www.mirandabanda.org/files/Cog/VM/VM.r2340/> respectively.
>  These contain fixes for rounding bug causing underestimate of openPICSize
> and resultant hard crashes, seen e.g. by trying to recover lost changes in a
> Pharo 1.2 image installed on c:\pharo.  If you're trying to reproduce Cog
> crashes please upgrade to one of tthese two VMs.


Reply | Threaded
Open this post in threaded view
|

Re: new Cog VMs

Philippe Marschall-2-3
In reply to this post by Eliot Miranda-2
On 01.01.2011 21:38, Eliot Miranda wrote:

> Hi All,
>
>    there are new versions of both the SimpleStackBasedCogit and the
> StackToRegisterMappingCogit Cog VMs in VM.r2337/
> <http://www.mirandabanda.org/files/Cog/VM/VM.r2337/> & VM.r2338/
> <http://www.mirandabanda.org/files/Cog/VM/VM.r2338/> respectively.
>  These contain fixes for another bad pc mapping bug that could cause
> hard crashes when jitting on a backward branch in a looping interpreted
> method.  If you're trying to reproduce Cog crashes please upgrade to one
> of tthese two VMs.
>
> TIA
> and happy new 2011, P.S.  according to an FBF
> RT @dpp RT @giuliodeluise 2011 is a prime number & the sum of 11
> consecutive prime numbers: 2011=157+163+167+173+179+181+191+193+197+199+211

Crashes right at start up:

Segmentation fault



Smalltalk stack dump:
0xff8aafb4 M Error class(Exception class)>handles: -1246542340: a(n)
Error class
0xff8aafdc M MethodContext(ContextPart)>handleSignal: -1220670568: a(n)
MethodContext
0xff8aaffc M MethodContext(ContextPart)>handleSignal: -1216945468: a(n)
MethodContext
0xff8ab020 I UnhandledError(Exception)>signal -1216945236: a(n)
UnhandledError
0xff8ab040 I UnhandledError class>signalForException: -1246541380: a(n)
UnhandledError class
0xff8ab064 I MessageNotUnderstood(Error)>defaultAction -1216945688: a(n)
MessageNotUnderstood
0xff8ab084 I MessageNotUnderstood>defaultAction -1216945688: a(n)
MessageNotUnderstood
0xff8ab0a8 I UndefinedObject>handleSignal: -1247481852: a(n) UndefinedObject
0xff8ab0cc I MessageNotUnderstood(Exception)>pass -1216945688: a(n)
MessageNotUnderstood
0xff8ab0f8 I [] in PasteUpMorph>becomeActiveDuring: -1245846436: a(n)
PasteUpMorph
0xff8ab11c I BlockClosure>valueWithPossibleArgs: -1221000224: a(n)
BlockClosure
0xff8ab13c M [] in MethodContext(ContextPart)>handleSignal: -1220670568:
a(n) MethodContext
0xff8ab15c M BlockClosure>ensure: -1216945284: a(n) BlockClosure
0xff8ab17c M MethodContext(ContextPart)>handleSignal: -1220670568: a(n)
MethodContext
0xff8ab1a4 I MethodContext(ContextPart)>handleSignal: -1216945468: a(n)
MethodContext
0xff8ab1c8 I MessageNotUnderstood(Exception)>signal -1216945688: a(n)
MessageNotUnderstood
0xff8ab1f0 I ProcessorScheduler(Object)>doesNotUnderstand: >=
-1247476532: a(n) ProcessorScheduler
0xff8ab210 M Process>priority: -1216945752: a(n) Process
0xff8ab238 I BlockClosure>forkAt: -1216945972: a(n) BlockClosure
0xff8ab25c I
InputEventPollingFetcher(InputEventFetcher)>installEventLoop
-1246030580: a(n) InputEventPollingFetcher
0xff8ab280 I InputEventPollingFetcher(InputEventFetcher)>startUp
-1246030580: a(n) InputEventPollingFetcher
0xff8ab2a0 I InputEventFetcher class>startUp -1246046280: a(n)
InputEventFetcher class
0xff8ab2b8 M InputEventFetcher class(Behavior)>startUp: -1246046280:
a(n) InputEventFetcher class
0xff8ab2e0 M [] in SmalltalkImage>send:toClassesNamedIn:with:
-1242015264: a(n) SmalltalkImage
0xff8ab2fc M BlockClosure>on:do: -1216946688: a(n) BlockClosure
0xff8ab32c M [] in SmalltalkImage>send:toClassesNamedIn:with:
-1242015264: a(n) SmalltalkImage
0xff8ab354 I OrderedCollection>do: -1241999736: a(n) OrderedCollection
0xff8ab37c I SmalltalkImage>send:toClassesNamedIn:with: -1242015264:
a(n) SmalltalkImage
0xff8ab3a8 I SmalltalkImage>processStartUpList: -1242015264: a(n)
SmalltalkImage
0xff8ab3d4 I SmalltalkImage>snapshot:andQuit:embedded: -1242015264: a(n)
SmalltalkImage
-1220672224 s SmalltalkImage>snapshot:andQuit:
-1220672132 s WorldState class>saveAndQuit
-1220672040 s [] in ToggleMenuItemMorph(MenuItemMorph)>invokeWithEvent:
-1220671948 s BlockClosure>ensure:
-1220999860 s CursorWithMask(Cursor)>showWhile:
-1220999972 s ToggleMenuItemMorph(MenuItemMorph)>invokeWithEvent:
-1220671856 s ToggleMenuItemMorph(MenuItemMorph)>mouseUp:
-1220671764 s ToggleMenuItemMorph(MenuItemMorph)>handleMouseUp:
-1220671672 s MouseButtonEvent>sentTo:
-1220671580 s ToggleMenuItemMorph(Morph)>handleEvent:
-1220671488 s MorphicEventDispatcher>dispatchDefault:with:
-1220671396 s MorphicEventDispatcher>dispatchEvent:with:
-1220671304 s ToggleMenuItemMorph(Morph)>processEvent:using:
-1220671212 s MorphicEventDispatcher>dispatchDefault:with:
-1220671120 s MorphicEventDispatcher>dispatchEvent:with:
-1220671028 s MenuMorph(Morph)>processEvent:using:
-1220670936 s MenuMorph(Morph)>processEvent:
-1220670844 s MenuMorph>handleFocusEvent:
-1220670752 s [] in HandMorph>sendFocusEvent:to:clear:
-1220670660 s [] in PasteUpMorph>becomeActiveDuring:
-1220670568 s BlockClosure>on:do:
-1221000336 s PasteUpMorph>becomeActiveDuring:
-1221000456 s HandMorph>sendFocusEvent:to:clear:
-1220670476 s HandMorph>sendEvent:focus:clear:
-1221000572 s HandMorph>sendMouseEvent:
-1221000664 s HandMorph>handleEvent:
-1220670384 s HandMorph>processEvents
-1220670292 s [] in WorldState>doOneCycleNowFor:
-1220670200 s Array(SequenceableCollection)>do:
-1220670108 s WorldState>handsDo:
-1221001008 s WorldState>doOneCycleNowFor:
-1220670016 s WorldState>doOneCycleFor:
-1220669924 s PasteUpMorph>doOneCycle
-1221589100 s [] in Project class>spawnNewProcess
-1221602884 s [] in BlockClosure>newProcess

Most recent primitives
basicNew
size
at:
basicNew:
decompress:fromByteArray:at:
beCursorWithMask:
vmParameterAt:put:
vmParameterAt:put:
setGCBiasToGrowGCLimit:
setGCBiasToGrow:
ensure:
valueNoContextSwitch
wait
value
specialObjectsArray
new:
at:put:
value
signal
basicNew
new:
at:
value:
basicIdentityHash
on:do:
value
perform:with:
millisecondClockValue
signal
value:
size
size
bitShift:
\\
\\
\\
\\
\\
perform:with:
shallowCopy
subclasses
new:
new:
new:
//
value:
value:
value:
=
=
value:
value:
at:put:
value:
at:put:
addAll:
-
+
+
+
size
at:
do:
do:
value:
getSystemAttribute:
compare:with:collated:
value:
value:
platformName
=
=
value:
value:
getSystemAttribute:
compare:with:collated:
determineActivePlatformStartingAt:
determineActivePlatformStartingAt:
basicNew
value:
value:
value:
value:
perform:with:
actualScreenSize
species
species
supportsDisplayDepth:
new:
basicNew
beDisplay
value:
perform:with:
isMemberOf:
value:
perform:with:
basicNew
critical:
critical:
wait
wait
specialObjectsArray
species
new:
replaceFrom:to:with:startingAt:
specialObjectsArray
at:put:
at:put:
primSetInputSemaphore:
suspend
findNextUnwindContextUpTo:
value:
bottomContext
objectAt:
basicNew:
basicNew
basicNew
findNextHandlerContextStarting
tempAt:
nextHandlerContext
handleSignal:
isKindOf:
tempAt:put:
tempAt:put:
tempAt:put:
valueWithArguments:
findNextHandlerContextStarting
basicNew
findNextHandlerContextStarting
tempAt:
findNextHandlerContextStarting
tempAt:
Abgebrochen

Cheers
Philippe


Reply | Threaded
Open this post in threaded view
|

Re: new Cog VMs

Mariano Martinez Peck
Hi Eliot. Running:

- Mac OS
- VM r2340
- PharoCore 1.2  12288 

Running all tests I got this DNU.
It is reproducable running the test  testClosureRestart  which seems to pass well in previous VMs.

Cheers

Mariano

THERE_BE_DRAGONS_HERE
MessageNotUnderstood: MethodContext>>numArgs
2 January 2011 11:38:31 am

VM: Mac OS - intel - 1065 - Croquet Closure Cog VM [CoInterpreter VMMaker-oscog.41] Croquet Cog 3.0.0
Image: Pharo1.2beta [Latest update: #12288]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /Users/mariano/Pharo/imagenes/PharoCore-1.2beta-12283
Trusted Dir /foobar/tooBar/forSqueak/bogus/
Untrusted Dir /Users/mariano/Library/Preferences/Croquet/Internet/Untrusted

MethodContext(Object)>>doesNotUnderstand: #numArgs
    Receiver: [| b |
self assert: 10 == a.
    self assert: nil == b.
    b := a + 20.
    firstTimeThrough
        ifT...etc...
    Arguments and temporary variables:
        t1:     numArgs
        t2:     nil
        t3:     nil
    Receiver's instance variables:
        sender:     nil
        pc:     nil
        stackp:     3
        method:     (MethodContextTest>>#privRestartBlockTest "a CompiledMethod(700186624)"...etc...
        closureOrNil:     [| b |
self assert: 10 == a.
    self assert: nil == b.
    b := a + 20...etc...
        receiver:     MethodContextTest>>#testClosureRestart



--- The full stack ---
MethodContext(Object)>>doesNotUnderstand: #numArgs
------------------------------------------------------------



On Sun, Jan 2, 2011 at 8:52 AM, Philippe Marschall <[hidden email]> wrote:
On 01.01.2011 21:38, Eliot Miranda wrote:
> Hi All,
>
>    there are new versions of both the SimpleStackBasedCogit and the
> StackToRegisterMappingCogit Cog VMs in VM.r2337/
> <http://www.mirandabanda.org/files/Cog/VM/VM.r2337/> & VM.r2338/
> <http://www.mirandabanda.org/files/Cog/VM/VM.r2338/> respectively.
>  These contain fixes for another bad pc mapping bug that could cause
> hard crashes when jitting on a backward branch in a looping interpreted
> method.  If you're trying to reproduce Cog crashes please upgrade to one
> of tthese two VMs.
>
> TIA
> and happy new 2011, P.S.  according to an FBF
> RT @dpp RT @giuliodeluise 2011 is a prime number & the sum of 11
> consecutive prime numbers: 2011=157+163+167+173+179+181+191+193+197+199+211

Crashes right at start up:

Segmentation fault



Smalltalk stack dump:
0xff8aafb4 M Error class(Exception class)>handles: -1246542340: a(n)
Error class
0xff8aafdc M MethodContext(ContextPart)>handleSignal: -1220670568: a(n)
MethodContext
0xff8aaffc M MethodContext(ContextPart)>handleSignal: -1216945468: a(n)
MethodContext
0xff8ab020 I UnhandledError(Exception)>signal -1216945236: a(n)
UnhandledError
0xff8ab040 I UnhandledError class>signalForException: -1246541380: a(n)
UnhandledError class
0xff8ab064 I MessageNotUnderstood(Error)>defaultAction -1216945688: a(n)
MessageNotUnderstood
0xff8ab084 I MessageNotUnderstood>defaultAction -1216945688: a(n)
MessageNotUnderstood
0xff8ab0a8 I UndefinedObject>handleSignal: -1247481852: a(n) UndefinedObject
0xff8ab0cc I MessageNotUnderstood(Exception)>pass -1216945688: a(n)
MessageNotUnderstood
0xff8ab0f8 I [] in PasteUpMorph>becomeActiveDuring: -1245846436: a(n)
PasteUpMorph
0xff8ab11c I BlockClosure>valueWithPossibleArgs: -1221000224: a(n)
BlockClosure
0xff8ab13c M [] in MethodContext(ContextPart)>handleSignal: -1220670568:
a(n) MethodContext
0xff8ab15c M BlockClosure>ensure: -1216945284: a(n) BlockClosure
0xff8ab17c M MethodContext(ContextPart)>handleSignal: -1220670568: a(n)
MethodContext
0xff8ab1a4 I MethodContext(ContextPart)>handleSignal: -1216945468: a(n)
MethodContext
0xff8ab1c8 I MessageNotUnderstood(Exception)>signal -1216945688: a(n)
MessageNotUnderstood
0xff8ab1f0 I ProcessorScheduler(Object)>doesNotUnderstand: >=
-1247476532: a(n) ProcessorScheduler
0xff8ab210 M Process>priority: -1216945752: a(n) Process
0xff8ab238 I BlockClosure>forkAt: -1216945972: a(n) BlockClosure
0xff8ab25c I
InputEventPollingFetcher(InputEventFetcher)>installEventLoop
-1246030580: a(n) InputEventPollingFetcher
0xff8ab280 I InputEventPollingFetcher(InputEventFetcher)>startUp
-1246030580: a(n) InputEventPollingFetcher
0xff8ab2a0 I InputEventFetcher class>startUp -1246046280: a(n)
InputEventFetcher class
0xff8ab2b8 M InputEventFetcher class(Behavior)>startUp: -1246046280:
a(n) InputEventFetcher class
0xff8ab2e0 M [] in SmalltalkImage>send:toClassesNamedIn:with:
-1242015264: a(n) SmalltalkImage
0xff8ab2fc M BlockClosure>on:do: -1216946688: a(n) BlockClosure
0xff8ab32c M [] in SmalltalkImage>send:toClassesNamedIn:with:
-1242015264: a(n) SmalltalkImage
0xff8ab354 I OrderedCollection>do: -1241999736: a(n) OrderedCollection
0xff8ab37c I SmalltalkImage>send:toClassesNamedIn:with: -1242015264:
a(n) SmalltalkImage
0xff8ab3a8 I SmalltalkImage>processStartUpList: -1242015264: a(n)
SmalltalkImage
0xff8ab3d4 I SmalltalkImage>snapshot:andQuit:embedded: -1242015264: a(n)
SmalltalkImage
-1220672224 s SmalltalkImage>snapshot:andQuit:
-1220672132 s WorldState class>saveAndQuit
-1220672040 s [] in ToggleMenuItemMorph(MenuItemMorph)>invokeWithEvent:
-1220671948 s BlockClosure>ensure:
-1220999860 s CursorWithMask(Cursor)>showWhile:
-1220999972 s ToggleMenuItemMorph(MenuItemMorph)>invokeWithEvent:
-1220671856 s ToggleMenuItemMorph(MenuItemMorph)>mouseUp:
-1220671764 s ToggleMenuItemMorph(MenuItemMorph)>handleMouseUp:
-1220671672 s MouseButtonEvent>sentTo:
-1220671580 s ToggleMenuItemMorph(Morph)>handleEvent:
-1220671488 s MorphicEventDispatcher>dispatchDefault:with:
-1220671396 s MorphicEventDispatcher>dispatchEvent:with:
-1220671304 s ToggleMenuItemMorph(Morph)>processEvent:using:
-1220671212 s MorphicEventDispatcher>dispatchDefault:with:
-1220671120 s MorphicEventDispatcher>dispatchEvent:with:
-1220671028 s MenuMorph(Morph)>processEvent:using:
-1220670936 s MenuMorph(Morph)>processEvent:
-1220670844 s MenuMorph>handleFocusEvent:
-1220670752 s [] in HandMorph>sendFocusEvent:to:clear:
-1220670660 s [] in PasteUpMorph>becomeActiveDuring:
-1220670568 s BlockClosure>on:do:
-1221000336 s PasteUpMorph>becomeActiveDuring:
-1221000456 s HandMorph>sendFocusEvent:to:clear:
-1220670476 s HandMorph>sendEvent:focus:clear:
-1221000572 s HandMorph>sendMouseEvent:
-1221000664 s HandMorph>handleEvent:
-1220670384 s HandMorph>processEvents
-1220670292 s [] in WorldState>doOneCycleNowFor:
-1220670200 s Array(SequenceableCollection)>do:
-1220670108 s WorldState>handsDo:
-1221001008 s WorldState>doOneCycleNowFor:
-1220670016 s WorldState>doOneCycleFor:
-1220669924 s PasteUpMorph>doOneCycle
-1221589100 s [] in Project class>spawnNewProcess
-1221602884 s [] in BlockClosure>newProcess

Most recent primitives
basicNew
size
at:
basicNew:
decompress:fromByteArray:at:
beCursorWithMask:
vmParameterAt:put:
vmParameterAt:put:
setGCBiasToGrowGCLimit:
setGCBiasToGrow:
ensure:
valueNoContextSwitch
wait
value
specialObjectsArray
new:
at:put:
value
signal
basicNew
new:
at:
value:
basicIdentityHash
on:do:
value
perform:with:
millisecondClockValue
signal
value:
size
size
bitShift:
\\
\\
\\
\\
\\
perform:with:
shallowCopy
subclasses
new:
new:
new:
//
value:
value:
value:
=
=
value:
value:
at:put:
value:
at:put:
addAll:
-
+
+
+
size
at:
do:
do:
value:
getSystemAttribute:
compare:with:collated:
value:
value:
platformName
=
=
value:
value:
getSystemAttribute:
compare:with:collated:
determineActivePlatformStartingAt:
determineActivePlatformStartingAt:
basicNew
value:
value:
value:
value:
perform:with:
actualScreenSize
species
species
supportsDisplayDepth:
new:
basicNew
beDisplay
value:
perform:with:
isMemberOf:
value:
perform:with:
basicNew
critical:
critical:
wait
wait
specialObjectsArray
species
new:
replaceFrom:to:with:startingAt:
specialObjectsArray
at:put:
at:put:
primSetInputSemaphore:
suspend
findNextUnwindContextUpTo:
value:
bottomContext
objectAt:
basicNew:
basicNew
basicNew
findNextHandlerContextStarting
tempAt:
nextHandlerContext
handleSignal:
isKindOf:
tempAt:put:
tempAt:put:
tempAt:put:
valueWithArguments:
findNextHandlerContextStarting
basicNew
findNextHandlerContextStarting
tempAt:
findNextHandlerContextStarting
tempAt:
Abgebrochen

Cheers
Philippe



Reply | Threaded
Open this post in threaded view
|

Re: new Cog VMs

Igor Stasenko
Hello, Eliot.

After updating to emm.42 , i still experiencing crash in same place.
I will try different combination of VM/Image.

./Cog.app/Contents/MacOS/Cog
mprotect(x,y,PROT_READ | PROT_WRITE): Cannot allocate memory
mprotect(x,y,PROT_READ | PROT_WRITE): Invalid argument

Segmentation fault


Smalltalk stack dump:
0xbff648bc M CompiledMethod(Object)>becomeForward: 460031828: a(n)
CompiledMethod
0xbff648e0 M CompiledMethod>setSourcePointer: 460031828: a(n) CompiledMethod
0xbff648fc M CompiledMethod>setSourcePosition:inFile: 460031828: a(n)
CompiledMethod
0xbff64924 M CompiledMethod>putSource:fromParseNode:inFile:withPreamble:
460031828: a(n) CompiledMethod
0xbff6495c I Trait(TraitBehavior)>addTraitSelector:withMethod:
459981732: a(n) Trait
0xbff64990 I [] in
Trait(TraitBehavior)>updateMethodDictionarySelector: 459981732: a(n)
Trait
0xbff649b0 M OrderedCollection>do: 460007796: a(n) OrderedCollection
0xbff649dc I Trait(TraitBehavior)>updateMethodDictionarySelector:
459981732: a(n) Trait
0xbff64a08 I [] in Trait(TraitBehavior)>noteChangedSelectors:
459981732: a(n) Trait
0xbff64a28 M [] in IdentitySet(Set)>do: 460003748: a(n) IdentitySet
0xbff64a4c M Array(SequenceableCollection)>do: 460006832: a(n) Array
0xbff64a68 M IdentitySet(Set)>do: 460003748: a(n) IdentitySet
0xbff64a90 I Trait(TraitBehavior)>noteChangedSelectors: 459981732: a(n) Trait
0xbff64ab8 I Trait(TraitBehavior)>applyChangesOfNewTraitCompositionReplacing:
459981732: a(n) Trait
0xbff64ae0 I Trait(TraitDescription)>applyChangesOfNewTraitCompositionReplacing:
459981732: a(n) Trait
0xbff64b08 I Trait>applyChangesOfNewTraitCompositionReplacing:
459981732: a(n) Trait
0xbff64b30 I Trait(TraitBehavior)>setTraitComposition: 459981732: a(n) Trait
0xbff64b60 I Trait class>named:uses:category:env: 436945252: a(n) Trait class
0xbff64b94 I Trait class>named:uses:category: 436945252: a(n) Trait class
0xbff64bc4 I TraitCompositionTest(TraitsTestCase)>createTraitNamed:uses:
456451272: a(n) TraitCompositionTest
0xbff64bec M TraitCompositionTest>testProvidedMethodBindingsWithConflicts
456451272: a(n) TraitCompositionTest
0xbff64c04 M TraitCompositionTest(TestCase)>performTest 456451272:
a(n) TraitCompositionTest
0xbff64c1c M [] in TraitCompositionTest(TestCase)>runCase 456451272:
a(n) TraitCompositionTest
0xbff64c3c M BlockClosure>ensure: 459980184: a(n) BlockClosure
0xbff64c58 M TraitCompositionTest(TestCase)>runCase 456451272: a(n)
TraitCompositionTest
0xbff64c74 M [] in TestResult>runCase: 456312648: a(n) TestResult
0xbff64c90 M BlockClosure>on:do: 459978612: a(n) BlockClosure
0xbff64cb0 M TestResult>runCase: 456312648: a(n) TestResult
0xbff64ccc M TraitCompositionTest(TestCase)>run: 456451272: a(n)
TraitCompositionTest


--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: new Cog VMs

Eliot Miranda-2
In reply to this post by Philippe Marschall-2-3
Hi Philippe,

    what image, what OS and what directories are the vm and image installed in (yes it can make a difference).

TIA

On Sat, Jan 1, 2011 at 11:52 PM, Philippe Marschall <[hidden email]> wrote:
On 01.01.2011 21:38, Eliot Miranda wrote:
> Hi All,
>
>    there are new versions of both the SimpleStackBasedCogit and the
> StackToRegisterMappingCogit Cog VMs in VM.r2337/
> <http://www.mirandabanda.org/files/Cog/VM/VM.r2337/> & VM.r2338/
> <http://www.mirandabanda.org/files/Cog/VM/VM.r2338/> respectively.
>  These contain fixes for another bad pc mapping bug that could cause
> hard crashes when jitting on a backward branch in a looping interpreted
> method.  If you're trying to reproduce Cog crashes please upgrade to one
> of tthese two VMs.
>
> TIA
> and happy new 2011, P.S.  according to an FBF
> RT @dpp RT @giuliodeluise 2011 is a prime number & the sum of 11
> consecutive prime numbers: 2011=157+163+167+173+179+181+191+193+197+199+211

Crashes right at start up:

Segmentation fault



Smalltalk stack dump:
0xff8aafb4 M Error class(Exception class)>handles: -1246542340: a(n)
Error class
0xff8aafdc M MethodContext(ContextPart)>handleSignal: -1220670568: a(n)
MethodContext
0xff8aaffc M MethodContext(ContextPart)>handleSignal: -1216945468: a(n)
MethodContext
0xff8ab020 I UnhandledError(Exception)>signal -1216945236: a(n)
UnhandledError
0xff8ab040 I UnhandledError class>signalForException: -1246541380: a(n)
UnhandledError class
0xff8ab064 I MessageNotUnderstood(Error)>defaultAction -1216945688: a(n)
MessageNotUnderstood
0xff8ab084 I MessageNotUnderstood>defaultAction -1216945688: a(n)
MessageNotUnderstood
0xff8ab0a8 I UndefinedObject>handleSignal: -1247481852: a(n) UndefinedObject
0xff8ab0cc I MessageNotUnderstood(Exception)>pass -1216945688: a(n)
MessageNotUnderstood
0xff8ab0f8 I [] in PasteUpMorph>becomeActiveDuring: -1245846436: a(n)
PasteUpMorph
0xff8ab11c I BlockClosure>valueWithPossibleArgs: -1221000224: a(n)
BlockClosure
0xff8ab13c M [] in MethodContext(ContextPart)>handleSignal: -1220670568:
a(n) MethodContext
0xff8ab15c M BlockClosure>ensure: -1216945284: a(n) BlockClosure
0xff8ab17c M MethodContext(ContextPart)>handleSignal: -1220670568: a(n)
MethodContext
0xff8ab1a4 I MethodContext(ContextPart)>handleSignal: -1216945468: a(n)
MethodContext
0xff8ab1c8 I MessageNotUnderstood(Exception)>signal -1216945688: a(n)
MessageNotUnderstood
0xff8ab1f0 I ProcessorScheduler(Object)>doesNotUnderstand: >=
-1247476532: a(n) ProcessorScheduler
0xff8ab210 M Process>priority: -1216945752: a(n) Process
0xff8ab238 I BlockClosure>forkAt: -1216945972: a(n) BlockClosure
0xff8ab25c I
InputEventPollingFetcher(InputEventFetcher)>installEventLoop
-1246030580: a(n) InputEventPollingFetcher
0xff8ab280 I InputEventPollingFetcher(InputEventFetcher)>startUp
-1246030580: a(n) InputEventPollingFetcher
0xff8ab2a0 I InputEventFetcher class>startUp -1246046280: a(n)
InputEventFetcher class
0xff8ab2b8 M InputEventFetcher class(Behavior)>startUp: -1246046280:
a(n) InputEventFetcher class
0xff8ab2e0 M [] in SmalltalkImage>send:toClassesNamedIn:with:
-1242015264: a(n) SmalltalkImage
0xff8ab2fc M BlockClosure>on:do: -1216946688: a(n) BlockClosure
0xff8ab32c M [] in SmalltalkImage>send:toClassesNamedIn:with:
-1242015264: a(n) SmalltalkImage
0xff8ab354 I OrderedCollection>do: -1241999736: a(n) OrderedCollection
0xff8ab37c I SmalltalkImage>send:toClassesNamedIn:with: -1242015264:
a(n) SmalltalkImage
0xff8ab3a8 I SmalltalkImage>processStartUpList: -1242015264: a(n)
SmalltalkImage
0xff8ab3d4 I SmalltalkImage>snapshot:andQuit:embedded: -1242015264: a(n)
SmalltalkImage
-1220672224 s SmalltalkImage>snapshot:andQuit:
-1220672132 s WorldState class>saveAndQuit
-1220672040 s [] in ToggleMenuItemMorph(MenuItemMorph)>invokeWithEvent:
-1220671948 s BlockClosure>ensure:
-1220999860 s CursorWithMask(Cursor)>showWhile:
-1220999972 s ToggleMenuItemMorph(MenuItemMorph)>invokeWithEvent:
-1220671856 s ToggleMenuItemMorph(MenuItemMorph)>mouseUp:
-1220671764 s ToggleMenuItemMorph(MenuItemMorph)>handleMouseUp:
-1220671672 s MouseButtonEvent>sentTo:
-1220671580 s ToggleMenuItemMorph(Morph)>handleEvent:
-1220671488 s MorphicEventDispatcher>dispatchDefault:with:
-1220671396 s MorphicEventDispatcher>dispatchEvent:with:
-1220671304 s ToggleMenuItemMorph(Morph)>processEvent:using:
-1220671212 s MorphicEventDispatcher>dispatchDefault:with:
-1220671120 s MorphicEventDispatcher>dispatchEvent:with:
-1220671028 s MenuMorph(Morph)>processEvent:using:
-1220670936 s MenuMorph(Morph)>processEvent:
-1220670844 s MenuMorph>handleFocusEvent:
-1220670752 s [] in HandMorph>sendFocusEvent:to:clear:
-1220670660 s [] in PasteUpMorph>becomeActiveDuring:
-1220670568 s BlockClosure>on:do:
-1221000336 s PasteUpMorph>becomeActiveDuring:
-1221000456 s HandMorph>sendFocusEvent:to:clear:
-1220670476 s HandMorph>sendEvent:focus:clear:
-1221000572 s HandMorph>sendMouseEvent:
-1221000664 s HandMorph>handleEvent:
-1220670384 s HandMorph>processEvents
-1220670292 s [] in WorldState>doOneCycleNowFor:
-1220670200 s Array(SequenceableCollection)>do:
-1220670108 s WorldState>handsDo:
-1221001008 s WorldState>doOneCycleNowFor:
-1220670016 s WorldState>doOneCycleFor:
-1220669924 s PasteUpMorph>doOneCycle
-1221589100 s [] in Project class>spawnNewProcess
-1221602884 s [] in BlockClosure>newProcess

Most recent primitives
basicNew
size
at:
basicNew:
decompress:fromByteArray:at:
beCursorWithMask:
vmParameterAt:put:
vmParameterAt:put:
setGCBiasToGrowGCLimit:
setGCBiasToGrow:
ensure:
valueNoContextSwitch
wait
value
specialObjectsArray
new:
at:put:
value
signal
basicNew
new:
at:
value:
basicIdentityHash
on:do:
value
perform:with:
millisecondClockValue
signal
value:
size
size
bitShift:
\\
\\
\\
\\
\\
perform:with:
shallowCopy
subclasses
new:
new:
new:
//
value:
value:
value:
=
=
value:
value:
at:put:
value:
at:put:
addAll:
-
+
+
+
size
at:
do:
do:
value:
getSystemAttribute:
compare:with:collated:
value:
value:
platformName
=
=
value:
value:
getSystemAttribute:
compare:with:collated:
determineActivePlatformStartingAt:
determineActivePlatformStartingAt:
basicNew
value:
value:
value:
value:
perform:with:
actualScreenSize
species
species
supportsDisplayDepth:
new:
basicNew
beDisplay
value:
perform:with:
isMemberOf:
value:
perform:with:
basicNew
critical:
critical:
wait
wait
specialObjectsArray
species
new:
replaceFrom:to:with:startingAt:
specialObjectsArray
at:put:
at:put:
primSetInputSemaphore:
suspend
findNextUnwindContextUpTo:
value:
bottomContext
objectAt:
basicNew:
basicNew
basicNew
findNextHandlerContextStarting
tempAt:
nextHandlerContext
handleSignal:
isKindOf:
tempAt:put:
tempAt:put:
tempAt:put:
valueWithArguments:
findNextHandlerContextStarting
basicNew
findNextHandlerContextStarting
tempAt:
findNextHandlerContextStarting
tempAt:
Abgebrochen

Cheers
Philippe



Reply | Threaded
Open this post in threaded view
|

Re: new Cog VMs

Eliot Miranda-2
In reply to this post by mkobetic
Hi Martin,

    crashing immediately on startup could be to do with the UUIDPlugin and libuuid.  Try removing coglinux/lib/squeak/3.9-7/UUIDPlugin and see if it makes a difference.  If it does I believe the fix is to ensure that there's a 32-bit libuuid.so.1 installed.  e.g.

[eliot@mcqfes bld]$ ldd coglinux/lib/squeak/3.9-7/UUIDPlugin 
        linux-gate.so.1 =>  (0x00e2e000)
        libuuid.so.1 => /lib/libuuid.so.1 (0x0067e000)
        libc.so.6 => /lib/libc.so.6 (0x008d6000)
        /lib/ld-linux.so.2 (0x0045a000)
[eliot@mcqfes bld]$ file /lib/libuuid.so.1
/lib/libuuid.so.1: symbolic link to `libuuid.so.1.2'
[eliot@mcqfes bld]$ file /lib/libuuid.so.1.2
/lib/libuuid.so.1.2: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped

Search the Squeak, vm-dev and Pharo archives for info on how to install a 32-bit version.  I think it was mentioned within the last month.

If your problem is nothing to do with libuuid then I need info like exact OS version, what directories you've installed things in and a gdb backtrace for the crash.


HTH
Eliot

On Sat, Jan 1, 2011 at 11:16 PM, <[hidden email]> wrote:
I'm probably doing something obviously wrong, but I have no luck with the Cog VM. It crashes immediately on startup even with the stock OneClick image. I downloaded the Pharo-1.1.1 OneClick images. Fetched the latest coglinux.tgz (r2340), untarred it into the pharo directory and just trying to run it from the top-level pharo directory as:

       coglinux/squeak Contents/Resources/pharo.image

crashes immediately (with or without the -vm-display-X11 option). This is on latest Fedora 14. The old VM seems to have no problem when I try to run it the same way:

       Contents/Linux/squeakvm Contents/Resources/pharo.image

seems to start just fine. I can copy the stack dump from the crash, but since most seem to be running fine, I suspect I'm just not doing it right. What am I missing ?

Thanks,

Martin

"Eliot Miranda"<[hidden email]> wrote:
>    there are new versions of both the SimpleStackBasedCogit and the
> StackToRegisterMappingCogit Cog VMs in
> VM.r2339/<http://www.mirandabanda.org/files/Cog/VM/VM.r2339/>
>  & VM.r2340/ <http://www.mirandabanda.org/files/Cog/VM/VM.r2340/> respectively.
>  These contain fixes for rounding bug causing underestimate of openPICSize
> and resultant hard crashes, seen e.g. by trying to recover lost changes in a
> Pharo 1.2 image installed on c:\pharo.  If you're trying to reproduce Cog
> crashes please upgrade to one of tthese two VMs.


12