[Pharo-project] Gettext package, who?
Who is maintaining the Gettext package? I remember someone volunteer to take over but I forgot who and where. I have a few fixes to get the gettext package working with 1.4, at least the exporter. Hilaire -- Dr. Geo -- http://www.drgeo.eu
Re: [Pharo-project] [squeak-dev] Simulation discrepancy with #return:
Just found this mail.. :) Will take a look tomorrow. And, if we're speaking about debugger, there are problems with simulating primitive: module: error: vs primitive: module: i'm not sure, how good/bad things in squeak, but in pharo, Mariano modified the code to get rid of many try:with:with.. but still it doesn't handling simulation of primitives with error codes right. http://code.google.com/p/pharo/issues/detail?id=5459 -- Best regards, Igor Stasenko.
[Pharo-project] Are you sending mails because it looks like the list is blocked.
[Pharo-project] 1.3 image not available?
Hi guys. Clicking on the 1.3 image link on pharo-project.org yields a 404. The image can't be found on the server… Cheers, Max
Re: [Pharo-project] Dedicated to days of wasted time in your life, formatting source code for replacing spaces with tabs
On Mar 11, 2012, at 5:25 PM, Igor Stasenko wrote: but it looks like this is not important to people, since nobody replied to this post except you. not always Igor. That would be true if people had paid attention and then decided to ignore it. But the truth is that most of the time people don't care in the first place because they just don't get it (maybe that never happened to them). So, they won't care until you help them to perceive (the size of the problem and the size of the solution). In other words it's a marketing problem. What can you do about that? Telling a story seems to work [1] sebastian o/ PS: I've didn't tried your code but it sounds like something that could be necessary for having a pretty print button (that I'd actually like to have somewhere hidden because I'm also fan of tabs instead of spaces) [1] a story with a well structured hero's journey, where the hero or good people felt so much pain because of X and the gift from the gods (software is like magic) save them in the last minute. Ideas for a story like that for that code? having a guy in a team that codes with spaces makes the bests guys of that team to waste some of their precious time.
[Pharo-project] ExternalDropHandler depending on World
Hi! What is external drop handler? ¿an object in charge of handling the drag n drop in the paste up morph? Should these two methods depending on Form and World be packaged with Morphic? Guille ExternalDropHandler classdefaultImageHandler ^ExternalDropHandler type: 'image/' extension: nil action: [:stream :pasteUp :event | | image sketch | stream binary. image := Form fromBinaryStream: ((RWBinaryOrTextStream with: stream contents) reset). sketch := World drawingClass withForm: image. pasteUp addMorph: sketch centeredNear: event position. image := sketch := nil] ExternalDropHandler classregisterStandardExternalDropHandlers ExternalDropHandler registerStandardExternalDropHandlers self registeredHandlers add: ( ExternalDropHandler type: 'image/' extension: nil action: [:stream :pasteUp :event | pasteUp addMorph: (World drawingClass withForm: (Form fromBinaryStream: stream binary)) centeredNear: event position])
[Pharo-project] MultiCompositionScanner depending on Morphic stuff
*- MultiCompositionScannercomposeFrom:inRectangle:firstLine:leftSide:rightSide: * depends on TextLine which is packaged as Morphic-Text Support - *MultiCompositionScannersetFont* depends on TextComposer which is packaged as Morphic-Text Support also http://code.google.com/p/pharo/issues/detail?id=5478thanks=5478ts=1331734475 Guille
[Pharo-project] LanguageEnvironment depending on Network stuff
Do we want this dependency? LanguageEnvironmentfontDownload (Locale isoLanguage: 'ja') languageEnvironment fontDownload (FileDirectory default fileExists: self fontFullName) ifTrue: [^ self]. Cursor read showWhile: [self fontDownloadUrls do: [:each | [ | contents f |contents := (each , '/' , self fontFileName) asUrl retrieveContents contents. (contents first: 2) = 'PK' ifTrue: [f := FileStream newFileNamed: self fontFullName. f binary. [f nextPutAll: contents] ensure: [f close]. ^ self]] on: NameLookupFailure do: [:e | e]]]. self error: 'Fonts does not found (' , self fontFullName , ')' http://code.google.com/p/pharo/issues/detail?id=5479thanks=5479ts=1331734668
Re: [Pharo-project] LanguageEnvironment depending on Network stuff
On Mar 15, 2012, at 2:34 PM, Guillermo Polito wrote: Do we want this dependency? This has been removed some weeks ago. LanguageEnvironmentfontDownload (Locale isoLanguage: 'ja') languageEnvironment fontDownload (FileDirectory default fileExists: self fontFullName) ifTrue: [^ self]. Cursor read showWhile: [self fontDownloadUrls do: [:each | [ | contents f |contents := (each , '/' , self fontFileName) asUrl retrieveContents contents. (contents first: 2) = 'PK' ifTrue: [f := FileStream newFileNamed: self fontFullName. f binary. [f nextPutAll: contents] ensure: [f close]. ^ self]] on: NameLookupFailure do: [:e | e]]]. self error: 'Fonts does not found (' , self fontFullName , ')' http://code.google.com/p/pharo/issues/detail?id=5479thanks=5479ts=1331734668 -- Marcus Denker -- http://marcusdenker.de
[Pharo-project] Three presentations at Dyncon 2012 in Stockholm
Hey fellas! Just wanted to mention that Smalltalk and Amber in particular has a fairly strong presence this year at Dyncon 2012 (http://swdc.se/dyncon2012/): - I am presenting Brave new world (the architecture of SmalltalkHub, which includes Amber, Phriak, Pharo, Seaside-REST etc) (see http://swdc.se/dyncon2012/sessions/) - Nicolas is presenting Amber. - Jason Ayers is probably presenting something Smalltalk related :) regards, Göran
Re: [Pharo-project] 1.3 image not available?
On Mar 15, 2012, at 2:32 PM, Max Leske wrote: Hi guys. Clicking on the 1.3 image link on pharo-project.org yields a 404. The image can't be found on the server… This was a temporal problem when the gforge.inria.fr was moved to a new server. -- Marcus Denker -- http://marcusdenker.de
[Pharo-project] Bug in WAMemoryItemsizeOfObject
Hi guys, I haven't checked if this bug exists already, so please ignore this if it's been reported before. Bug in WAMemoryItem: sizeOfObject: anObject | headerSize instanceSize variableSize | headerSize := anObject class indexIfCompact 0 ifTrue: [ 4 ] ifFalse: [ 8 ]. instanceSize := anObject class instSize. variableSize := anObject class isBytes ifTrue: [ anObject basicSize ] ifFalse: [ anObject class isWords ifTrue: [ Smalltalk wordSize * anObject basicSize ] ifFalse: [ Smalltalk wordSize * anObject basicSize // 2 ] ]. ^ headerSize + instanceSize + variableSize In this snippet, the units that are added together in the last line are of different units. instanceSize is in unit number of machine words, whereas variableSize and headerSize are in unit bytes. The method is fixed here: sizeOfObject: anObject | headerSize instanceSize variableSize | headerSize := anObject class indexIfCompact 0 ifTrue: [ 4 ] ifFalse: [ 8 ]. instanceSize := anObject class instSize * Smalltalk wordSize. variableSize := anObject class isBytes ifTrue: [ anObject basicSize ] ifFalse: [ anObject class isWords ifTrue: [ Smalltalk wordSize * anObject basicSize ] ifFalse: [ Smalltalk wordSize * anObject basicSize // 2 ] ]. ^ headerSize + instanceSize + variableSize Example: |m| dict := Dictionary new. m := WAMemory new. dict traverseWithMemory: m seen: IdentitySet new. m totalSize This will incorrectly spit out 10, but should return 16, on a 32 bit VM. Niko -- http://scg.unibe.ch/staff/Schwarz twitter.com/nes1983 Tel: +41786126354
Re: [Pharo-project] Can we change diff-generator to ignore white-space diffs?
On 12.03.2012 15:33, Ben Coman wrote: Igor Stasenko wrote: Because it makes things unreadable. Here, i replaced spaces with tabs.. and see what happens. Similiarly... I am finding that as I am digging into it the system to learn it by scattering 'self halts' through the code and later deleting them, often the whitespace it not identical to the original and when reviewing changes in the Monticello Browser these these are annoying to have listed as changes. What do you think of the Monticello changes button ignoring whitespace? cheers, -ben Presumably, the method timestamp changed as well, and a new MC version would be saved with your credentials / current time... For these cases, I find it best to use Show versions... then revert to the old definition. Cheers, Henry
Re: [Pharo-project] Finally, jenkins were able to build win32 VM.
Ah, I forgot to mention: the same scenario works with the VM from Eliot (2522) Cheers, Doru On Tue, Mar 13, 2012 at 3:16 PM, Tudor Girba tu...@tudorgirba.com wrote: Hi, I just tried it and it crashed :(. Here is what I did: - I took the Moose image - it started fine, and seem to be responsive - I then loaded code in it using a configuration - while loading, it crashed I attach here the crash.dmp file. I cannot provide the actual code because it is proprietary. I will try to reproduce the problem in more available settings. Cheers, Doru On Tue, Mar 13, 2012 at 8:54 AM, Torsten Bergmann asta...@gmx.de wrote: Thanks Igor. Guys can you try and report if you have problems? Yes, thanks Igor, How can I see if this release integrates Eliots latest fixes for Cog? Thx T. -- Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de -- www.tudorgirba.com Every thing has its own flow -- www.tudorgirba.com Every thing has its own flow
[Pharo-project] Methods depending on Ring
Hi! All these methods use RGMethodDefinition or RGCommentDefinition: CompiledMethodmethodReference ClassDescriptionmethodReferencesInCategory: SystemNavigationallMethodsWithSourceString:matchCase: SystemNavigationcreateMethodNamed:realParent: SystemNavigationallCallsOn:localTo: TTransformationCompatibilitycollectMethodsFor:into: TraitDescriptioncollectMethodsFor:into: TraitDescriptionmethodReferencesInCategory: TClassAndTraitDescriptionmethodReferencesInCategory: TraitExclusionmethodReferencesInCategory: Is this ok? Because of them Ring is not unloadable... Are really CompiledMethod polymorphic with RGMethodDefinitions? Because if true maybe we can have in kernel CompiledMethodmethodReference ^self And let Ring override it. or not? Guille
[Pharo-project] CodeLoaderstartUp: installing World?
CodeLoader classstartUp: resuming resuming ifTrue: [ World ifNotNil: [World install. ActiveHand position: 100@100]. self processUpdates. ]. Is this method ok in this class? I'd expect for World ifNotNil: [World install. ActiveHand position: 100@100]. to be on PasteUpMorph or so... Guille
[Pharo-project] Pharo 1.4 Tests-Unix - Build # 285 - Still unstable!
BUILD UNSTABLEBuild URLhttps://ci.lille.inria.fr/pharo/job/Pharo%201.4%20Tests-Unix/285/Project:Pharo 1.4 Tests-UnixDate of build:Thu, 15 Mar 2012 10:21:05 +0100Build duration:7 mn 42 sCHANGESNo ChangesJUnit TestsName: Announcements.Tests.Core Failed: 0 test(s), Passed: 29 test(s), Skipped: 0 test(s), Total: 29 test(s)Name: BalloonTests.Collections Failed: 0 test(s), Passed: 34 test(s), Skipped: 0 test(s), Total: 34 test(s)Name: CollectionsTests.Arrayed Failed: 0 test(s), Passed: 562 test(s), Skipped: 0 test(s), Total: 562 test(s)Name: CollectionsTests.Atomic Failed: 0 test(s), Passed: 12 test(s), Skipped: 0 test(s), Total: 12 test(s)Name: CollectionsTests.Sequenceable Failed: 0 test(s), Passed: 907 test(s), Skipped: 0 test(s), Total: 907 test(s)Name: CollectionsTests.SplitJoin Failed: 0 test(s), Passed: 27 test(s), Skipped: 0 test(s), Total: 27 test(s)Name: CollectionsTests.Stack Failed: 0 test(s), Passed: 16 test(s), Skipped: 0 test(s), Total: 16 test(s)Name: CollectionsTests.Streams Failed: 0 test(s), Passed: 37 test(s), Skipped: 0 test(s), Total: 37 test(s)Name: CollectionsTests.Strings Failed: 0 test(s), Passed: 591 test(s), Skipped: 0 test(s), Total: 591 test(s)Name: CollectionsTests.Support Failed: 0 test(s), Passed: 12 test(s), Skipped: 0 test(s), Total: 12 test(s)Name: CollectionsTests.Text Failed: 0 test(s), Passed: 45 test(s), Skipped: 0 test(s), Total: 45 test(s)Name: CollectionsTests.Unordered Failed: 0 test(s), Passed: 1951 test(s), Skipped: 0 test(s), Total: 1951 test(s)Name: CollectionsTests.Weak Failed: 0 test(s), Passed: 739 test(s), Skipped: 0 test(s), Total: 739 test(s)Name: CompilerTests Failed: 0 test(s), Passed: 178 test(s), Skipped: 0 test(s), Total: 178 test(s)Name: CompressionTests.Archive Failed: 0 test(s), Passed: 2 test(s), Skipped: 0 test(s), Total: 2 test(s)Name: FS.Tests.AnsiStreams Failed: 0 test(s), Passed: 40 test(s), Skipped: 0 test(s), Total: 40 test(s)Name: FS.Tests.Core Failed: 0 test(s), Passed: 169 test(s), Skipped: 0 test(s), Total: 169 test(s)Name: FS.Tests.Disk Failed: 24 test(s), Passed: 27 test(s), Skipped: 0 test(s), Total: 51 test(s)Failed: FS.Tests.Disk.FSDiskFilesystemTest.testFileNamesFailed: FS.Tests.Disk.FSDiskFilesystemTest.testFileStreamDoFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamDoFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamDoIfAbsentFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamIfAbsentFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamDoFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamDoIfPresentFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamIfPresentFailed: FS.Tests.Disk.FSFileHandleTest.testAtFailed: FS.Tests.Disk.FSFileHandleTest.testAtPutFailed: FS.Tests.Disk.FSFileHandleTest.testAtPutBinaryAsciiFailed: FS.Tests.Disk.FSFileHandleTest.testAtWriteBinaryAsciiFailed: FS.Tests.Disk.FSFileHandleTest.testCloseFailed: FS.Tests.Disk.FSFileHandleTest.testCreatedOpenFailed: FS.Tests.Disk.FSFileHandleTest.testIOFailed: FS.Tests.Disk.FSFileHandleTest.testReadBufferTooLargeFailed: FS.Tests.Disk.FSFileHandleTest.testReadOnlyFailed: FS.Tests.Disk.FSFileHandleTest.testReferenceFailed: FS.Tests.Disk.FSFileHandleTest.testSizeAfterGrowFailed: FS.Tests.Disk.FSFileHandleTest.testSizeNoGrowFailed: FS.Tests.Disk.FSFileHandleTest.testTruncateFailed: FS.Tests.Disk.FSFileHandleTest.testWriteStreamName: FS.Tests.Memory Failed: 0 test(s), Passed: 50 test(s), Skipped: 0 test(s), Total: 50 test(s)Name: FreeTypeTests.cache Failed: 0 test(s), Passed: 23 test(s), Skipped: 0 test(s), Total: 23 test(s)Name: Gofer.Tests Failed: 0 test(s), Passed: 45 test(s), Skipped: 0 test(s), Total: 45 test(s)Name: Graphics.Tests.Files Failed: 0 test(s), Passed: 47 test(s), Skipped: 0 test(s), Total: 47 test(s)Name: Graphics.Tests.Primitives Failed: 0 test(s), Passed: 57 test(s), Skipped: 0 test(s), Total: 57 test(s)Name: HelpSystem.Tests.Builders Failed: 0 test(s), Passed: 5 test(s), Skipped: 0 test(s), Total: 5 test(s)Name: HelpSystem.Tests.Core.Model Failed: 0 test(s), Passed: 4 test(s), Skipped: 0 test(s), Total: 4 test(s)Name: HelpSystem.Tests.Core.UI Failed: 0 test(s), Passed: 6 test(s), Skipped: 0 test(s), Total: 6 test(s)Name: HelpSystem.Tests.Core.Utilities Failed: 0 test(s), Passed: 2 test(s), Skipped: 0 test(s), Total: 2 test(s)Name: KernelTests.Chronology Failed: 0 test(s), Passed: 578 test(s), Skipped: 0 test(s), Total: 578 test(s)Name: KernelTests.Classes Failed: 0 test(s), Passed: 68 test(s), Skipped: 0 test(s), Total: 68 test(s)Name: KernelTests.Exception Failed: 0 test(s), Passed: 3 test(s), Skipped: 0 test(s), Total: 3 test(s)Name: KernelTests.Methods Failed: 0 test(s), Passed: 177 test(s), Skipped: 0 test(s), Total: 177 test(s)Name: KernelTests.Numbers Failed: 0 test(s), Passed: 265 test(s), Skipped: 0 test(s), Total: 265 test(s)Name: KernelTests.Objects Failed: 0 test(s), Passed: 86 test(s),
Re: [Pharo-project] Preparing image for deployment [WAS: How to disable development tools on Pharo 1.3]
Hi, Sorry... I'm just catching up with this. I have to say that WorldSwitch package was not thought as a definitive package, but if is useful, I have already some other updates :) ...I didn't test it on pharo 1.4 yet, so I don't know how it is working there. Now, your error looks more like a Nautilus error than one from WorldSwitch... could you be more specific? Also, buttons are disabled (yellow or red) in a really hacky way (overriding methods)... maybe your version still does not works, I will commit my latest tonight. I insist: this is just a collection of things I did for placing a program in production, for a customer. I'm not claiming it is right and finished... and a better design solution should be present on Pharo in the future, IMHO :) best, Esteban El 07/03/2012, a las 2:37p.m., Usman Bhatti escribió: Hello all, Esteban, I took up the package for preparing a deployment image and I am testing it.. It works fine for blocking access to the development tools and debugger... I placed the package in the ss3 repo here: http://ss3.gemstone.com/ss/PrepareImageDeployment (you're one of the admins). Two things where I need help: 1. How do we disable the right-click menu (yellow-button menu) in a text editor? 2. While running deployment preparation code, I have a problem with cleaning monticello repositories... there is a KeyNotFound problem with TAddTest the process stops at this error. I have tried debugging it but couldn't find any clues; and the blockage of developers tools does not help much... I am attaching a screenshot of the problem, may be somebody has an idea... thanx in advance, usman Screen shot 2012-03-07 at 6.16.23 PM.png On Thu, Feb 2, 2012 at 2:32 PM, Esteban Lorenzano esteba...@gmail.com wrote: Hi Noury, I packaged what I have. And even create a settings configuration for it (under Deployment category). Notice that is very hacky and ugly and needs a lot (and I mean A LOT) of polish... but is a start :) see WSSettings class#setDeployment: for a start. best, Esteban El 02/02/2012, a las 6:40a.m., Noury Bouraqadi escribió: Hi Esteban, On 31 janv. 2012, at 14:23, Esteban Lorenzano wrote: Hi, in fact, what Mariano posted is just a part... disable everything is complicated, because code is everywhere... I'm collection all of this changes in a package, to see in advance if it is possible to abstract that. Thanks Esteban! Do you have a version of this package already? Otherwise, I'll start packaging what Mariano sent. Ideally, we should have a preference Disable Development Mode, or something like that to allow desktop developers to easily switch... Yes. We should have a menu for this. It's part of dev tools. It's a shame that this critical feature isn't available yet. Noury best, Esteban El 31/01/2012, a las 10:16a.m., Ben Coman escribió: Noury Bouraqadi wrote: I remember having seen some time in the past a menu that allows to shrink the image and disable the world menu. But, I can't retrieve any thing related. I don't care about the menu per se. I'd be happy with a message to send to some object that does the job. Noury -- http://twitter.com/#!/NouryBouraqadi http://www.kroobe.com/profile/noury Squeak 3.9 based, but perhaps something useful... Prepare For Application Deployment http://squeak.preeminent.org/tut2007/html/205.html Noury -- http://twitter.com/#!/NouryBouraqadi http://www.kroobe.com/profile/noury Afin de contribuer au respect de l'environnement, merci de n'imprimer ce courriel qu'en cas de necessite Please consider the environment before you print
[Pharo-project] [update 1.4] #14390
14390 - I Issue 5473: Auto accept and update lists in MCWorkingCopyBrowser and MCFileRepositoryVersionInspectorBrowser2 http://code.google.com/p/pharo/issues/detail?id=5473 -- Marcus Denker -- http://marcusdenker.de
[Pharo-project] quick methods and the method call stack
Hi! Can someone confirm or infirm the following: A quick method (ie. the compiled methods answer true to the message isQuick) is executed without creating a stack frame. Is that true? Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-project] Three presentations at Dyncon 2012 in Stockholm
On Mar 15, 2012, at 2:39 PM, Göran Krampe wrote: Hey fellas! Just wanted to mention that Smalltalk and Amber in particular has a fairly strong presence this year at Dyncon 2012 (http://swdc.se/dyncon2012/): - I am presenting Brave new world (the architecture of SmalltalkHub, which includes Amber, Phriak, Pharo, Seaside-REST etc) (see http://swdc.se/dyncon2012/sessions/) - Nicolas is presenting Amber. - Jason Ayers is probably presenting something Smalltalk related :) I added this as news to the ESUG website: http://esug.org/ -- Marcus Denker -- http://marcusdenker.de
[Pharo-project] Something is wrong with the CI server
Hi, is CI server working well? Jobs seem to be at least two times slower and some were running over whole night. I see no problem with the 1.4 image nor VM. -- Pavel
[Pharo-project] [update 1.4] #14391
14391 - Issue 5480: Remove a method in PluggableIconListMorph http://code.google.com/p/pharo/issues/detail?id=5480 Issue 5471: extend time for shouldntTakeLong: http://code.google.com/p/pharo/issues/detail?id=5471 Issue 5456: ClassBuilder depends on Text http://code.google.com/p/pharo/issues/detail?id=5456 -- Marcus Denker -- http://marcusdenker.de
Re: [Pharo-project] Gettext package, who?
On Mar 15, 2012, at 2:27 PM, Hilaire Fernandes wrote: Who is maintaining the Gettext package? I remember someone volunteer to take over but I forgot who and where. I have a few fixes to get the gettext package working with 1.4, at least the exporter. Another question: There are the remnants of the system left (#translated) that we used in Squeak 3.9... it might make sense to think about making gettext the default tranlation infrastructure? Marcus -- Marcus Denker -- http://marcusdenker.de
[Pharo-project] Pharo 1.4 Tests-Unix vs. Pharo Kernel Reload Tests-Unix
Hi, good news. We have got the same amount of test failures in th job Pharo Kernel Reload Tests-Unix as in the job Pharo 1.4 Tests-Unix https://ci.lille.inria.fr/pharo/view/Pharo%201.4/job/Pharo%201.4%20Tests-Unix/285/testReport/ https://ci.lille.inria.fr/pharo/view/Pharo-Kernel/job/Pharo%20Kernel%20Reload%20Tests-Unix/9/testReport/ On the other had, they differ in one failing job. For the standard Pharo the test named Tests.Monticello.MCFileInTest.testStWriter is always failing but on reloaded Pharo this tests almost never fails (sometimes yes). For reloaded Pharo, the test named Tests.Monticello.MCStWriterTest.testMethodDefinitionWithBangs is failing. The reason is in empty string when you get some timeStamps: (MCStWriterTest #methodWithBangs) timeStamp. When I load the Tests package again, it works well. -- Pavel
Re: [Pharo-project] Something is wrong with the CI server
On Mar 15, 2012, at 3:11 PM, Pavel Krivanek wrote: Hi, is CI server working well? Jobs seem to be at least two times slower and some were running over whole night. I see no problem with the 1.4 image nor VM. Yes, there is some problem and no, I have no idea yet what it is. Marcus -- Marcus Denker -- http://marcusdenker.de
[Pharo-project] Pharo Kernel Reload Tests-Unix - Build # 8 - Still unstable!
BUILD UNSTABLEBuild URLhttps://ci.lille.inria.fr/pharo/job/Pharo%20Kernel%20Reload%20Tests-Unix/8/Project:Pharo Kernel Reload Tests-UnixDate of build:Thu, 15 Mar 2012 10:35:34 +0100Build duration:6 mn 26 sCHANGESNo ChangesJUnit TestsName: Announcements.Tests.Core Failed: 0 test(s), Passed: 29 test(s), Skipped: 0 test(s), Total: 29 test(s)Name: BalloonTests.Collections Failed: 0 test(s), Passed: 34 test(s), Skipped: 0 test(s), Total: 34 test(s)Name: CollectionsTests.Arrayed Failed: 0 test(s), Passed: 562 test(s), Skipped: 0 test(s), Total: 562 test(s)Name: CollectionsTests.Atomic Failed: 0 test(s), Passed: 12 test(s), Skipped: 0 test(s), Total: 12 test(s)Name: CollectionsTests.Sequenceable Failed: 0 test(s), Passed: 907 test(s), Skipped: 0 test(s), Total: 907 test(s)Name: CollectionsTests.SplitJoin Failed: 0 test(s), Passed: 27 test(s), Skipped: 0 test(s), Total: 27 test(s)Name: CollectionsTests.Stack Failed: 0 test(s), Passed: 16 test(s), Skipped: 0 test(s), Total: 16 test(s)Name: CollectionsTests.Streams Failed: 0 test(s), Passed: 37 test(s), Skipped: 0 test(s), Total: 37 test(s)Name: CollectionsTests.Strings Failed: 0 test(s), Passed: 591 test(s), Skipped: 0 test(s), Total: 591 test(s)Name: CollectionsTests.Support Failed: 0 test(s), Passed: 12 test(s), Skipped: 0 test(s), Total: 12 test(s)Name: CollectionsTests.Text Failed: 0 test(s), Passed: 45 test(s), Skipped: 0 test(s), Total: 45 test(s)Name: CollectionsTests.Unordered Failed: 0 test(s), Passed: 1951 test(s), Skipped: 0 test(s), Total: 1951 test(s)Name: CollectionsTests.Weak Failed: 0 test(s), Passed: 739 test(s), Skipped: 0 test(s), Total: 739 test(s)Name: CompilerTests Failed: 0 test(s), Passed: 178 test(s), Skipped: 0 test(s), Total: 178 test(s)Name: CompressionTests.Archive Failed: 0 test(s), Passed: 2 test(s), Skipped: 0 test(s), Total: 2 test(s)Name: FS.Tests.AnsiStreams Failed: 0 test(s), Passed: 40 test(s), Skipped: 0 test(s), Total: 40 test(s)Name: FS.Tests.Core Failed: 0 test(s), Passed: 169 test(s), Skipped: 0 test(s), Total: 169 test(s)Name: FS.Tests.Disk Failed: 24 test(s), Passed: 27 test(s), Skipped: 0 test(s), Total: 51 test(s)Failed: FS.Tests.Disk.FSDiskFilesystemTest.testFileNamesFailed: FS.Tests.Disk.FSDiskFilesystemTest.testFileStreamDoFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamDoFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamDoIfAbsentFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamIfAbsentFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamDoFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamDoIfPresentFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamIfPresentFailed: FS.Tests.Disk.FSFileHandleTest.testAtFailed: FS.Tests.Disk.FSFileHandleTest.testAtPutFailed: FS.Tests.Disk.FSFileHandleTest.testAtPutBinaryAsciiFailed: FS.Tests.Disk.FSFileHandleTest.testAtWriteBinaryAsciiFailed: FS.Tests.Disk.FSFileHandleTest.testCloseFailed: FS.Tests.Disk.FSFileHandleTest.testCreatedOpenFailed: FS.Tests.Disk.FSFileHandleTest.testIOFailed: FS.Tests.Disk.FSFileHandleTest.testReadBufferTooLargeFailed: FS.Tests.Disk.FSFileHandleTest.testReadOnlyFailed: FS.Tests.Disk.FSFileHandleTest.testReferenceFailed: FS.Tests.Disk.FSFileHandleTest.testSizeAfterGrowFailed: FS.Tests.Disk.FSFileHandleTest.testSizeNoGrowFailed: FS.Tests.Disk.FSFileHandleTest.testTruncateFailed: FS.Tests.Disk.FSFileHandleTest.testWriteStreamName: FS.Tests.Memory Failed: 0 test(s), Passed: 50 test(s), Skipped: 0 test(s), Total: 50 test(s)Name: FreeTypeTests.cache Failed: 0 test(s), Passed: 23 test(s), Skipped: 0 test(s), Total: 23 test(s)Name: Gofer.Tests Failed: 0 test(s), Passed: 45 test(s), Skipped: 0 test(s), Total: 45 test(s)Name: Graphics.Tests.Files Failed: 0 test(s), Passed: 47 test(s), Skipped: 0 test(s), Total: 47 test(s)Name: Graphics.Tests.Primitives Failed: 0 test(s), Passed: 57 test(s), Skipped: 0 test(s), Total: 57 test(s)Name: HelpSystem.Tests.Builders Failed: 0 test(s), Passed: 5 test(s), Skipped: 0 test(s), Total: 5 test(s)Name: HelpSystem.Tests.Core.Model Failed: 0 test(s), Passed: 4 test(s), Skipped: 0 test(s), Total: 4 test(s)Name: HelpSystem.Tests.Core.UI Failed: 0 test(s), Passed: 6 test(s), Skipped: 0 test(s), Total: 6 test(s)Name: HelpSystem.Tests.Core.Utilities Failed: 0 test(s), Passed: 2 test(s), Skipped: 0 test(s), Total: 2 test(s)Name: KernelTests.Chronology Failed: 0 test(s), Passed: 578 test(s), Skipped: 0 test(s), Total: 578 test(s)Name: KernelTests.Classes Failed: 0 test(s), Passed: 68 test(s), Skipped: 0 test(s), Total: 68 test(s)Name: KernelTests.Exception Failed: 0 test(s), Passed: 3 test(s), Skipped: 0 test(s), Total: 3 test(s)Name: KernelTests.Methods Failed: 0 test(s), Passed: 177 test(s), Skipped: 0 test(s), Total: 177 test(s)Name: KernelTests.Numbers Failed: 0 test(s), Passed: 265 test(s), Skipped: 0 test(s), Total: 265 test(s)Name: KernelTests.Objects Failed: 0 test(s),
[Pharo-project] broken gettext package in 1.4
I have this code below from Gettext package becoming broken with latest Ring Pharo 1.4 package. Can someone with the appropriate knowledge help me there? Problem occurs at (Smalltalk at: methodReference classSymbol) methodReference is a RGMethodDefinition Enclosed PharoDebug.log appendStringReceivers: aSymbol into: domains | literals references domainName methodReference keywords found | found := TranslatedReceiverFinder new stringReceiversWithContext: aSymbol. found do: [ :assoc | methodReference := assoc key. keywords := assoc value. domainName := self getTextDomainForClassCategory: (Smalltalk at: methodReference classSymbol) category. literals := domains at: domainName ifAbsentPut: [Dictionary new]. keywords do: [ :literal | references := literals at: literal ifAbsentPut: [OrderedCollection new]. references add: methodReference. ]. ]. -- Dr. Geo -- http://www.drgeo.eu THERE_BE_DRAGONS_HERE KeyNotFound: key #'AbstractFont class' not found in SystemDictionary 14 March 2012 9:41:29 pm VM: unix - i686 - linux - nil, nil, nil Image: Pharo1.4a [Latest update: #14367] SystemDictionary(Dictionary)errorKeyNotFound: Receiver: a SystemDictionary(lots of globals) Arguments and temporary variables: aKey: #'AbstractFont class' Receiver's instance variables: tally: 2526 array: an Array(nil nil #KoreanEnvironment-KoreanEnvironment #MultiCharacterSc...etc... cachedClassNames: an OrderedCollection(#AColorSelectorMorph #Abort #AboutDialog...etc... cachedNonClassNames: an OrderedCollection(#ActiveEvent #ActiveHand #ActiveWorld...etc... [self errorKeyNotFound: key] in SystemDictionary(Dictionary)at: Receiver: a SystemDictionary(lots of globals) Arguments and temporary variables: key: #'AbstractFont class' Receiver's instance variables: tally: 2526 array: an Array(nil nil #KoreanEnvironment-KoreanEnvironment #MultiCharacterSc...etc... cachedClassNames: an OrderedCollection(#AColorSelectorMorph #Abort #AboutDialog...etc... cachedNonClassNames: an OrderedCollection(#ActiveEvent #ActiveHand #ActiveWorld...etc... SystemDictionary(Dictionary)at:ifAbsent: Receiver: a SystemDictionary(lots of globals) Arguments and temporary variables: key: #'AbstractFont class' aBlock: [self errorKeyNotFound: key] assoc: nil Receiver's instance variables: tally: 2526 array: an Array(nil nil #KoreanEnvironment-KoreanEnvironment #MultiCharacterSc...etc... cachedClassNames: an OrderedCollection(#AColorSelectorMorph #Abort #AboutDialog...etc... cachedNonClassNames: an OrderedCollection(#ActiveEvent #ActiveHand #ActiveWorld...etc... SystemDictionary(Dictionary)at: Receiver: a SystemDictionary(lots of globals) Arguments and temporary variables: key: #'AbstractFont class' Receiver's instance variables: tally: 2526 array: an Array(nil nil #KoreanEnvironment-KoreanEnvironment #MultiCharacterSc...etc... cachedClassNames: an OrderedCollection(#AColorSelectorMorph #Abort #AboutDialog...etc... cachedNonClassNames: an OrderedCollection(#ActiveEvent #ActiveHand #ActiveWorld...etc... SmalltalkImageat: Receiver: Smalltalk Arguments and temporary variables: aKey: #'AbstractFont class' Receiver's instance variables: globals: a SystemDictionary(lots of globals) deferredStartupActions: nil [:assoc | methodReference := assoc key. keywords := assoc value. domainName := self getTextDomainForClassCategory: (Smalltalk at: methodReference classSymbol) category. literals := domains at: domainName ifAbsentPut: [Dictionary new]. keywords do: [:literal | references := literals at: literal ifAbsentPut: [OrderedCollection new]. references add: methodReference]] in GetTextExporterappendStringReceivers:into: Receiver: a GetTextExporter Arguments and temporary variables: error during printing Receiver's instance variables: stream: nil OrderedCollectiondo: Receiver: an OrderedCollection(AbstractFont classemphasisStringFor:-an OrderedCollection('Italic'...etc... Arguments and temporary variables: aBlock: [:assoc | methodReference := assoc key. keywords := assoc value. dom...etc... index: 1 Receiver's instance variables: array: an Array(AbstractFont classemphasisStringFor:-an OrderedCollection('I...etc... firstIndex: 1 lastIndex: 659 GetTextExporterappendStringReceivers:into: Receiver: a GetTextExporter Arguments and temporary variables: error during printing Receiver's instance variables: stream: nil GetTextExporterappendTranslations: Receiver: a GetTextExporter Arguments and temporary variables: domains: a Dictionary() Receiver's instance variables: stream: nil GetTextExporterexportTranslator: Receiver: a GetTextExporter Arguments and temporary variables:
Re: [Pharo-project] Gettext package, who?
+1 El 15/03/2012, a las 11:12a.m., Marcus Denker escribió: On Mar 15, 2012, at 2:27 PM, Hilaire Fernandes wrote: Who is maintaining the Gettext package? I remember someone volunteer to take over but I forgot who and where. I have a few fixes to get the gettext package working with 1.4, at least the exporter. Another question: There are the remnants of the system left (#translated) that we used in Squeak 3.9... it might make sense to think about making gettext the default tranlation infrastructure? Marcus -- Marcus Denker -- http://marcusdenker.de
Re: [Pharo-project] SystemTracer
Hi Eliot, do you have a pointer of where can I see the differences between the old Squeak format and the cog image format, so I can make SystemTracer work on Cog vms? Thanks, Guille On Thu, Jan 27, 2011 at 6:36 PM, Levente Uzonyi le...@elte.hu wrote: On Thu, 27 Jan 2011, Benjamin wrote: It works for PharoCore-1.1-11196-UNSTABLE.1 but it seems to be the only version where it works :S Does someone know why ? It doesn't support Cog's image format. Try an image with the original Squeak format. You can convert your image with the latest SqueakVM. Only the unix VM was released with this feature yet, so you can use that http://squeakvm.org/unix/ or build a VM for your favorite platform. Levente Thanks, Ben On Jan 27, 2011, at 3:36 PM, Benjamin wrote: Hello guys, for one of my projects, I'm trying to use SystemTracer to create anew image, but it appears that it doesn't work on Pharo ... I can create a new image, but I can't open it. I've tried with an older VM (Squeak 3.8.18beta1U), but it's the same ... Did someone already have this problem ? Does someone have a solution ? Thanks in advance, Ben
Re: [Pharo-project] Pharo 1.4 Tests-Unix vs. Pharo Kernel Reload Tests-Unix
On Mar 15, 2012, at 3:13 PM, Pavel Krivanek wrote: Hi, good news. We have got the same amount of test failures in th job Pharo Kernel Reload Tests-Unix as in the job Pharo 1.4 Tests-Unix https://ci.lille.inria.fr/pharo/view/Pharo%201.4/job/Pharo%201.4%20Tests-Unix/285/testReport/ https://ci.lille.inria.fr/pharo/view/Pharo-Kernel/job/Pharo%20Kernel%20Reload%20Tests-Unix/9/testReport/ On the other had, they differ in one failing job. For the standard Pharo the test named Tests.Monticello.MCFileInTest.testStWriter is always failing but on reloaded Pharo this tests almost never fails (sometimes yes). For reloaded Pharo, the test named Tests.Monticello.MCStWriterTest.testMethodDefinitionWithBangs is failing. The reason is in empty string when you get some timeStamps: (MCStWriterTest #methodWithBangs) timeStamp. When I load the Tests package again, it works well. We need to get the tests green... -- Marcus Denker -- http://marcusdenker.de
Re: [Pharo-project] Gettext package, who?
Le 15/03/2012 15:12, Marcus Denker a écrit : Another question: There are the remnants of the system left (#translated) that we used in Squeak 3.9... it might make sense to think about making gettext the default tranlation infrastructure? It is by the fact the case, no. So I guess this remnants can be removed. In parallel, the gettext lookup at runtime of the message catalog could be optimized. It was done for Etoys. May be not top priority has the impact is light anyway. As for now, I publish my changes to the gettext package in PharoNonCorePackages Hilaire -- Dr. Geo -- http://www.drgeo.eu
Re: [Pharo-project] Finally, jenkins were able to build win32 VM.
On 13 March 2012 08:54, Torsten Bergmann asta...@gmx.de wrote: Thanks Igor. Guys can you try and report if you have problems? Yes, thanks Igor, How can I see if this release integrates Eliots latest fixes for Cog? use Smalltalk vm version. then you can check the version history. Thx T. -- Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de -- Best regards, Igor Stasenko.
Re: [Pharo-project] MultiCompositionScanner depending on Morphic stuff
Good catch We should move them close to MultiCompositionScanner Stef On Mar 14, 2012, at 3:14 PM, Guillermo Polito wrote: - MultiCompositionScannercomposeFrom:inRectangle:firstLine:leftSide:rightSide: depends on TextLine which is packaged as Morphic-Text Support - MultiCompositionScannersetFont depends on TextComposer which is packaged as Morphic-Text Support also http://code.google.com/p/pharo/issues/detail?id=5478thanks=5478ts=1331734475 Guille
Re: [Pharo-project] LanguageEnvironment depending on Network stuff
I would also removed the thibetan environment. Stef Do we want this dependency? LanguageEnvironmentfontDownload (Locale isoLanguage: 'ja') languageEnvironment fontDownload (FileDirectory default fileExists: self fontFullName) ifTrue: [^ self]. Cursor read showWhile: [self fontDownloadUrls do: [:each | [ | contents f |contents := (each , '/' , self fontFileName) asUrl retrieveContents contents. (contents first: 2) = 'PK' ifTrue: [f := FileStream newFileNamed: self fontFullName. f binary. [f nextPutAll: contents] ensure: [f close]. ^ self]] on: NameLookupFailure do: [:e | e]]]. self error: 'Fonts does not found (' , self fontFullName , ')' http://code.google.com/p/pharo/issues/detail?id=5479thanks=5479ts=1331734668
[Pharo-project] Grouping of Tools?
I wonder if one can get Pharo to group the tools e.g the Workspace on one tab, Browsers on another etc. Any suggestions? Regards Friedrich -- Q-Software Solutions GmbH; Sitz: Bruchsal; Registergericht: Mannheim Registriernummer: HRB232138; Geschaeftsfuehrer: Friedrich Dominicus
Re: [Pharo-project] CodeLoaderstartUp: installing World?
On Mar 14, 2012, at 3:08 PM, Guillermo Polito wrote: CodeLoader classstartUp: resuming resuming ifTrue: [ World ifNotNil: [World install. ActiveHand position: 100@100]. self processUpdates. ]. Is this method ok in this class? I'd expect for World ifNotNil: [World install. ActiveHand position: 100@100]. to be on PasteUpMorph or so… Yes me too. To be fixed. Guille
Re: [Pharo-project] Unicode depending on Zinc
What about changing the initialize via a request to a method with the data? I don't think Unicode case mappings will change too much in time :P... Something like the attach Guille On Wed, Mar 14, 2012 at 12:06 PM, Guillermo Polito guillermopol...@gmail.com wrote: Hi, Does this method make sense? (Do we want Unicode to update itself?) Unicode classinitializeCaseMappings Unicode initializeCaseMappings ToCasefold := IdentityDictionary new. ToUpper := IdentityDictionary new. ToLower := IdentityDictionary new. UIManager default informUserDuring: [ :bar| | result | bar value: 'Downloading Unicode data'. (result := ZnClient get: ' http://www.unicode.org/Public/UNIDATA/CaseFolding.txt') isSuccess ifFalse: [ ^ self error: 'Download failed' ]. bar value: 'Updating Case Mappings'. self parseCaseMappingFrom: result contents readStream ]. Guille Unicode class-initializeCaseMapping.st Description: Binary data
Re: [Pharo-project] MultiCompositionScanner depending on Morphic stuff
On Mar 15, 2012, at 4:18 PM, Stéphane Ducasse wrote: Good catch We should move them close to MultiCompositionScanner Yes, in general the structure of the system is ad-hoc. e.g. the whole Multi-* changes should be folded into the classes that they extend (or at least be moved close). Other: Canvas is in Morphic, it's not clear where text support should be.. and lots more. Stef On Mar 14, 2012, at 3:14 PM, Guillermo Polito wrote: - MultiCompositionScannercomposeFrom:inRectangle:firstLine:leftSide:rightSide: depends on TextLine which is packaged as Morphic-Text Support - MultiCompositionScannersetFont depends on TextComposer which is packaged as Morphic-Text Support also http://code.google.com/p/pharo/issues/detail?id=5478thanks=5478ts=1331734475 Guille -- Marcus Denker -- http://marcusdenker.de
Re: [Pharo-project] Methods depending on Ring
On Mar 14, 2012, at 3:59 PM, Guillermo Polito wrote: Hi! All these methods use RGMethodDefinition or RGCommentDefinition: CompiledMethodmethodReference ClassDescriptionmethodReferencesInCategory: SystemNavigationallMethodsWithSourceString:matchCase: SystemNavigationcreateMethodNamed:realParent: SystemNavigationallCallsOn:localTo: TTransformationCompatibilitycollectMethodsFor:into: TraitDescriptioncollectMethodsFor:into: TraitDescriptionmethodReferencesInCategory: TClassAndTraitDescriptionmethodReferencesInCategory: TraitExclusionmethodReferencesInCategory: Is this ok? Because of them Ring is not unloadable... Are really CompiledMethod polymorphic with RGMethodDefinitions? Because if true maybe we can have in kernel CompiledMethodmethodReference ^self And let Ring override it. or not? I would call it methodDefinition and yes it would be good to be able to unload Ring. Thanks for trying. The problem is that before a lot of these references were referencing MethodReference. Stef
Re: [Pharo-project] Unicode depending on Zinc
Of course with a nice comment saying something like: Initialize the mappings from unicode lower to upper case and vice versa. sourceCodes and destinyCodes contains the unicode values for the mappings, and they match one by one. The source of this mapping can be found at: http://www.unicode.org/Public/UNIDATA/CaseFolding.txt' On Thu, Mar 15, 2012 at 12:22 PM, Guillermo Polito guillermopol...@gmail.com wrote: What about changing the initialize via a request to a method with the data? I don't think Unicode case mappings will change too much in time :P... Something like the attach Guille On Wed, Mar 14, 2012 at 12:06 PM, Guillermo Polito guillermopol...@gmail.com wrote: Hi, Does this method make sense? (Do we want Unicode to update itself?) Unicode classinitializeCaseMappings Unicode initializeCaseMappings ToCasefold := IdentityDictionary new. ToUpper := IdentityDictionary new. ToLower := IdentityDictionary new. UIManager default informUserDuring: [ :bar| | result | bar value: 'Downloading Unicode data'. (result := ZnClient get: ' http://www.unicode.org/Public/UNIDATA/CaseFolding.txt') isSuccess ifFalse: [ ^ self error: 'Download failed' ]. bar value: 'Updating Case Mappings'. self parseCaseMappingFrom: result contents readStream ]. Guille
Re: [Pharo-project] MultiCompositionScanner depending on Morphic stuff
Good catch We should move them close to MultiCompositionScanner Yes, in general the structure of the system is ad-hoc. e.g. the whole Multi-* changes should be folded into the classes that they extend (or at least be moved close). Other: Canvas is in Morphic, it should not :) it's not clear where text support should be.. and lots more. yes but no stress one by one and we will get better.
Re: [Pharo-project] Unicode depending on Zinc
Add a bug entry :) Stef On Mar 15, 2012, at 4:22 PM, Guillermo Polito wrote: What about changing the initialize via a request to a method with the data? I don't think Unicode case mappings will change too much in time :P... Something like the attach Guille On Wed, Mar 14, 2012 at 12:06 PM, Guillermo Polito guillermopol...@gmail.com wrote: Hi, Does this method make sense? (Do we want Unicode to update itself?) Unicode classinitializeCaseMappings Unicode initializeCaseMappings ToCasefold := IdentityDictionary new. ToUpper := IdentityDictionary new. ToLower := IdentityDictionary new. UIManager default informUserDuring: [ :bar| | result | bar value: 'Downloading Unicode data'. (result := ZnClient get: 'http://www.unicode.org/Public/UNIDATA/CaseFolding.txt') isSuccess ifFalse: [ ^ self error: 'Download failed' ]. bar value: 'Updating Case Mappings'. self parseCaseMappingFrom: result contents readStream ]. Guille Unicode class-initializeCaseMapping.st
Re: [Pharo-project] LanguageEnvironment depending on Network stuff
In kernel we have -Greek -Japanese -Korean -Latin1 -Latin2 -Latin9 -Nepalese -Russian -SimplifiedChinese Dunno if all are needed in the kernel, or if they should be added as extra packages for those who wants them... On Thu, Mar 15, 2012 at 12:18 PM, Stéphane Ducasse stephane.duca...@inria.fr wrote: I would also removed the thibetan environment. Stef Do we want this dependency? LanguageEnvironmentfontDownload (Locale isoLanguage: 'ja') languageEnvironment fontDownload (FileDirectory default fileExists: self fontFullName) ifTrue: [^ self]. Cursor read showWhile: [self fontDownloadUrls do: [:each | [ | contents f |contents := (each , '/' , self fontFileName) asUrl retrieveContents contents. (contents first: 2) = 'PK' ifTrue: [f := FileStream newFileNamed: self fontFullName. f binary. [f nextPutAll: contents] ensure: [f close]. ^ self]] on: NameLookupFailure do: [:e | e]]]. self error: 'Fonts does not found (' , self fontFullName , ')' http://code.google.com/p/pharo/issues/detail?id=5479thanks=5479ts=1331734668
Re: [Pharo-project] Unicode depending on Zinc
goes! :) http://code.google.com/p/pharo/issues/detail?id=5484thanks=5484ts=1331825769 On Thu, Mar 15, 2012 at 12:29 PM, Stéphane Ducasse stephane.duca...@inria.fr wrote: Add a bug entry :) Stef On Mar 15, 2012, at 4:22 PM, Guillermo Polito wrote: What about changing the initialize via a request to a method with the data? I don't think Unicode case mappings will change too much in time :P... Something like the attach Guille On Wed, Mar 14, 2012 at 12:06 PM, Guillermo Polito guillermopol...@gmail.com wrote: Hi, Does this method make sense? (Do we want Unicode to update itself?) Unicode classinitializeCaseMappings Unicode initializeCaseMappings ToCasefold := IdentityDictionary new. ToUpper := IdentityDictionary new. ToLower := IdentityDictionary new. UIManager default informUserDuring: [ :bar| | result | bar value: 'Downloading Unicode data'. (result := ZnClient get: ' http://www.unicode.org/Public/UNIDATA/CaseFolding.txt') isSuccess ifFalse: [ ^ self error: 'Download failed' ]. bar value: 'Updating Case Mappings'. self parseCaseMappingFrom: result contents readStream ]. Guille Unicode class-initializeCaseMapping.st
Re: [Pharo-project] Unicode depending on Zinc
Hi Guillermo, On 15 Mar 2012, at 16:25, Guillermo Polito wrote: Of course with a nice comment saying something like: Initialize the mappings from unicode lower to upper case and vice versa. sourceCodes and destinyCodes contains the unicode values for the mappings, and they match one by one. The source of this mapping can be found at: http://www.unicode.org/Public/UNIDATA/CaseFolding.txt' Have a look at what I did with http://code.google.com/p/pharo/issues/detail?id=4187 The spec tables are constants, like in your latest example, but I added a method that can generate these from an internet accessible resource (using Zn as HTTP client). That way, there is some kind of dependency, but not really at run time. I think it is cool to literally use these public spec documents. Sven smime.p7s Description: S/MIME cryptographic signature
Re: [Pharo-project] Socket listenOn: 0 accept
Can anyone please help me and show me where I should look if I wanted to see the exact C code implementing the socket primitives (for the Pharo built Cog VMs) ? On 09 Mar 2012, at 16:44, Sven Van Caekenberghe wrote: Most socket API's allow for the creation of a server socket on the next available port, often by specifying 0 instead of a port. When the socket is bound, one can retrieve the local port and let the client(s) know. I tried to do that in Pharo today, and these steps seem to work, by accepting an incoming connection gives a primitive failed. Anyone tried this ? | socket | socket := Socket newTCP. socket listenOn: 0. [ [ Transcript crShow: 'Port is ', socket localPort printString. (socket waitForAcceptFor: 60) ifNotNil: [ :client | | data | data := client receiveDataTimeout: 30. Transcript crShow: 'Received ', data asString. data ifNotNil: [ client sendData: data reverse; close ] ]. ] ensure: [ socket close ] ] fork. I am running the Pharo Cog VM on Mac OS X using Pharo 1.4. Thx, Sven smime.p7s Description: S/MIME cryptographic signature
Re: [Pharo-project] MultiCompositionScanner depending on Morphic stuff
On Wed, Mar 14, 2012 at 11:14 AM, Guillermo Polito guillermopol...@gmail.com wrote: *- MultiCompositionScannercomposeFrom:inRectangle:firstLine:leftSide:rightSide: * depends on TextLine which is packaged as Morphic-Text Support TextLine seems that can be safely moved along with MultiCompositionScanner. - *MultiCompositionScannersetFont* depends on TextComposer which is packaged as Morphic-Text Support also This dependency is only for this method: TextComposer classcharacterForColumnBreak ^Character value: 12 But if this method is so used by the scanner, then we can move it to the scanner and revert the dependency :) http://code.google.com/p/pharo/issues/detail?id=5478thanks=5478ts=1331734475 Guille
Re: [Pharo-project] LanguageEnvironment depending on Network stuff
On Mar 15, 2012, at 4:32 PM, Guillermo Polito wrote: In kernel we have -Greek -Japanese -Korean -Latin1 -Latin2 -Latin9 -Nepalese -Russian -SimplifiedChinese Dunno if all are needed in the kernel, or if they should be added as extra packages for those who wants them… probably nepalese can be out :) Since I guess that it also have links to other On Thu, Mar 15, 2012 at 12:18 PM, Stéphane Ducasse stephane.duca...@inria.fr wrote: I would also removed the thibetan environment. Stef Do we want this dependency? LanguageEnvironmentfontDownload (Locale isoLanguage: 'ja') languageEnvironment fontDownload (FileDirectory default fileExists: self fontFullName) ifTrue: [^ self]. Cursor read showWhile: [self fontDownloadUrls do: [:each | [ | contents f |contents := (each , '/' , self fontFileName) asUrl retrieveContents contents. (contents first: 2) = 'PK' ifTrue: [f := FileStream newFileNamed: self fontFullName. f binary. [f nextPutAll: contents] ensure: [f close]. ^ self]] on: NameLookupFailure do: [:e | e]]]. self error: 'Fonts does not found (' , self fontFullName , ')' http://code.google.com/p/pharo/issues/detail?id=5479thanks=5479ts=1331734668
Re: [Pharo-project] broken gettext package in 1.4
On Mar 14, 2012, at 9:43 PM, Hilaire Fernandes wrote: I have this code below from Gettext package becoming broken with latest Ring Pharo 1.4 package. Can someone with the appropriate knowledge help me there? Problem occurs at (Smalltalk at: methodReference classSymbol) methodReference is a RGMethodDefinition Enclosed PharoDebug.log appendStringReceivers: aSymbol into: domains | literals references domainName methodReference keywords found | found := TranslatedReceiverFinder new stringReceiversWithContext: aSymbol. found do: [ :assoc | methodReference := assoc key. keywords := assoc value. domainName := self getTextDomainForClassCategory: (Smalltalk at: methodReference classSymbol) category. methodReference realClass category? literals := domains at: domainName ifAbsentPut: [Dictionary new]. keywords do: [ :literal | references := literals at: literal ifAbsentPut: [OrderedCollection new]. references add: methodReference. ]. ]. -- Dr. Geo -- http://www.drgeo.eu PharoDebug.log
Re: [Pharo-project] Pharo 1.4 Tests-Unix vs. Pharo Kernel Reload Tests-Unix
I will have a look. (MCStWriterTest #methodWithBangs) timeStamp.
Re: [Pharo-project] MultiCompositionScanner depending on Morphic stuff
TextLine seems that can be safely moved along with MultiCompositionScanner. good! - MultiCompositionScannersetFont depends on TextComposer which is packaged as Morphic-Text Support also This dependency is only for this method: TextComposer classcharacterForColumnBreak ^Character value: 12 I do not get it. because Character is not in Morphic But if this method is so used by the scanner, then we can move it to the scanner and revert the dependency :) http://code.google.com/p/pharo/issues/detail?id=5478thanks=5478ts=1331734475 Guille
[Pharo-project] Download links for 1.3 stable are down
Just to let you know that the download links for Pharo-1.3 stable are down. Both the image and the one-click. Thanks!
Re: [Pharo-project] Finally, jenkins were able to build win32 VM.
we should fix that. Please give me details - url to image - code to execute. so i can try. On 13 March 2012 15:18, Tudor Girba tu...@tudorgirba.com wrote: Ah, I forgot to mention: the same scenario works with the VM from Eliot (2522) Cheers, Doru On Tue, Mar 13, 2012 at 3:16 PM, Tudor Girba tu...@tudorgirba.com wrote: Hi, I just tried it and it crashed :(. Here is what I did: - I took the Moose image - it started fine, and seem to be responsive - I then loaded code in it using a configuration - while loading, it crashed I attach here the crash.dmp file. I cannot provide the actual code because it is proprietary. I will try to reproduce the problem in more available settings. Cheers, Doru On Tue, Mar 13, 2012 at 8:54 AM, Torsten Bergmann asta...@gmx.de wrote: Thanks Igor. Guys can you try and report if you have problems? Yes, thanks Igor, How can I see if this release integrates Eliots latest fixes for Cog? Thx T. -- Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de -- www.tudorgirba.com Every thing has its own flow -- www.tudorgirba.com Every thing has its own flow -- Best regards, Igor Stasenko.
Re: [Pharo-project] Download links for 1.3 stable are down
On Mar 15, 2012, at 5:19 PM, Alex Schenkman wrote: Just to let you know that the download links for Pharo-1.3 stable are down. Both the image and the one-click. I checked and it works for me... -- Marcus Denker -- http://marcusdenker.de
Re: [Pharo-project] MultiCompositionScanner depending on Morphic stuff
MultiCompositionScannersetFont uses TextComposercharacterForColumnBreak... What I do suggest is to move #characterForColumnBreak to the scanner (or make the scanner know its composer instead of hardcoding the reference). But since I don't really know these classes I'm totally blind :/ On Thu, Mar 15, 2012 at 1:04 PM, Stéphane Ducasse stephane.duca...@inria.fr wrote: TextLine seems that can be safely moved along with MultiCompositionScanner. good! - MultiCompositionScannersetFont depends on TextComposer which is packaged as Morphic-Text Support also This dependency is only for this method: TextComposer classcharacterForColumnBreak ^Character value: 12 I do not get it. because Character is not in Morphic But if this method is so used by the scanner, then we can move it to the scanner and revert the dependency :) http://code.google.com/p/pharo/issues/detail?id=5478thanks=5478ts=1331734475 Guille
Re: [Pharo-project] broken gettext package in 1.4
Le 15/03/2012 16:58, Stéphane Ducasse a écrit : keywords := assoc value. domainName := self getTextDomainForClassCategory: (Smalltalk at: methodReference classSymbol) category. methodReference realClass category? Yes something like that plus some other changes. I already forgot what I did change. -- Dr. Geo -- http://www.drgeo.eu
Re: [Pharo-project] MultiCompositionScanner depending on Morphic stuff
Hey, composition scanners and display scanners should not belong to Kernel. they should be either in graphics package or in morphic itself. Why we moved this stuff to kernel? -- Best regards, Igor Stasenko.
Re: [Pharo-project] MultiCompositionScanner depending on Morphic stuff
On Mar 15, 2012, at 5:32 PM, Igor Stasenko wrote: Hey, composition scanners and display scanners should not belong to Kernel. they should be either in graphics package or in morphic itself. Why we moved this stuff to kernel? Nobody moved... they where always there. It's a mess of epic proportion, our whole code base. Marcus -- Marcus Denker -- http://marcusdenker.de
Re: [Pharo-project] MultiCompositionScanner depending on Morphic stuff
On Thu, Mar 15, 2012 at 1:34 PM, Marcus Denker marcus.den...@inria.frwrote: On Mar 15, 2012, at 5:32 PM, Igor Stasenko wrote: Hey, composition scanners and display scanners should not belong to Kernel. they should be either in graphics package or in morphic itself. Why we moved this stuff to kernel? :3 Actually CompositionScanner belong to Graphics, I was puzzled about that too. I'll post a slice in the inbox :) Nobody moved... they where always there. It's a mess of epic proportion, our whole code base. Marcus -- Marcus Denker -- http://marcusdenker.de
[Pharo-project] Pharo Conf has now a web site :)
Please distribute the call http://rmod.lille.inria.fr/web/pier/Events We will have fun. Stef
Re: [Pharo-project] Finally, jenkins were able to build win32 VM.
Thanks igor. This is important. we should fix that. Please give me details - url to image - code to execute. so i can try.
Re: [Pharo-project] MultiCompositionScanner depending on Morphic stuff
Igor I would not put it in Morphic. Now it depends which kernel we are talking about. Because may be text should be a large kernel. Stef On Mar 15, 2012, at 5:32 PM, Igor Stasenko wrote: Hey, composition scanners and display scanners should not belong to Kernel. they should be either in graphics package or in morphic itself. Why we moved this stuff to kernel? -- Best regards, Igor Stasenko.
Re: [Pharo-project] Gettext package, who?
It is by the fact the case, no. So I guess this remnants can be removed. In parallel, the gettext lookup at runtime of the message catalog could be optimized. It was done for Etoys. May be not top priority has the impact is light anyway. As for now, I publish my changes to the gettext package in PharoNonCorePackages What is the size of this package? Hilaire -- Dr. Geo -- http://www.drgeo.eu
Re: [Pharo-project] Grouping of Tools?
On Mar 13, 2012, at 11:25 AM, Friedrich Dominicus wrote: I wonder if one can get Pharo to group the tools e.g the Workspace on one tab, Browsers on another etc. Any suggestions? did you check the TWM project? then you have tabPanelMorph. Regards Friedrich -- Q-Software Solutions GmbH; Sitz: Bruchsal; Registergericht: Mannheim Registriernummer: HRB232138; Geschaeftsfuehrer: Friedrich Dominicus
Re: [Pharo-project] SystemTracer
Hi Guillermo, On Wed, Mar 14, 2012 at 12:48 PM, Guillermo Polito guillermopol...@gmail.com wrote: Hi Eliot, do you have a pointer of where can I see the differences between the old Squeak format and the cog image format, so I can make SystemTracer work on Cog vms? So the image format differences are - floats are in platform order, not necessarily in big-endian order - the layout of the specialObjectsArray is slightly different (documented in recreateSpecialObjectsArray) - there are more words in the header, see StackInterpreterwriteImageFileIO:, i.e. in Cog: self putLong: self imageFormatVersion toFile: f. self putLong: headerSize toFile: f. self putLong: imageBytes toFile: f. self putLong: objectMemory startOfMemory toFile: f. self putLong: objectMemory specialObjectsOop toFile: f. self putLong: objectMemory newObjectHash toFile: f. self putLong: self ioScreenSize toFile: f. self putLong: self getImageHeaderFlags toFile: f. self putLong: extraVMMemory toFile: f. self putShort: desiredNumStackPages toFile: f. self putShort: self unknownShortOrCodeSizeInKs toFile: f. self putLong: desiredEdenBytes toFile: f. self putShort: (maxExtSemTabSizeSet ifTrue: [self ioGetMaxExtSemTableSize] ifFalse: [0]) toFile: f. self putShort: 0 toFile: f. 1 to: 4 do: [:i | self putLong: 0 toFile: f]. fill remaining header words with zeros in Interpreter: self putLong: (self imageFormatVersion) toFile: f. self putLong: headerSize toFile: f. self putLong: imageBytes toFile: f. self putLong: (self startOfMemory) toFile: f. self putLong: specialObjectsOop toFile: f. self putLong: lastHash toFile: f. self putLong: (self ioScreenSize) toFile: f. self putLong: fullScreenFlag toFile: f. self putLong: extraVMMemory toFile: f. 1 to: 7 do: [:i | self putLong: 0 toFile: f]. fill remaining header words with zeros Then getImageHeaderFlags Answer the flags that are contained in the 7th long of the image header. ^fullScreenFlag 0 or 1 + (VMBIGENDIAN ifTrue: [0] ifFalse: [2]) this is the imageFloatsLittleEndian flag + (processHasThreadId ifTrue: [4] ifFalse: [0]) + (flagInterpretedMethods ifTrue: [8] ifFalse: [0]) + (preemptionYields ifTrue: [0] ifFalse: [16]) + (noThreadingOfGUIThread ifTrue: [32] ifFalse: [0]) + (imageHeaderFlags bitAnd: 63 bitInvert32) these are any flags we do not recognize Now most of the information in the flags is accessible from vmParameterAt: (or some convenience methods). e.g. vm parameter 49 is the max external semaphore table size, and vm parameter 48 is the following flags: getCogVMFlags Answer an array of flags indicating various properties of the Cog VM. Bit 0: implies the image's Process class has threadId as its 3rd inst var (zero relative) Bit 1: if set, methods that are interpreted will have the flag bit set in their header Bit 2: if set, implies preempting a process does not put it to the back of its run queue ^objectMemory integerObjectOf: (processHasThreadId ifTrue: [1] ifFalse: [0]) + (flagInterpretedMethods ifTrue: [2] ifFalse: [0]) + (preemptionYields ifTrue: [0] ifFalse: [4]) + (noThreadingOfGUIThread ifTrue: [8] ifFalse: [0]) Read the comment for vmParameterAt: to get things like num stack pages and cog code size. Is this OK? I know it's a bit of a mess. If you or I (we?) write it up where should we put the info? Thanks, Guille On Thu, Jan 27, 2011 at 6:36 PM, Levente Uzonyi le...@elte.hu wrote: On Thu, 27 Jan 2011, Benjamin wrote: It works for PharoCore-1.1-11196-UNSTABLE.1 but it seems to be the only version where it works :S Does someone know why ? It doesn't support Cog's image format. Try an image with the original Squeak format. You can convert your image with the latest SqueakVM. Only the unix VM was released with this feature yet, so you can use that http://squeakvm.org/unix/ or build a VM for your favorite platform. Levente Thanks, Ben On Jan 27, 2011, at 3:36 PM, Benjamin wrote: Hello guys, for one of my projects, I'm trying to use SystemTracer to create anew image, but it appears that it doesn't work on Pharo ... I can create a new image, but I can't open it. I've tried with an older VM (Squeak 3.8.18beta1U), but it's the same ... Did someone already have this problem ? Does someone have a solution ? Thanks in advance, Ben -- best, Eliot
[Pharo-project] Finally, jenkins were able to build win32 VM.
Again the question: How can I see if this release on Jenkins integrates Eliots latest fixes for Cog? Currently Eliot is at No. 2538 http://www.mirandabanda.org/files/Cog/VM/?C=M;O=D Thx T. -- NEU: FreePhone 3-fach-Flat mit kostenlosem Smartphone! Jetzt informieren: http://mobile.1und1.de/?ac=OM.PW.PW003K20328T7073a
Re: [Pharo-project] Finally, jenkins were able to build win32 VM.
On 15 March 2012 18:24, Torsten Bergmann asta...@gmx.de wrote: Again the question: How can I see if this release on Jenkins integrates Eliots latest fixes for Cog? Use Smalltalk vm version Eliot's vm (http://www.mirandabanda.org/files/Cog/VM/VM.r2538/Cog.app.tgz): Smalltalk vm version 'CoInterpreter VMMaker.oscog-eem.152 uuid: d39d62b0-45ca-4621-8f67-e3981bbe1875 Mar 3 2012, StackToRegisterMappingCogit VMMaker.oscog-eem.148 uuid: bb53aa60-4173-48ed-874b-dc0ff5a48992 Mar 3 2012, r2538 http://www.squeakvm.org/svn/squeak/branches/Cog' VMs built on Jenkins (https://ci.lille.inria.fr/pharo/view/Cog/job/Cog-Mac-Cocoa/lastSuccessfulBuild/artifact/CogVM.zip): 'CoInterpreter VMMaker-oscog-EstebanLorenzano.139 uuid: 5aa53979-d7d8-4ca3-91fe-cfc3b4109c33 Mar 12 2012, StackToRegisterMappingCogit VMMaker-oscog-EstebanLorenzano.139 uuid: 5aa53979-d7d8-4ca3-91fe-cfc3b4109c33 Mar 12 2012, https://git.gitorious.org/cogvm/blessed.git Commit: ca2091e70cfef485fa511935f51d8c91b1c3f185 Date: Mon Mar 12 19:07:33 2012 +0100 By: Igor Stasenko siguc...@gmail.com' So, you have two package versions: VMMaker.oscog-eem.152 VMMaker-oscog-EstebanLorenzano.139 and you can check a common ancestor by looking at package history in MC. For platform sources it is merely the same: you clone sources from git and then do git log, look for eliot's commits. -- Best regards, Igor Stasenko.
Re: [Pharo-project] Bug in WAMemoryItemsizeOfObject
Hi Niko, the header size calculation is also wrong. If the byte size if the object body is 255 bytes there needs to be an additional header size word. So something like byteSizeOfBody := anObject class isBytes ifTrue: [] ifFalse: [.]. headerSize := byteSizeOfBody 255 ifTrue: [12] ifFalse: [anObject class indexIfCompact 0 ifTrue: [4] ifFalse: [8]]. On Wed, Mar 14, 2012 at 1:05 PM, niko.schw...@googlemail.com wrote: Hi guys, I haven't checked if this bug exists already, so please ignore this if it's been reported before. Bug in WAMemoryItem: sizeOfObject: anObject | headerSize instanceSize variableSize | headerSize := anObject class indexIfCompact 0 ifTrue: [ 4 ] ifFalse: [ 8 ]. instanceSize := anObject class instSize. variableSize := anObject class isBytes ifTrue: [ anObject basicSize ] ifFalse: [ anObject class isWords ifTrue: [ Smalltalk wordSize * anObject basicSize ] ifFalse: [ Smalltalk wordSize * anObject basicSize // 2 ] ]. ^ headerSize + instanceSize + variableSize In this snippet, the units that are added together in the last line are of different units. instanceSize is in unit number of machine words, whereas variableSize and headerSize are in unit bytes. The method is fixed here: sizeOfObject: anObject | headerSize instanceSize variableSize | headerSize := anObject class indexIfCompact 0 ifTrue: [ 4 ] ifFalse: [ 8 ]. instanceSize := anObject class instSize * Smalltalk wordSize. variableSize := anObject class isBytes ifTrue: [ anObject basicSize ] ifFalse: [ anObject class isWords ifTrue: [ Smalltalk wordSize * anObject basicSize ] ifFalse: [ Smalltalk wordSize * anObject basicSize // 2 ] ]. ^ headerSize + instanceSize + variableSize Example: |m| dict := Dictionary new. m := WAMemory new. dict traverseWithMemory: m seen: IdentitySet new. m totalSize This will incorrectly spit out 10, but should return 16, on a 32 bit VM. Niko -- http://scg.unibe.ch/staff/Schwarz twitter.com/nes1983 Tel: +41786126354 -- best, Eliot
Re: [Pharo-project] Socket listenOn: 0 accept
On Tue, Mar 13, 2012 at 4:43 AM, Sven Van Caekenberghe s...@beta9.bewrote: Can anyone please help me and show me where I should look if I wanted to see the exact C code implementing the socket primitives (for the Pharo built Cog VMs) ? In trunk (and in my Cog vm source) they are in the directories http://squeakvm.org/svn/squeak/trunk/platforms/{Cross,MacOS,unix,win32}/plugins/SocketPlugin i.e. in all VMs locate the relevant platforms hierarchy and look in platforms/{Cross,Mac OS,unix,win32}/plugins/SocketPlugin. On 09 Mar 2012, at 16:44, Sven Van Caekenberghe wrote: Most socket API's allow for the creation of a server socket on the next available port, often by specifying 0 instead of a port. When the socket is bound, one can retrieve the local port and let the client(s) know. I tried to do that in Pharo today, and these steps seem to work, by accepting an incoming connection gives a primitive failed. Anyone tried this ? | socket | socket := Socket newTCP. socket listenOn: 0. [ [ Transcript crShow: 'Port is ', socket localPort printString. (socket waitForAcceptFor: 60) ifNotNil: [ :client | | data | data := client receiveDataTimeout: 30. Transcript crShow: 'Received ', data asString. data ifNotNil: [ client sendData: data reverse; close ] ]. ] ensure: [ socket close ] ] fork. I am running the Pharo Cog VM on Mac OS X using Pharo 1.4. Thx, Sven -- best, Eliot
Re: [Pharo-project] MultiCompositionScanner depending on Morphic stuff
Hi Guillermo, great to see someone to improve modularity of the system. Look at results of latest Pharo-Kernel: https://ci.lille.inria.fr/pharo/view/Pharo-Kernel/job/Pharo%20Kernel%201.4/lastSuccessfulBuild/artifact/PharoKernel-1.4/info.txt This Undeclared clearly show unwelcome kernel dependencies and must be removed. Cheers, -- Pavel On Thu, Mar 15, 2012 at 5:37 PM, Guillermo Polito guillermopol...@gmail.com wrote: On Thu, Mar 15, 2012 at 1:34 PM, Marcus Denker marcus.den...@inria.fr wrote: On Mar 15, 2012, at 5:32 PM, Igor Stasenko wrote: Hey, composition scanners and display scanners should not belong to Kernel. they should be either in graphics package or in morphic itself. Why we moved this stuff to kernel? :3 Actually CompositionScanner belong to Graphics, I was puzzled about that too. I'll post a slice in the inbox :) Nobody moved... they where always there. It's a mess of epic proportion, our whole code base. Marcus -- Marcus Denker -- http://marcusdenker.de
Re: [Pharo-project] Socket listenOn: 0 accept
On 15 Mar 2012, at 18:58, Eliot Miranda wrote: In trunk (and in my Cog vm source) they are in the directories http://squeakvm.org/svn/squeak/trunk/platforms/{Cross,Mac OS,unix,win32}/plugins/SocketPlugin i.e. in all VMs locate the relevant platforms hierarchy and look in platforms/{Cross,Mac OS,unix,win32}/plugins/SocketPlugin. Thank you, Eliot. Sven On 09 Mar 2012, at 16:44, Sven Van Caekenberghe wrote: Most socket API's allow for the creation of a server socket on the next available port, often by specifying 0 instead of a port. When the socket is bound, one can retrieve the local port and let the client(s) know. I tried to do that in Pharo today, and these steps seem to work, by accepting an incoming connection gives a primitive failed. Anyone tried this ? | socket | socket := Socket newTCP. socket listenOn: 0. [ [ Transcript crShow: 'Port is ', socket localPort printString. (socket waitForAcceptFor: 60) ifNotNil: [ :client | | data | data := client receiveDataTimeout: 30. Transcript crShow: 'Received ', data asString. data ifNotNil: [ client sendData: data reverse; close ] ]. ] ensure: [ socket close ] ] fork. I am running the Pharo Cog VM on Mac OS X using Pharo 1.4. Thx, Sven smime.p7s Description: S/MIME cryptographic signature
Re: [Pharo-project] quick methods and the method call stack
On Wed, Mar 14, 2012 at 11:19 AM, Alexandre Bergel alexandre.ber...@me.comwrote: Hi! Can someone confirm or infirm the following: A quick method (ie. the compiled methods answer true to the message isQuick) is executed without creating a stack frame. Is that true? Yes, at least in the interpreter. In Cog, if jitted, such methods run in a leaf frame (only the return address is pushed), and additional tests in the JIT allow many other methods to run with only a leaf frame. See needsFrameNever: and needsFrameIfInBlock: and senders in the Cog VM source. If all the bytecodes in a method are marked with needsFrameNever: or needsFrameIfInBlock: then the method can be (and is) compiled frameless. if all the bytecodes in a block are marked with needsFrameNever: then the block can be (and is) compiled frameless. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. -- best, Eliot
Re: [Pharo-project] Finally, jenkins were able to build win32 VM.
Strange. I tried to reproduce the problem, but following the same path worked fine the second time. Doru On Tue, Mar 13, 2012 at 3:18 PM, Tudor Girba tu...@tudorgirba.com wrote: Ah, I forgot to mention: the same scenario works with the VM from Eliot (2522) Cheers, Doru On Tue, Mar 13, 2012 at 3:16 PM, Tudor Girba tu...@tudorgirba.com wrote: Hi, I just tried it and it crashed :(. Here is what I did: - I took the Moose image - it started fine, and seem to be responsive - I then loaded code in it using a configuration - while loading, it crashed I attach here the crash.dmp file. I cannot provide the actual code because it is proprietary. I will try to reproduce the problem in more available settings. Cheers, Doru On Tue, Mar 13, 2012 at 8:54 AM, Torsten Bergmann asta...@gmx.de wrote: Thanks Igor. Guys can you try and report if you have problems? Yes, thanks Igor, How can I see if this release integrates Eliots latest fixes for Cog? Thx T. -- Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de -- www.tudorgirba.com Every thing has its own flow -- www.tudorgirba.com Every thing has its own flow -- www.tudorgirba.com Every thing has its own flow
Re: [Pharo-project] Finally, jenkins were able to build win32 VM.
On Tue, Mar 13, 2012 at 7:44 AM, Tudor Girba tu...@tudorgirba.com wrote: Strange. I tried to reproduce the problem, but following the same path worked fine the second time. Such GC bugs are extremely sensitive to exactly the sequence of mutations in the heap. So the time in between mouse clicks or keyboard presses, or even the length of delays or the date and time can change the form of the heap. The only way I know to reproduce this kind of bug reliably is to write a doit that causes the system to crash without user intervention. You can either supply the doit in a file to the VM at startup or (more convenient for those debugging it) write a doit that starts with a snapshot, e.g. Smalltalk saveAs. Crasher new crash Doru On Tue, Mar 13, 2012 at 3:18 PM, Tudor Girba tu...@tudorgirba.com wrote: Ah, I forgot to mention: the same scenario works with the VM from Eliot (2522) Cheers, Doru On Tue, Mar 13, 2012 at 3:16 PM, Tudor Girba tu...@tudorgirba.com wrote: Hi, I just tried it and it crashed :(. Here is what I did: - I took the Moose image - it started fine, and seem to be responsive - I then loaded code in it using a configuration - while loading, it crashed I attach here the crash.dmp file. I cannot provide the actual code because it is proprietary. I will try to reproduce the problem in more available settings. Cheers, Doru On Tue, Mar 13, 2012 at 8:54 AM, Torsten Bergmann asta...@gmx.de wrote: Thanks Igor. Guys can you try and report if you have problems? Yes, thanks Igor, How can I see if this release integrates Eliots latest fixes for Cog? Thx T. -- Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de -- www.tudorgirba.com Every thing has its own flow -- www.tudorgirba.com Every thing has its own flow -- www.tudorgirba.com Every thing has its own flow -- HTH, Eliot
[Pharo-project] Latest image from jenkins does not open with interpreter vm
I'm having the following This interpreter (vers. 6502) cannot read image file (vers. 6505). This didn't happen with images from some weeks ago :(
Re: [Pharo-project] Latest image from jenkins does not open with interpreter vm
On Mar 15, 2012, at 7:59 PM, Guillermo Polito wrote: I'm having the following This interpreter (vers. 6502) cannot read image file (vers. 6505). This didn't happen with images from some weeks ago :( The reason is that we now run the build with the VM compiled on the build server... which is a Cog vm. Marcus -- Marcus Denker -- http://marcusdenker.de
Re: [Pharo-project] [Vm-dev] Re: Finally, jenkins were able to build win32 VM.
On 15 March 2012 19:28, Eliot Miranda eliot.mira...@gmail.com wrote: On Tue, Mar 13, 2012 at 7:44 AM, Tudor Girba tu...@tudorgirba.com wrote: Strange. I tried to reproduce the problem, but following the same path worked fine the second time. Such GC bugs are extremely sensitive to exactly the sequence of mutations in the heap. So the time in between mouse clicks or keyboard presses, or even the length of delays or the date and time can change the form of the heap. The only way I know to reproduce this kind of bug reliably is to write a doit that causes the system to crash without user intervention. You can either supply the doit in a file to the VM at startup or (more convenient for those debugging it) write a doit that starts with a snapshot, e.g. Smalltalk saveAs. Crasher new crash Not again this flaky GC/become stuff. I was hoping that last one we busted in summer.. -- Best regards, Igor Stasenko.
Re: [Pharo-project] Latest image from jenkins does not open with interpreter vm
Ok, so I have no chose. I have to move SystemTracer to cog, or do it :D On Thu, Mar 15, 2012 at 4:02 PM, Marcus Denker marcus.den...@inria.frwrote: On Mar 15, 2012, at 7:59 PM, Guillermo Polito wrote: I'm having the following This interpreter (vers. 6502) cannot read image file (vers. 6505). This didn't happen with images from some weeks ago :( The reason is that we now run the build with the VM compiled on the build server... which is a Cog vm. Marcus -- Marcus Denker -- http://marcusdenker.de
Re: [Pharo-project] Latest image from jenkins does not open with interpreter vm
On 15 March 2012 20:05, Guillermo Polito guillermopol...@gmail.com wrote: Ok, so I have no chose. I have to move SystemTracer to cog, or do it :D Yes. We need to make it working with Cog. Hope, Eliot remembers what is essential changes between 6502 and 6505 formats, which needs to be fixed in system tracer. -- Best regards, Igor Stasenko.
Re: [Pharo-project] [Vm-dev] Re: Latest image from jenkins does not open with interpreter vm
HEhe, he already sent in a different thread the differences ;). On Thu, Mar 15, 2012 at 4:11 PM, Igor Stasenko siguc...@gmail.com wrote: On 15 March 2012 20:05, Guillermo Polito guillermopol...@gmail.com wrote: Ok, so I have no chose. I have to move SystemTracer to cog, or do it :D Yes. We need to make it working with Cog. Hope, Eliot remembers what is essential changes between 6502 and 6505 formats, which needs to be fixed in system tracer. -- Best regards, Igor Stasenko.
Re: [Pharo-project] [Vm-dev] Re: SystemTracer
Just want to add, that in Pharo we refactored things a bit, so if you want to look for vm parameters, they are accessed via: Smalltalk vm parameterAt: xyz not Smalltalk vmParameterAt: look in VirtualMachine class for implementation. On 15 March 2012 17:58, Eliot Miranda eliot.mira...@gmail.com wrote: Hi Guillermo, On Wed, Mar 14, 2012 at 12:48 PM, Guillermo Polito guillermopol...@gmail.com wrote: Hi Eliot, do you have a pointer of where can I see the differences between the old Squeak format and the cog image format, so I can make SystemTracer work on Cog vms? So the image format differences are - floats are in platform order, not necessarily in big-endian order - the layout of the specialObjectsArray is slightly different (documented in recreateSpecialObjectsArray) - there are more words in the header, see StackInterpreterwriteImageFileIO:, i.e. in Cog: self putLong: self imageFormatVersion toFile: f. self putLong: headerSize toFile: f. self putLong: imageBytes toFile: f. self putLong: objectMemory startOfMemory toFile: f. self putLong: objectMemory specialObjectsOop toFile: f. self putLong: objectMemory newObjectHash toFile: f. self putLong: self ioScreenSize toFile: f. self putLong: self getImageHeaderFlags toFile: f. self putLong: extraVMMemory toFile: f. self putShort: desiredNumStackPages toFile: f. self putShort: self unknownShortOrCodeSizeInKs toFile: f. self putLong: desiredEdenBytes toFile: f. self putShort: (maxExtSemTabSizeSet ifTrue: [self ioGetMaxExtSemTableSize] ifFalse: [0]) toFile: f. self putShort: 0 toFile: f. 1 to: 4 do: [:i | self putLong: 0 toFile: f]. fill remaining header words with zeros in Interpreter: self putLong: (self imageFormatVersion) toFile: f. self putLong: headerSize toFile: f. self putLong: imageBytes toFile: f. self putLong: (self startOfMemory) toFile: f. self putLong: specialObjectsOop toFile: f. self putLong: lastHash toFile: f. self putLong: (self ioScreenSize) toFile: f. self putLong: fullScreenFlag toFile: f. self putLong: extraVMMemory toFile: f. 1 to: 7 do: [:i | self putLong: 0 toFile: f]. fill remaining header words with zeros Then getImageHeaderFlags Answer the flags that are contained in the 7th long of the image header. ^fullScreenFlag 0 or 1 + (VMBIGENDIAN ifTrue: [0] ifFalse: [2]) this is the imageFloatsLittleEndian flag + (processHasThreadId ifTrue: [4] ifFalse: [0]) + (flagInterpretedMethods ifTrue: [8] ifFalse: [0]) + (preemptionYields ifTrue: [0] ifFalse: [16]) + (noThreadingOfGUIThread ifTrue: [32] ifFalse: [0]) + (imageHeaderFlags bitAnd: 63 bitInvert32) these are any flags we do not recognize Now most of the information in the flags is accessible from vmParameterAt: (or some convenience methods). e.g. vm parameter 49 is the max external semaphore table size, and vm parameter 48 is the following flags: getCogVMFlags Answer an array of flags indicating various properties of the Cog VM. Bit 0: implies the image's Process class has threadId as its 3rd inst var (zero relative) Bit 1: if set, methods that are interpreted will have the flag bit set in their header Bit 2: if set, implies preempting a process does not put it to the back of its run queue ^objectMemory integerObjectOf: (processHasThreadId ifTrue: [1] ifFalse: [0]) + (flagInterpretedMethods ifTrue: [2] ifFalse: [0]) + (preemptionYields ifTrue: [0] ifFalse: [4]) + (noThreadingOfGUIThread ifTrue: [8] ifFalse: [0]) Read the comment for vmParameterAt: to get things like num stack pages and cog code size. Is this OK? I know it's a bit of a mess. If you or I (we?) write it up where should we put the info? Thanks, Guille On Thu, Jan 27, 2011 at 6:36 PM, Levente Uzonyi le...@elte.hu wrote: On Thu, 27 Jan 2011, Benjamin wrote: It works for PharoCore-1.1-11196-UNSTABLE.1 but it seems to be the only version where it works :S Does someone know why ? It doesn't support Cog's image format. Try an image with the original Squeak format. You can convert your image with the latest SqueakVM. Only the unix VM was released with this feature yet, so you can use that http://squeakvm.org/unix/ or build a VM for your favorite platform. Levente Thanks, Ben On Jan 27, 2011, at 3:36 PM, Benjamin wrote: Hello guys, for one of my projects, I'm trying to use SystemTracer to create anew image, but it appears that it doesn't work on Pharo ... I can create a new image, but I can't open it. I've tried with an older VM (Squeak 3.8.18beta1U), but it's the same ... Did someone already have this problem ? Does someone have a solution ? Thanks in advance, Ben -- best, Eliot -- Best regards, Igor Stasenko.
Re: [Pharo-project] [Vm-dev] Re: SystemTracer
On Thu, Mar 15, 2012 at 1:58 PM, Eliot Miranda eliot.mira...@gmail.comwrote: Hi Guillermo, On Wed, Mar 14, 2012 at 12:48 PM, Guillermo Polito guillermopol...@gmail.com wrote: Hi Eliot, do you have a pointer of where can I see the differences between the old Squeak format and the cog image format, so I can make SystemTracer work on Cog vms? So the image format differences are - floats are in platform order, not necessarily in big-endian order - the layout of the specialObjectsArray is slightly different (documented in recreateSpecialObjectsArray) - there are more words in the header, see StackInterpreterwriteImageFileIO:, i.e. in Cog: self putLong: self imageFormatVersion toFile: f. self putLong: headerSize toFile: f. self putLong: imageBytes toFile: f. self putLong: objectMemory startOfMemory toFile: f. self putLong: objectMemory specialObjectsOop toFile: f. self putLong: objectMemory newObjectHash toFile: f. self putLong: self ioScreenSize toFile: f. self putLong: self getImageHeaderFlags toFile: f. self putLong: extraVMMemory toFile: f. self putShort: desiredNumStackPages toFile: f. self putShort: self unknownShortOrCodeSizeInKs toFile: f. self putLong: desiredEdenBytes toFile: f. self putShort: (maxExtSemTabSizeSet ifTrue: [self ioGetMaxExtSemTableSize] ifFalse: [0]) toFile: f. self putShort: 0 toFile: f. 1 to: 4 do: [:i | self putLong: 0 toFile: f]. fill remaining header words with zeros in Interpreter: self putLong: (self imageFormatVersion) toFile: f. self putLong: headerSize toFile: f. self putLong: imageBytes toFile: f. self putLong: (self startOfMemory) toFile: f. self putLong: specialObjectsOop toFile: f. self putLong: lastHash toFile: f. self putLong: (self ioScreenSize) toFile: f. self putLong: fullScreenFlag toFile: f. self putLong: extraVMMemory toFile: f. 1 to: 7 do: [:i | self putLong: 0 toFile: f]. fill remaining header words with zeros Then getImageHeaderFlags Answer the flags that are contained in the 7th long of the image header. ^fullScreenFlag 0 or 1 + (VMBIGENDIAN ifTrue: [0] ifFalse: [2]) this is the imageFloatsLittleEndian flag + (processHasThreadId ifTrue: [4] ifFalse: [0]) + (flagInterpretedMethods ifTrue: [8] ifFalse: [0]) + (preemptionYields ifTrue: [0] ifFalse: [16]) + (noThreadingOfGUIThread ifTrue: [32] ifFalse: [0]) + (imageHeaderFlags bitAnd: 63 bitInvert32) these are any flags we do not recognize Now most of the information in the flags is accessible from vmParameterAt: (or some convenience methods). e.g. vm parameter 49 is the max external semaphore table size, and vm parameter 48 is the following flags: getCogVMFlags Answer an array of flags indicating various properties of the Cog VM. Bit 0: implies the image's Process class has threadId as its 3rd inst var (zero relative) Bit 1: if set, methods that are interpreted will have the flag bit set in their header Bit 2: if set, implies preempting a process does not put it to the back of its run queue ^objectMemory integerObjectOf: (processHasThreadId ifTrue: [1] ifFalse: [0]) + (flagInterpretedMethods ifTrue: [2] ifFalse: [0]) + (preemptionYields ifTrue: [0] ifFalse: [4]) + (noThreadingOfGUIThread ifTrue: [8] ifFalse: [0]) Hehe, in pharo the comment reaches up to 41 :). I'll look at squeak to update it. Read the comment for vmParameterAt: to get things like num stack pages and cog code size. Is this OK? I know it's a bit of a mess. If you or I (we?) write it up where should we put the info? Thanks, Guille On Thu, Jan 27, 2011 at 6:36 PM, Levente Uzonyi le...@elte.hu wrote: On Thu, 27 Jan 2011, Benjamin wrote: It works for PharoCore-1.1-11196-UNSTABLE.1 but it seems to be the only version where it works :S Does someone know why ? It doesn't support Cog's image format. Try an image with the original Squeak format. You can convert your image with the latest SqueakVM. Only the unix VM was released with this feature yet, so you can use that http://squeakvm.org/unix/ or build a VM for your favorite platform. Levente Thanks, Ben On Jan 27, 2011, at 3:36 PM, Benjamin wrote: Hello guys, for one of my projects, I'm trying to use SystemTracer to create anew image, but it appears that it doesn't work on Pharo ... I can create a new image, but I can't open it. I've tried with an older VM (Squeak 3.8.18beta1U), but it's the same ... Did someone already have this problem ? Does someone have a solution ? Thanks in advance, Ben -- best, Eliot
[Pharo-project] [update 1.4] #14393
14393 - Issue 5476: File Browser Invalid utf8 input detected when clicking on a binary file http://code.google.com/p/pharo/issues/detail?id=5476 Issue 5469: Refactoring in DropList + Fix wrap http://code.google.com/p/pharo/issues/detail?id=5469 -- Marcus Denker -- http://marcusdenker.de
Re: [Pharo-project] [Vm-dev] Re: SystemTracer
On Thu, Mar 15, 2012 at 4:26 PM, Guillermo Polito guillermopol...@gmail.com wrote: On Thu, Mar 15, 2012 at 1:58 PM, Eliot Miranda eliot.mira...@gmail.comwrote: Hi Guillermo, On Wed, Mar 14, 2012 at 12:48 PM, Guillermo Polito guillermopol...@gmail.com wrote: Hi Eliot, do you have a pointer of where can I see the differences between the old Squeak format and the cog image format, so I can make SystemTracer work on Cog vms? So the image format differences are - floats are in platform order, not necessarily in big-endian order - the layout of the specialObjectsArray is slightly different (documented in recreateSpecialObjectsArray) - there are more words in the header, see StackInterpreterwriteImageFileIO:, i.e. in Cog: self putLong: self imageFormatVersion toFile: f. self putLong: headerSize toFile: f. self putLong: imageBytes toFile: f. self putLong: objectMemory startOfMemory toFile: f. self putLong: objectMemory specialObjectsOop toFile: f. self putLong: objectMemory newObjectHash toFile: f. self putLong: self ioScreenSize toFile: f. self putLong: self getImageHeaderFlags toFile: f. self putLong: extraVMMemory toFile: f. self putShort: desiredNumStackPages toFile: f. self putShort: self unknownShortOrCodeSizeInKs toFile: f. self putLong: desiredEdenBytes toFile: f. self putShort: (maxExtSemTabSizeSet ifTrue: [self ioGetMaxExtSemTableSize] ifFalse: [0]) toFile: f. self putShort: 0 toFile: f. 1 to: 4 do: [:i | self putLong: 0 toFile: f]. fill remaining header words with zeros in Interpreter: self putLong: (self imageFormatVersion) toFile: f. self putLong: headerSize toFile: f. self putLong: imageBytes toFile: f. self putLong: (self startOfMemory) toFile: f. self putLong: specialObjectsOop toFile: f. self putLong: lastHash toFile: f. self putLong: (self ioScreenSize) toFile: f. self putLong: fullScreenFlag toFile: f. self putLong: extraVMMemory toFile: f. 1 to: 7 do: [:i | self putLong: 0 toFile: f]. fill remaining header words with zeros Then getImageHeaderFlags Answer the flags that are contained in the 7th long of the image header. ^fullScreenFlag 0 or 1 + (VMBIGENDIAN ifTrue: [0] ifFalse: [2]) this is the imageFloatsLittleEndian flag + (processHasThreadId ifTrue: [4] ifFalse: [0]) + (flagInterpretedMethods ifTrue: [8] ifFalse: [0]) + (preemptionYields ifTrue: [0] ifFalse: [16]) + (noThreadingOfGUIThread ifTrue: [32] ifFalse: [0]) + (imageHeaderFlags bitAnd: 63 bitInvert32) these are any flags we do not recognize Now most of the information in the flags is accessible from vmParameterAt: (or some convenience methods). e.g. vm parameter 49 is the max external semaphore table size, and vm parameter 48 is the following flags: getCogVMFlags Answer an array of flags indicating various properties of the Cog VM. Bit 0: implies the image's Process class has threadId as its 3rd inst var (zero relative) Bit 1: if set, methods that are interpreted will have the flag bit set in their header Bit 2: if set, implies preempting a process does not put it to the back of its run queue ^objectMemory integerObjectOf: (processHasThreadId ifTrue: [1] ifFalse: [0]) + (flagInterpretedMethods ifTrue: [2] ifFalse: [0]) + (preemptionYields ifTrue: [0] ifFalse: [4]) + (noThreadingOfGUIThread ifTrue: [8] ifFalse: [0]) Hehe, in pharo the comment reaches up to 41 :). I'll look at squeak to update it. And squeak's reach up to 40 :/ in http://ftp.squeak.org/4.1/SqueakV41.sources.gz Read the comment for vmParameterAt: to get things like num stack pages and cog code size. Is this OK? I know it's a bit of a mess. If you or I (we?) write it up where should we put the info? Thanks, Guille On Thu, Jan 27, 2011 at 6:36 PM, Levente Uzonyi le...@elte.hu wrote: On Thu, 27 Jan 2011, Benjamin wrote: It works for PharoCore-1.1-11196-UNSTABLE.1 but it seems to be the only version where it works :S Does someone know why ? It doesn't support Cog's image format. Try an image with the original Squeak format. You can convert your image with the latest SqueakVM. Only the unix VM was released with this feature yet, so you can use that http://squeakvm.org/unix/ or build a VM for your favorite platform. Levente Thanks, Ben On Jan 27, 2011, at 3:36 PM, Benjamin wrote: Hello guys, for one of my projects, I'm trying to use SystemTracer to create anew image, but it appears that it doesn't work on Pharo ... I can create a new image, but I can't open it. I've tried with an older VM (Squeak 3.8.18beta1U), but it's the same ... Did someone already have this problem ? Does someone have a solution ? Thanks in advance, Ben -- best, Eliot
[Pharo-project] TestCase#assert:equals: optimization
Hi: While stepping through bytecodes, I noticed a slightly annoying inefficiency in the SUnit implementation. The description string in #assert:equals: is always computed, even if it is not necessary. While that might not be a performance problem, I find it rather distracting when I have to debug on the bytecode/VM level. Since there seem to be only 127 senders or so in the image, you will probably not notice a big performance gain. The change to compute the string only when necessary is below. Best regards Stefan PS: This is a resend, because the original mail seemed to have been lost, while the mailing list was down. !TestCase methodsFor: 'asserting' stamp: 'StefanMarr 3/13/2012 23:41'! assert: aBooleanOrBlock description: aStringOrBlock aBooleanOrBlock value ifFalse: [ | aString | aString := aStringOrBlock value. self logFailure: aString. TestResult failure signal: aString] ! ! !TestCase methodsFor: 'asserting' stamp: 'StefanMarr 3/13/2012 23:40'! assert: aBooleanOrBlock description: aStringOrBlock resumable: resumableBoolean | exception | aBooleanOrBlock value ifFalse: [|aString| aString := aStringOrBlock value. self logFailure: aString. exception := resumableBoolean ifTrue: [TestResult resumableFailure] ifFalse: [TestResult failure]. exception signal: aString] ! ! !TestCase methodsFor: 'asserting' stamp: 'StefanMarr 3/13/2012 23:40'! assert: expected equals: actual ^ self assert: (expected = actual) description: [self comparingStringBetween: actual and: expected] ! ! -- Stefan Marr Software Languages Lab Vrije Universiteit Brussel Pleinlaan 2 / B-1050 Brussels / Belgium http://soft.vub.ac.be/~smarr Phone: +32 2 629 2974 Fax: +32 2 629 3525
[Pharo-project] Pharo 1.4 Tests-Unix - Build # 286 - Still Unstable!
BUILD UNSTABLEBuild URLhttps://ci.lille.inria.fr/pharo/job/Pharo%201.4%20Tests-Unix/286/Project:Pharo 1.4 Tests-UnixDate of build:Thu, 15 Mar 2012 20:57:25 +0100Build duration:3 mn 48 sCHANGESNo ChangesJUnit TestsName: Announcements.Tests.Core Failed: 0 test(s), Passed: 29 test(s), Skipped: 0 test(s), Total: 29 test(s)Name: BalloonTests.Collections Failed: 0 test(s), Passed: 34 test(s), Skipped: 0 test(s), Total: 34 test(s)Name: CollectionsTests.Arrayed Failed: 0 test(s), Passed: 562 test(s), Skipped: 0 test(s), Total: 562 test(s)Name: CollectionsTests.Atomic Failed: 0 test(s), Passed: 12 test(s), Skipped: 0 test(s), Total: 12 test(s)Name: CollectionsTests.Sequenceable Failed: 0 test(s), Passed: 907 test(s), Skipped: 0 test(s), Total: 907 test(s)Name: CollectionsTests.SplitJoin Failed: 0 test(s), Passed: 27 test(s), Skipped: 0 test(s), Total: 27 test(s)Name: CollectionsTests.Stack Failed: 0 test(s), Passed: 16 test(s), Skipped: 0 test(s), Total: 16 test(s)Name: CollectionsTests.Streams Failed: 0 test(s), Passed: 37 test(s), Skipped: 0 test(s), Total: 37 test(s)Name: CollectionsTests.Strings Failed: 0 test(s), Passed: 591 test(s), Skipped: 0 test(s), Total: 591 test(s)Name: CollectionsTests.Support Failed: 0 test(s), Passed: 12 test(s), Skipped: 0 test(s), Total: 12 test(s)Name: CollectionsTests.Text Failed: 0 test(s), Passed: 45 test(s), Skipped: 0 test(s), Total: 45 test(s)Name: CollectionsTests.Unordered Failed: 0 test(s), Passed: 1951 test(s), Skipped: 0 test(s), Total: 1951 test(s)Name: CollectionsTests.Weak Failed: 0 test(s), Passed: 739 test(s), Skipped: 0 test(s), Total: 739 test(s)Name: CompilerTests Failed: 0 test(s), Passed: 178 test(s), Skipped: 0 test(s), Total: 178 test(s)Name: CompressionTests.Archive Failed: 0 test(s), Passed: 2 test(s), Skipped: 0 test(s), Total: 2 test(s)Name: FS.Tests.AnsiStreams Failed: 0 test(s), Passed: 40 test(s), Skipped: 0 test(s), Total: 40 test(s)Name: FS.Tests.Core Failed: 0 test(s), Passed: 169 test(s), Skipped: 0 test(s), Total: 169 test(s)Name: FS.Tests.Disk Failed: 24 test(s), Passed: 27 test(s), Skipped: 0 test(s), Total: 51 test(s)Failed: FS.Tests.Disk.FSDiskFilesystemTest.testFileNamesFailed: FS.Tests.Disk.FSDiskFilesystemTest.testFileStreamDoFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamDoFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamDoIfAbsentFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamIfAbsentFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamDoFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamDoIfPresentFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamIfPresentFailed: FS.Tests.Disk.FSFileHandleTest.testAtFailed: FS.Tests.Disk.FSFileHandleTest.testAtPutFailed: FS.Tests.Disk.FSFileHandleTest.testAtPutBinaryAsciiFailed: FS.Tests.Disk.FSFileHandleTest.testAtWriteBinaryAsciiFailed: FS.Tests.Disk.FSFileHandleTest.testCloseFailed: FS.Tests.Disk.FSFileHandleTest.testCreatedOpenFailed: FS.Tests.Disk.FSFileHandleTest.testIOFailed: FS.Tests.Disk.FSFileHandleTest.testReadBufferTooLargeFailed: FS.Tests.Disk.FSFileHandleTest.testReadOnlyFailed: FS.Tests.Disk.FSFileHandleTest.testReferenceFailed: FS.Tests.Disk.FSFileHandleTest.testSizeAfterGrowFailed: FS.Tests.Disk.FSFileHandleTest.testSizeNoGrowFailed: FS.Tests.Disk.FSFileHandleTest.testTruncateFailed: FS.Tests.Disk.FSFileHandleTest.testWriteStreamName: FS.Tests.Memory Failed: 0 test(s), Passed: 50 test(s), Skipped: 0 test(s), Total: 50 test(s)Name: FreeTypeTests.cache Failed: 0 test(s), Passed: 23 test(s), Skipped: 0 test(s), Total: 23 test(s)Name: Gofer.Tests Failed: 0 test(s), Passed: 45 test(s), Skipped: 0 test(s), Total: 45 test(s)Name: Graphics.Tests.Files Failed: 0 test(s), Passed: 47 test(s), Skipped: 0 test(s), Total: 47 test(s)Name: Graphics.Tests.Primitives Failed: 0 test(s), Passed: 57 test(s), Skipped: 0 test(s), Total: 57 test(s)Name: HelpSystem.Tests.Builders Failed: 0 test(s), Passed: 5 test(s), Skipped: 0 test(s), Total: 5 test(s)Name: HelpSystem.Tests.Core.Model Failed: 0 test(s), Passed: 4 test(s), Skipped: 0 test(s), Total: 4 test(s)Name: HelpSystem.Tests.Core.UI Failed: 0 test(s), Passed: 6 test(s), Skipped: 0 test(s), Total: 6 test(s)Name: HelpSystem.Tests.Core.Utilities Failed: 0 test(s), Passed: 2 test(s), Skipped: 0 test(s), Total: 2 test(s)Name: KernelTests.Chronology Failed: 1 test(s), Passed: 577 test(s), Skipped: 0 test(s), Total: 578 test(s)Failed: KernelTests.Chronology.StopwatchTest.testActiveName: KernelTests.Classes Failed: 0 test(s), Passed: 68 test(s), Skipped: 0 test(s), Total: 68 test(s)Name: KernelTests.Exception Failed: 0 test(s), Passed: 3 test(s), Skipped: 0 test(s), Total: 3 test(s)Name: KernelTests.Methods Failed: 0 test(s), Passed: 177 test(s), Skipped: 0 test(s), Total: 177 test(s)Name: KernelTests.Numbers Failed: 0 test(s), Passed: 265 test(s), Skipped: 0 test(s), Total: 265 test(s)Name:
Re: [Pharo-project] [Vm-dev] Re: SystemTracer
I've attached my most up-to-date version. I'll add this to Squeak trunk pronto. On Thu, Mar 15, 2012 at 12:49 PM, Guillermo Polito guillermopol...@gmail.com wrote: On Thu, Mar 15, 2012 at 4:26 PM, Guillermo Polito guillermopol...@gmail.com wrote: On Thu, Mar 15, 2012 at 1:58 PM, Eliot Miranda eliot.mira...@gmail.comwrote: Hi Guillermo, On Wed, Mar 14, 2012 at 12:48 PM, Guillermo Polito guillermopol...@gmail.com wrote: Hi Eliot, do you have a pointer of where can I see the differences between the old Squeak format and the cog image format, so I can make SystemTracer work on Cog vms? So the image format differences are - floats are in platform order, not necessarily in big-endian order - the layout of the specialObjectsArray is slightly different (documented in recreateSpecialObjectsArray) - there are more words in the header, see StackInterpreterwriteImageFileIO:, i.e. in Cog: self putLong: self imageFormatVersion toFile: f. self putLong: headerSize toFile: f. self putLong: imageBytes toFile: f. self putLong: objectMemory startOfMemory toFile: f. self putLong: objectMemory specialObjectsOop toFile: f. self putLong: objectMemory newObjectHash toFile: f. self putLong: self ioScreenSize toFile: f. self putLong: self getImageHeaderFlags toFile: f. self putLong: extraVMMemory toFile: f. self putShort: desiredNumStackPages toFile: f. self putShort: self unknownShortOrCodeSizeInKs toFile: f. self putLong: desiredEdenBytes toFile: f. self putShort: (maxExtSemTabSizeSet ifTrue: [self ioGetMaxExtSemTableSize] ifFalse: [0]) toFile: f. self putShort: 0 toFile: f. 1 to: 4 do: [:i | self putLong: 0 toFile: f]. fill remaining header words with zeros in Interpreter: self putLong: (self imageFormatVersion) toFile: f. self putLong: headerSize toFile: f. self putLong: imageBytes toFile: f. self putLong: (self startOfMemory) toFile: f. self putLong: specialObjectsOop toFile: f. self putLong: lastHash toFile: f. self putLong: (self ioScreenSize) toFile: f. self putLong: fullScreenFlag toFile: f. self putLong: extraVMMemory toFile: f. 1 to: 7 do: [:i | self putLong: 0 toFile: f]. fill remaining header words with zeros Then getImageHeaderFlags Answer the flags that are contained in the 7th long of the image header. ^fullScreenFlag 0 or 1 + (VMBIGENDIAN ifTrue: [0] ifFalse: [2]) this is the imageFloatsLittleEndian flag + (processHasThreadId ifTrue: [4] ifFalse: [0]) + (flagInterpretedMethods ifTrue: [8] ifFalse: [0]) + (preemptionYields ifTrue: [0] ifFalse: [16]) + (noThreadingOfGUIThread ifTrue: [32] ifFalse: [0]) + (imageHeaderFlags bitAnd: 63 bitInvert32) these are any flags we do not recognize Now most of the information in the flags is accessible from vmParameterAt: (or some convenience methods). e.g. vm parameter 49 is the max external semaphore table size, and vm parameter 48 is the following flags: getCogVMFlags Answer an array of flags indicating various properties of the Cog VM. Bit 0: implies the image's Process class has threadId as its 3rd inst var (zero relative) Bit 1: if set, methods that are interpreted will have the flag bit set in their header Bit 2: if set, implies preempting a process does not put it to the back of its run queue ^objectMemory integerObjectOf: (processHasThreadId ifTrue: [1] ifFalse: [0]) + (flagInterpretedMethods ifTrue: [2] ifFalse: [0]) + (preemptionYields ifTrue: [0] ifFalse: [4]) + (noThreadingOfGUIThread ifTrue: [8] ifFalse: [0]) Hehe, in pharo the comment reaches up to 41 :). I'll look at squeak to update it. And squeak's reach up to 40 :/ in http://ftp.squeak.org/4.1/SqueakV41.sources.gz Read the comment for vmParameterAt: to get things like num stack pages and cog code size. Is this OK? I know it's a bit of a mess. If you or I (we?) write it up where should we put the info? Thanks, Guille On Thu, Jan 27, 2011 at 6:36 PM, Levente Uzonyi le...@elte.hu wrote: On Thu, 27 Jan 2011, Benjamin wrote: It works for PharoCore-1.1-11196-UNSTABLE.1 but it seems to be the only version where it works :S Does someone know why ? It doesn't support Cog's image format. Try an image with the original Squeak format. You can convert your image with the latest SqueakVM. Only the unix VM was released with this feature yet, so you can use that http://squeakvm.org/unix/ or build a VM for your favorite platform. Levente Thanks, Ben On Jan 27, 2011, at 3:36 PM, Benjamin wrote: Hello guys, for one of my projects, I'm trying to use SystemTracer to create anew image, but it appears that it doesn't work on Pharo ... I can create a new image, but I can't open it. I've tried with an older VM (Squeak 3.8.18beta1U), but it's the same ... Did someone already have this problem ? Does someone have a solution ? Thanks in advance, Ben -- best, Eliot -- best, Eliot SmalltalkImage-vmParameterAt.st Description:
[Pharo-project] Extending SystemBrowser
Hi everybody, I have some problems to extend the SystemBrowser. I want to add a panel at the left of package panel to list products. Product is a new concept that I created to manage a group of packages. For example, Pharo is a product and Seaside is another that depends on Pharo. This is the path that I want to follow: Products - Packages - Classes - Protocols - Methods I know in Pharo 1.4 the systemBrowser will be changed but I have a proof of concept early and I have to show something working integrated in Pharo 1.3 image. What could I do to start? Any advice?
[Pharo-project] TestCase#assert:equals: optimization
Hi: While stepping through bytecodes, I noticed a bit annoying inefficiency in the SUnit implementation. The description string in #assert:equals: is always computed, even if it is not necessary. While that might not be a performance problem, I find it rather distracting when I have to debug on the bytecode/VM level. Since there seem to be only 127 senders or so in the image, you will probably not notice a big performance gain. But in case you care, the change to compute the string only when necessary is below. Best regards Stefan !TestCase methodsFor: 'asserting' stamp: 'StefanMarr 3/13/2012 23:41'! assert: aBooleanOrBlock description: aStringOrBlock aBooleanOrBlock value ifFalse: [ | aString | aString := aStringOrBlock value. self logFailure: aString. TestResult failure signal: aString] ! ! !TestCase methodsFor: 'asserting' stamp: 'StefanMarr 3/13/2012 23:40'! assert: aBooleanOrBlock description: aStringOrBlock resumable: resumableBoolean | exception | aBooleanOrBlock value ifFalse: [|aString| aString := aStringOrBlock value. self logFailure: aString. exception := resumableBoolean ifTrue: [TestResult resumableFailure] ifFalse: [TestResult failure]. exception signal: aString] ! ! !TestCase methodsFor: 'asserting' stamp: 'StefanMarr 3/13/2012 23:40'! assert: expected equals: actual ^ self assert: (expected = actual) description: [self comparingStringBetween: actual and: expected] ! ! -- Stefan Marr Software Languages Lab Vrije Universiteit Brussel Pleinlaan 2 / B-1050 Brussels / Belgium http://soft.vub.ac.be/~smarr Phone: +32 2 629 2974 Fax: +32 2 629 3525
Re: [Pharo-project] Gettext package, who?
Le 15/03/2012 17:45, Stéphane Ducasse a écrit : What is the size of this package? The .mcz file is 26.7 kB -- Dr. Geo -- http://www.drgeo.eu
Re: [Pharo-project] MultiCompositionScanner depending on Morphic stuff
Hi Guillermo, great to see someone to improve modularity of the system. :) We are always thinking. Now Guille will start a PhD with us :) Look at results of latest Pharo-Kernel: https://ci.lille.inria.fr/pharo/view/Pharo-Kernel/job/Pharo%20Kernel%201.4/lastSuccessfulBuild/artifact/PharoKernel-1.4/info.txt This Undeclared clearly show unwelcome kernel dependencies and must be removed. Cheers, -- Pavel On Thu, Mar 15, 2012 at 5:37 PM, Guillermo Polito guillermopol...@gmail.com wrote: On Thu, Mar 15, 2012 at 1:34 PM, Marcus Denker marcus.den...@inria.fr wrote: On Mar 15, 2012, at 5:32 PM, Igor Stasenko wrote: Hey, composition scanners and display scanners should not belong to Kernel. they should be either in graphics package or in morphic itself. Why we moved this stuff to kernel? :3 Actually CompositionScanner belong to Graphics, I was puzzled about that too. I'll post a slice in the inbox :) Nobody moved... they where always there. It's a mess of epic proportion, our whole code base. Marcus -- Marcus Denker -- http://marcusdenker.de
Re: [Pharo-project] Finally, jenkins were able to build win32 VM.
not good :( because I'm sure it crashed on you the first time. Stef On Mar 13, 2012, at 3:44 PM, Tudor Girba wrote: Strange. I tried to reproduce the problem, but following the same path worked fine the second time. Doru On Tue, Mar 13, 2012 at 3:18 PM, Tudor Girba tu...@tudorgirba.com wrote: Ah, I forgot to mention: the same scenario works with the VM from Eliot (2522) Cheers, Doru On Tue, Mar 13, 2012 at 3:16 PM, Tudor Girba tu...@tudorgirba.com wrote: Hi, I just tried it and it crashed :(. Here is what I did: - I took the Moose image - it started fine, and seem to be responsive - I then loaded code in it using a configuration - while loading, it crashed I attach here the crash.dmp file. I cannot provide the actual code because it is proprietary. I will try to reproduce the problem in more available settings. Cheers, Doru On Tue, Mar 13, 2012 at 8:54 AM, Torsten Bergmann asta...@gmx.de wrote: Thanks Igor. Guys can you try and report if you have problems? Yes, thanks Igor, How can I see if this release integrates Eliots latest fixes for Cog? Thx T. -- Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de -- www.tudorgirba.com Every thing has its own flow -- www.tudorgirba.com Every thing has its own flow -- www.tudorgirba.com Every thing has its own flow
Re: [Pharo-project] Extending SystemBrowser
On Mar 13, 2012, at 9:21 PM, Ezequiel Lamonica wrote: Hi everybody, I have some problems to extend the SystemBrowser. I want to add a panel at the left of package panel to list products. Product is a new concept that I created to manage a group of packages. For example, Pharo is a product and Seaside is another that depends on Pharo. This is the path that I want to follow: Products - Packages - Classes - Protocols - Methods I know in Pharo 1.4 the systemBrowser will be changed but I have a proof of concept early and I have to show something working integrated in Pharo 1.3 image. Use Glamour or Spec or OB but not systemBrowser. Run away from SystemBrowser What could I do to start? Any advice?
Re: [Pharo-project] TestCase#assert:equals: optimization
thanks stefan Can you open a bug tracker and publish your code with a slice or a cs so that our crawler can handle it automatically? Yes we are getting professional thanks for camillo and ben :) Stef On Mar 15, 2012, at 8:58 PM, Stefan Marr wrote: Hi: While stepping through bytecodes, I noticed a slightly annoying inefficiency in the SUnit implementation. The description string in #assert:equals: is always computed, even if it is not necessary. While that might not be a performance problem, I find it rather distracting when I have to debug on the bytecode/VM level. Since there seem to be only 127 senders or so in the image, you will probably not notice a big performance gain. The change to compute the string only when necessary is below. Best regards Stefan PS: This is a resend, because the original mail seemed to have been lost, while the mailing list was down. !TestCase methodsFor: 'asserting' stamp: 'StefanMarr 3/13/2012 23:41'! assert: aBooleanOrBlock description: aStringOrBlock aBooleanOrBlock value ifFalse: [ | aString | aString := aStringOrBlock value. self logFailure: aString. TestResult failure signal: aString] ! ! !TestCase methodsFor: 'asserting' stamp: 'StefanMarr 3/13/2012 23:40'! assert: aBooleanOrBlock description: aStringOrBlock resumable: resumableBoolean | exception | aBooleanOrBlock value ifFalse: [|aString| aString := aStringOrBlock value. self logFailure: aString. exception := resumableBoolean ifTrue: [TestResult resumableFailure] ifFalse: [TestResult failure]. exception signal: aString] ! ! !TestCase methodsFor: 'asserting' stamp: 'StefanMarr 3/13/2012 23:40'! assert: expected equals: actual ^ self assert: (expected = actual) description: [self comparingStringBetween: actual and: expected] ! ! -- Stefan Marr Software Languages Lab Vrije Universiteit Brussel Pleinlaan 2 / B-1050 Brussels / Belgium http://soft.vub.ac.be/~smarr Phone: +32 2 629 2974 Fax: +32 2 629 3525
[Pharo-project] we should make some noise around the pharo conf :)
http://pharoconference.eventbrite.com/ Stef
[Pharo-project] Fwd: [Moose-dev] Moose Windows VM problem
Hi guys can we fix the one click on windows especially? Stef Begin forwarded message: From: Usman Bhatti usman.bha...@gmail.com Subject: [Moose-dev] Moose Windows VM problem Date: March 13, 2012 6:23:44 PM GMT+01:00 To: Moose-related development moose-...@iam.unibe.ch Reply-To: Moose-related development moose-...@iam.unibe.ch Hello, I have a one-click moose image downloaded around first week of Feb 2012. The problem with the image is that it's windows vm that does not launch the image file. In fact, when I execute the vm, it creates a process (visible in windows task manager) but nothing happens. We tried to debug it with Igor but we couldn't (as there is no entry point). The image in the bundle can be launched with latest windows vm (from pharo server) [meaning that the problem comes from the vm which we cannot debug]. I downloaded another moose image today and executed its windows vm, and its working fine. It would be good to have a jenkins process to run moose on windows vm. Do we have such a setup? If not, I can create one in the coming weeks. thanx, usman ___ Moose-dev mailing list moose-...@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
[Pharo-project] Pharo Kernel Reload Tests-Unix - Build # 5 - Still unstable!
BUILD UNSTABLEBuild URLhttps://ci.lille.inria.fr/pharo/job/Pharo%20Kernel%20Reload%20Tests-Unix/5/Project:Pharo Kernel Reload Tests-UnixDate of build:Wed, 14 Mar 2012 09:21:09 +0100Build duration:3 mn 18 sCHANGESNo ChangesJUnit TestsName: Announcements.Tests.Core Failed: 0 test(s), Passed: 29 test(s), Skipped: 0 test(s), Total: 29 test(s)Name: BalloonTests.Collections Failed: 0 test(s), Passed: 34 test(s), Skipped: 0 test(s), Total: 34 test(s)Name: CollectionsTests.Arrayed Failed: 0 test(s), Passed: 562 test(s), Skipped: 0 test(s), Total: 562 test(s)Name: CollectionsTests.Atomic Failed: 0 test(s), Passed: 12 test(s), Skipped: 0 test(s), Total: 12 test(s)Name: CollectionsTests.Sequenceable Failed: 0 test(s), Passed: 907 test(s), Skipped: 0 test(s), Total: 907 test(s)Name: CollectionsTests.SplitJoin Failed: 0 test(s), Passed: 27 test(s), Skipped: 0 test(s), Total: 27 test(s)Name: CollectionsTests.Stack Failed: 0 test(s), Passed: 16 test(s), Skipped: 0 test(s), Total: 16 test(s)Name: CollectionsTests.Streams Failed: 0 test(s), Passed: 37 test(s), Skipped: 0 test(s), Total: 37 test(s)Name: CollectionsTests.Strings Failed: 0 test(s), Passed: 591 test(s), Skipped: 0 test(s), Total: 591 test(s)Name: CollectionsTests.Support Failed: 0 test(s), Passed: 12 test(s), Skipped: 0 test(s), Total: 12 test(s)Name: CollectionsTests.Text Failed: 0 test(s), Passed: 45 test(s), Skipped: 0 test(s), Total: 45 test(s)Name: CollectionsTests.Unordered Failed: 0 test(s), Passed: 1951 test(s), Skipped: 0 test(s), Total: 1951 test(s)Name: CollectionsTests.Weak Failed: 0 test(s), Passed: 739 test(s), Skipped: 0 test(s), Total: 739 test(s)Name: CompilerTests Failed: 0 test(s), Passed: 178 test(s), Skipped: 0 test(s), Total: 178 test(s)Name: CompressionTests.Archive Failed: 0 test(s), Passed: 2 test(s), Skipped: 0 test(s), Total: 2 test(s)Name: FS.Tests.AnsiStreams Failed: 0 test(s), Passed: 40 test(s), Skipped: 0 test(s), Total: 40 test(s)Name: FS.Tests.Core Failed: 0 test(s), Passed: 169 test(s), Skipped: 0 test(s), Total: 169 test(s)Name: FS.Tests.Disk Failed: 24 test(s), Passed: 27 test(s), Skipped: 0 test(s), Total: 51 test(s)Failed: FS.Tests.Disk.FSDiskFilesystemTest.testFileNamesFailed: FS.Tests.Disk.FSDiskFilesystemTest.testFileStreamDoFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamDoFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamDoIfAbsentFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamIfAbsentFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamDoFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamDoIfPresentFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamIfPresentFailed: FS.Tests.Disk.FSFileHandleTest.testAtFailed: FS.Tests.Disk.FSFileHandleTest.testAtPutFailed: FS.Tests.Disk.FSFileHandleTest.testAtPutBinaryAsciiFailed: FS.Tests.Disk.FSFileHandleTest.testAtWriteBinaryAsciiFailed: FS.Tests.Disk.FSFileHandleTest.testCloseFailed: FS.Tests.Disk.FSFileHandleTest.testCreatedOpenFailed: FS.Tests.Disk.FSFileHandleTest.testIOFailed: FS.Tests.Disk.FSFileHandleTest.testReadBufferTooLargeFailed: FS.Tests.Disk.FSFileHandleTest.testReadOnlyFailed: FS.Tests.Disk.FSFileHandleTest.testReferenceFailed: FS.Tests.Disk.FSFileHandleTest.testSizeAfterGrowFailed: FS.Tests.Disk.FSFileHandleTest.testSizeNoGrowFailed: FS.Tests.Disk.FSFileHandleTest.testTruncateFailed: FS.Tests.Disk.FSFileHandleTest.testWriteStreamName: FS.Tests.Memory Failed: 0 test(s), Passed: 50 test(s), Skipped: 0 test(s), Total: 50 test(s)Name: FreeTypeTests.cache Failed: 0 test(s), Passed: 23 test(s), Skipped: 0 test(s), Total: 23 test(s)Name: Gofer.Tests Failed: 0 test(s), Passed: 45 test(s), Skipped: 0 test(s), Total: 45 test(s)Name: Graphics.Tests.Files Failed: 0 test(s), Passed: 47 test(s), Skipped: 0 test(s), Total: 47 test(s)Name: Graphics.Tests.Primitives Failed: 0 test(s), Passed: 57 test(s), Skipped: 0 test(s), Total: 57 test(s)Name: HelpSystem.Tests.Builders Failed: 0 test(s), Passed: 5 test(s), Skipped: 0 test(s), Total: 5 test(s)Name: HelpSystem.Tests.Core.Model Failed: 0 test(s), Passed: 4 test(s), Skipped: 0 test(s), Total: 4 test(s)Name: HelpSystem.Tests.Core.UI Failed: 0 test(s), Passed: 6 test(s), Skipped: 0 test(s), Total: 6 test(s)Name: HelpSystem.Tests.Core.Utilities Failed: 0 test(s), Passed: 2 test(s), Skipped: 0 test(s), Total: 2 test(s)Name: KernelTests.Chronology Failed: 0 test(s), Passed: 578 test(s), Skipped: 0 test(s), Total: 578 test(s)Name: KernelTests.Classes Failed: 0 test(s), Passed: 68 test(s), Skipped: 0 test(s), Total: 68 test(s)Name: KernelTests.Exception Failed: 0 test(s), Passed: 3 test(s), Skipped: 0 test(s), Total: 3 test(s)Name: KernelTests.Methods Failed: 0 test(s), Passed: 177 test(s), Skipped: 0 test(s), Total: 177 test(s)Name: KernelTests.Numbers Failed: 0 test(s), Passed: 265 test(s), Skipped: 0 test(s), Total: 265 test(s)Name: KernelTests.Objects Failed: 0 test(s),
Re: [Pharo-project] [Vm-dev] Finally, jenkins were able to build win32 VM.
Hi, The problem is that I cannot get it for you because it's proprietary code, and the issue raised when loading the code from a Monticello repository. I got some strange crashes in other contexts but without having time to dig into these :(. I will try to keep my eyes opened and find some reproducible case. Cheers, Doru On 15 Mar 2012, at 20:03, Igor Stasenko wrote: On 15 March 2012 19:28, Eliot Miranda eliot.mira...@gmail.com wrote: On Tue, Mar 13, 2012 at 7:44 AM, Tudor Girba tu...@tudorgirba.com wrote: Strange. I tried to reproduce the problem, but following the same path worked fine the second time. Such GC bugs are extremely sensitive to exactly the sequence of mutations in the heap. So the time in between mouse clicks or keyboard presses, or even the length of delays or the date and time can change the form of the heap. The only way I know to reproduce this kind of bug reliably is to write a doit that causes the system to crash without user intervention. You can either supply the doit in a file to the VM at startup or (more convenient for those debugging it) write a doit that starts with a snapshot, e.g. Smalltalk saveAs. Crasher new crash Not again this flaky GC/become stuff. I was hoping that last one we busted in summer.. -- Best regards, Igor Stasenko. -- www.tudorgirba.com No matter how many recipes we know, we still value a chef.
Re: [Pharo-project] [Vm-dev] Finally, jenkins were able to build win32 VM.
Hi Tudor, On Thu, Mar 15, 2012 at 2:55 PM, Tudor Girba tu...@tudorgirba.com wrote: Hi, The problem is that I cannot get it for you because it's proprietary code, and the issue raised when loading the code from a Monticello repository. I sign non-disclosure agreements and destroy files once I'm done :) So if you can get it to crash loading from a package-cache and you're happy for me to sign an NDA I can still look at it. But only if you;re comfortable and only if you have a reproducible case. I got some strange crashes in other contexts but without having time to dig into these :(. I will try to keep my eyes opened and find some reproducible case. Cheers, Doru cool. cheers! On 15 Mar 2012, at 20:03, Igor Stasenko wrote: On 15 March 2012 19:28, Eliot Miranda eliot.mira...@gmail.com wrote: On Tue, Mar 13, 2012 at 7:44 AM, Tudor Girba tu...@tudorgirba.com wrote: Strange. I tried to reproduce the problem, but following the same path worked fine the second time. Such GC bugs are extremely sensitive to exactly the sequence of mutations in the heap. So the time in between mouse clicks or keyboard presses, or even the length of delays or the date and time can change the form of the heap. The only way I know to reproduce this kind of bug reliably is to write a doit that causes the system to crash without user intervention. You can either supply the doit in a file to the VM at startup or (more convenient for those debugging it) write a doit that starts with a snapshot, e.g. Smalltalk saveAs. Crasher new crash Not again this flaky GC/become stuff. I was hoping that last one we busted in summer.. -- Best regards, Igor Stasenko. -- www.tudorgirba.com No matter how many recipes we know, we still value a chef. -- best, Eliot