Hi guys.  After install the Athen's tutorial, I have had some error in the
image:

*Segmentation fault Fri Apr 26 03:59:42 2013
*
There is a problem over the image or my vm?
​ ​
I added the full log in the attached,​

On Fri, Apr 12, 2013 at 4:53 AM, Tristan Bourgois <
tristan.bourg...@gmail.com> wrote:

>
>
>
> 2013/4/11 Igor Stasenko <siguc...@gmail.com>
>
>> On 11 April 2013 10:44, Tristan Bourgois <tristan.bourg...@gmail.com>
>> wrote:
>> >
>> >
>> >
>> > 2013/4/11 Igor Stasenko <siguc...@gmail.com>
>> >>
>> >> On 11 April 2013 08:55, Tristan Bourgois <tristan.bourg...@gmail.com>
>> >> wrote:
>> >> >
>> >> >
>> >> >
>> >> > 2013/4/10 Igor Stasenko <siguc...@gmail.com>
>> >> >>
>> >> >>
>> >> >>
>> >> >> On 10 April 2013 09:14, Tristan Bourgois <
>> tristan.bourg...@gmail.com>
>> >> >> wrote:
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>> 2013/4/9 Igor Stasenko <siguc...@gmail.com>
>> >> >>>>
>> >> >>>> Yes, this is a known bug actually, which i demonstrated to
>> audience
>> >> >>>> during
>> >> >>>> tutorial presentation..
>> >> >>>> i/cairo miss the correct font matrix setup.. and i need to see
>> what's
>> >> >>>> there.
>> >> >>>> Cairo caching the glyphs in a strange way (so if you never drawn
>> >> >>>> anything with given font before and your first drawing will use
>> some
>> >> >>>> rotation
>> >> >>>> then everything will be rendered correctly, but if you already
>> drawn
>> >> >>>> anything
>> >> >>>> it will render them like you shown)..
>> >> >>>> I'm going to fix that issue when i come back from Lviv.
>> >> >>>>
>> >> >>>
>> >> >>> Super :)
>> >> >>>
>> >> >>> Did you also see the cairo_text_path() method? It's very
>> interesting
>> >> >>> if
>> >> >>> you want to stroke the letter!
>> >> >>
>> >> >>
>> >> >> Yes but this is more for fancy artistic text. For rendering large
>> >> >> amounts
>> >> >> of text (like big lists/source code) you don't want to do that,
>> >> >> because it will be too slow.
>> >> >>
>> >> >
>> >> > Thanks for the advice I will share it to my team because they want
>> >> > performance and use text_path  instead of show_text.
>> >> >
>> >>
>> >> yes, the freetype library (and i guess you using it) is highly
>> >> optimized for font rendering.
>> >> sure thing, cairo path rendering is fast as well, but it is not as
>> >> specialized for just font rendering as freetype,
>> >> therefore, i have no doubts that it will be slower.
>> >>
>> >>
>> >
>> >
>> > I only use Athens to rendering the graphics framework :) And I try to
>> not
>> > use directly some AthensCairo object to benefit of futur new backend of
>> > Athens :) and sincerely you really make a good job of the Athens
>> interface!
>> > It's very easy to use it! In one case I use AthensCairo object. I have
>> to
>> > use AthensCairoMatrix instead of AthensAffineTransform to represent the
>> > transformation of a shape because I have to make an inversion of the
>> matrix
>> > to make a global position to the local position of the shape.
>> >
>> Ah, you mean this:
>>
>> AthensAffineTransform>>inverted
>>         "answer an inverse transformation of receiver"
>>         self notYetImplemented
>>
>> yes, someone has to implement it ;)
>>
>>
> If the weather is bad at Brest this week-end I will try to implement it :)
> (My last lesson of Matrix calculation is very old!)
>
>  But actually you can just use #inverseTransform: aPoint
>>
>> i.e. if:
>>
>> pt := m transform: somePoint.
>>
>> then
>>
>> somePoint closeTo: (m inverseTransform: pt)  ==> true.
>>
>> (close to instead of #= because of float rounding errors)
>>
>>
>> --
>> Best regards,
>> Igor Stasenko.
>>
>>
>
pharo VM version: 3.9-7 #1 Wed Mar 13 18:22:44 CET 2013 gcc 4.4.3
Built from: NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: 
a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013
With: NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: 
a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013
Revision: git://gitorious.org/cogvm/blessed.git Commit: 
412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100 By: 
Esteban Lorenzano <esteba...@gmail.com> Jenkins build #14535
Build host: Linux linux-ubuntu-10 2.6.32-38-server #83-Ubuntu SMP Wed Jan 4 
11:26:59 UTC 2012 x86_64 GNU/Linux
plugin path: /home/vincent/Pharo/vm/ [default: /home/vincent/Pharo/vm/]


C stack backtrace:
/home/vincent/Pharo/vm/pharo[0x80a0c0c]
/home/vincent/Pharo/vm/pharo[0x80a0f28]
[0xf7793410]
/home/vincent/Pharo/vm/pharo[0x8120215]
/home/vincent/Pharo/vm/pharo[0x8091d8a]
/home/vincent/Pharo/vm/pharo[0x8092300]
/home/vincent/Pharo/vm/pharo[0x8092417]
[0xb7136a99]
/home/vincent/Pharo/vm/pharo(interpret+0x7a6)[0x8094f36]
/home/vincent/Pharo/vm/pharo(main+0x2b3)[0x80a18b3]
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0xf75964d3]


Smalltalk stack dump:
0xffa4237c M NBFFICallout class(NBNativeCodeGen class)>retrySend: 0xb786b7b8: 
a(n) NBFFICallout class
0xffa40264 I AthensCairoSurface>asForm 0xb83319c0: a(n) AthensCairoSurface
0xffa40288 I AthensViewMorph>drawOn: 0xb8304404: a(n) AthensViewMorph
0xffa402a4 M FormCanvas(Canvas)>draw: 0xb87ddb50: a(n) FormCanvas
0xffa402c0 M FormCanvas(Canvas)>drawMorph: 0xb87ddb50: a(n) FormCanvas
0xffa402e0 M [] in AthensViewMorph(Morph)>fullDrawOn: 0xb8304404: a(n) 
AthensViewMorph
0xffa402f8 M FormCanvas>roundCornersOf:in:during: 0xb87ddb50: a(n) FormCanvas
0xffa4031c M FormCanvas(Canvas)>roundCornersOf:during: 0xb87ddb50: a(n) 
FormCanvas
0xffa40340 M [] in AthensViewMorph(Morph)>fullDrawOn: 0xb8304404: a(n) 
AthensViewMorph
0xffa4035c M BlockClosure>on:do: 0xb87ddcac: a(n) BlockClosure
0xffa4037c M AthensViewMorph(Morph)>fullDrawOn: 0xb8304404: a(n) AthensViewMorph
0xffa3f248 M FormCanvas(Canvas)>fullDraw: 0xb87ddb50: a(n) FormCanvas
0xffa3f264 M FormCanvas(Canvas)>fullDrawMorph: 0xb87ddb50: a(n) FormCanvas
0xffa3f284 M [] in PanelMorph(Morph)>drawSubmorphsOn: 0xb8307cac: a(n) 
PanelMorph
0xffa3f2a4 M Array(SequenceableCollection)>reverseDo: 0xb830ebbc: a(n) Array
0xffa3f2c0 M [] in PanelMorph(Morph)>drawSubmorphsOn: 0xb8307cac: a(n) 
PanelMorph
0xffa3f2dc M FormCanvas>clipBy:during: 0xb87dd7dc: a(n) FormCanvas
0xffa3f300 M PanelMorph(Morph)>drawSubmorphsOn: 0xb8307cac: a(n) PanelMorph
0xffa3f320 M [] in PanelMorph(Morph)>fullDrawOn: 0xb8307cac: a(n) PanelMorph
0xffa3f338 M FormCanvas>roundCornersOf:in:during: 0xb87dd7dc: a(n) FormCanvas
0xffa3f35c M FormCanvas(Canvas)>roundCornersOf:during: 0xb87dd7dc: a(n) 
FormCanvas
0xffa3f380 M [] in PanelMorph(Morph)>fullDrawOn: 0xb8307cac: a(n) PanelMorph
0xffa3e24c M BlockClosure>on:do: 0xb87dd938: a(n) BlockClosure
0xffa3e26c M PanelMorph(Morph)>fullDrawOn: 0xb8307cac: a(n) PanelMorph
0xffa3e288 M FormCanvas(Canvas)>fullDraw: 0xb87dd7dc: a(n) FormCanvas
0xffa3e2a4 M FormCanvas(Canvas)>fullDrawMorph: 0xb87dd7dc: a(n) FormCanvas
0xffa3e2c4 M [] in StandardWindow(Morph)>drawSubmorphsOn: 0xb8305870: a(n) 
StandardWindow
0xffa3e2ec I Array(SequenceableCollection)>reverseDo: 0xb830edfc: a(n) Array
0xffa3e310 I [] in StandardWindow(Morph)>drawSubmorphsOn: 0xb8305870: a(n) 
StandardWindow
0xffa3e334 I FormCanvas>clipBy:during: 0xb87dd488: a(n) FormCanvas
0xffa3e360 I StandardWindow(Morph)>drawSubmorphsOn: 0xb8305870: a(n) 
StandardWindow
0xffa3e380 M [] in StandardWindow(Morph)>fullDrawOn: 0xb8305870: a(n) 
StandardWindow
0xffa3c26c M FormCanvas>roundCornersOf:in:during: 0xb87dd488: a(n) FormCanvas
0xffa3c290 M FormCanvas(Canvas)>roundCornersOf:during: 0xb87dd488: a(n) 
FormCanvas
0xffa3c2b4 M [] in StandardWindow(Morph)>fullDrawOn: 0xb8305870: a(n) 
StandardWindow
0xffa3c2d0 M BlockClosure>on:do: 0xb87dd574: a(n) BlockClosure
0xffa3c2f0 M StandardWindow(Morph)>fullDrawOn: 0xb8305870: a(n) StandardWindow
0xffa3c30c M FormCanvas(Canvas)>fullDraw: 0xb87dd488: a(n) FormCanvas
0xffa3c328 M FormCanvas(Canvas)>fullDrawMorph: 0xb87dd488: a(n) FormCanvas
0xffa3c37c M [] in WorldState>drawWorld:submorphs:invalidAreasOn: 0xb7335940: 
a(n) WorldState
0xffa37230 I Rectangle>allAreasOutsideList:startingAt:do: 0xb87954fc: a(n) 
Rectangle
0xffa3725c I Rectangle>allAreasOutsideList:do: 0xb87954fc: a(n) Rectangle
0xffa372a0 I [] in WorldState>drawWorld:submorphs:invalidAreasOn: 0xb7335940: 
a(n) WorldState
0xffa372c4 M Array(SequenceableCollection)>do: 0xb87ab72c: a(n) Array
0xffa372fc I WorldState>drawWorld:submorphs:invalidAreasOn: 0xb7335940: a(n) 
WorldState
0xffa37334 M [] in WorldState>displayWorld:submorphs: 0xb7335940: a(n) 
WorldState
0xffa37354 I FormCanvas>roundCornersOf:in:during: 0xb87ab624: a(n) FormCanvas
0xffa37378 M FormCanvas(Canvas)>roundCornersOf:during: 0xb87ab624: a(n) 
FormCanvas
0xffa3628c I WorldState>displayWorld:submorphs: 0xb7335940: a(n) WorldState
0xffa362b4 I PasteUpMorph>privateOuterDisplayWorld 0xb7325c4c: a(n) PasteUpMorph
0xffa362d4 I PasteUpMorph>displayWorld 0xb7325c4c: a(n) PasteUpMorph
0xffa362f8 I [] in WorldState>displayWorldSafely: 0xb7335940: a(n) WorldState
0xffa36314 M BlockClosure>on:do: 0xb87ab518: a(n) BlockClosure
0xffa36334 M BlockClosure>ifError: 0xb87ab518: a(n) BlockClosure
0xffa36358 I WorldState>displayWorldSafely: 0xb7335940: a(n) WorldState
0xffa3637c I WorldState>doOneCycleNowFor: 0xb7335940: a(n) WorldState
0xb83b4984 s WorldState>doOneCycleFor:
0xb83b49e0 s PasteUpMorph>doOneCycle
0xb82fa370 s [] in MorphicUIManager>spawnNewProcess
0xb82fa2bc s [] in BlockClosure>newProcess

Most recent primitives
replaceFrom:to:with:startingAt:
class
class
replaceFrom:to:with:startingAt:
class
class
replaceFrom:to:with:startingAt:
class
stringHash:initialHash:
basicNew
at:put:
class
class
replaceFrom:to:with:startingAt:
class
class
replaceFrom:to:with:startingAt:
class
class
replaceFrom:to:with:startingAt:
class
class
replaceFrom:to:with:startingAt:
class
class
replaceFrom:to:with:startingAt:
class
class
replaceFrom:to:with:startingAt:
class
class
replaceFrom:to:with:startingAt:
class
class
replaceFrom:to:with:startingAt:
species
basicNew:
replaceFrom:to:with:startingAt:
basicNew
platformId
basicNew
at:
class
class
class
compare:with:collated:
at:
at:
at:
at:
new:
at:put:
at:put:
at:put:
species
basicNew:
replaceFrom:to:with:startingAt:
replaceFrom:to:with:startingAt:
class
stringHash:initialHash:
class
class
compare:with:collated:
perform:
basicNew:
basicNew
at:put:
at:put:
at:put:
at:put:
species
basicNew:
replaceFrom:to:with:startingAt:
species
basicNew:
at:put:
at:put:
at:put:
at:put:
basicNew:
basicNew
class
class
replaceFrom:to:with:startingAt:
class
class
replaceFrom:to:with:startingAt:
at:put:
at:put:
at:put:
at:put:
class
class
class
class
class
class
class
class
class
class
class
class
class
class
class
class
class
class
class
class
class
at:put:
species
basicNew:
replaceFrom:to:with:startingAt:
objectAt:
basicNew
at:
class
class
class
compare:with:collated:
at:
at:
at:
at:
class
objectAt:
newMethod:header:
at:put: (repeat lot of times)
objectAt:
objectAt:
objectAt:put:
objectAt:
objectAt:put:
objectAt:
objectAt:put:
objectAt:
objectAt:put:
objectAt:
objectAt:put:
objectAt:
objectAt:
shallowCopy
shallowCopy
basicAt:put:
objectAt:
objectAt:put:
at:
at:put:
at:
at:put:
at:
at:put:
at:
at:put:
objectAt:
objectAt:
objectAt:
objectAt:
objectAt:
flushCache
at:put:
objectAt:
objectAt:
new:
terminateTo:
objectAt:
objectAt:
perform:withArguments:
flush

stack page bytes 4096 available headroom 3300 minimum unused headroom 3508

        (Segmentation fault)
Aborted (core dumped)

Reply via email to