Over the weekend I made some progress in getting SystemTracer updated to do 64-bit image tracing. Previously SystemTracer64 did not work on little-endian machines (Mantis 5240). This is corrected now, and the code is on SqueakSource in project "SystemTracing". I can now trace a Squeak 3.10.2 image to 64-bit format on my Linux AMD box (little endian), producing a runnable 64-bit image. For an up to date Squeak trunk image, I can trace a 64 image that loads and runs (display opens and things start working), but that has problems with resuming its background processes (low space watcher etc). Possibly it's related to the block closure changes, although I believe there was an earlier report of a Pharo image with block closures being successfully traced to 64 bit format. Dave |
excellent news On 2010-01-11, at 7:55 PM, David T. Lewis wrote: > > Over the weekend I made some progress in getting SystemTracer updated > to do 64-bit image tracing. Previously SystemTracer64 did not work on > little-endian machines (Mantis 5240). This is corrected now, and the > code is on SqueakSource in project "SystemTracing". > > I can now trace a Squeak 3.10.2 image to 64-bit format on my Linux > AMD box (little endian), producing a runnable 64-bit image. For > an up to date Squeak trunk image, I can trace a 64 image that > loads and runs (display opens and things start working), but that > has problems with resuming its background processes (low space > watcher etc). Possibly it's related to the block closure changes, > although I believe there was an earlier report of a Pharo image > with block closures being successfully traced to 64 bit format. > > Dave > -- =========================================================================== John M. McIntosh <[hidden email]> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com =========================================================================== |
In reply to this post by David T. Lewis
It has to be about the word size issue. Send a screen shot of the walkbacks. On 2010-01-11, at 7:55 PM, David T. Lewis wrote: > > Over the weekend I made some progress in getting SystemTracer updated > to do 64-bit image tracing. Previously SystemTracer64 did not work on > little-endian machines (Mantis 5240). This is corrected now, and the > code is on SqueakSource in project "SystemTracing". > > I can now trace a Squeak 3.10.2 image to 64-bit format on my Linux > AMD box (little endian), producing a runnable 64-bit image. For > an up to date Squeak trunk image, I can trace a 64 image that > loads and runs (display opens and things start working), but that > has problems with resuming its background processes (low space > watcher etc). Possibly it's related to the block closure changes, > although I believe there was an earlier report of a Pharo image > with block closures being successfully traced to 64 bit format. > > Dave > -- =========================================================================== John M. McIntosh <[hidden email]> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com =========================================================================== |
In reply to this post by David T. Lewis
On Mon, 11 Jan 2010, David T. Lewis wrote: > > Over the weekend I made some progress in getting SystemTracer updated > to do 64-bit image tracing. Previously SystemTracer64 did not work on > little-endian machines (Mantis 5240). This is corrected now, and the > code is on SqueakSource in project "SystemTracing". > > I can now trace a Squeak 3.10.2 image to 64-bit format on my Linux > AMD box (little endian), producing a runnable 64-bit image. For Sounds great. > an up to date Squeak trunk image, I can trace a 64 image that > loads and runs (display opens and things start working), but that > has problems with resuming its background processes (low space > watcher etc). Possibly it's related to the block closure changes, > although I believe there was an earlier report of a Pharo image > with block closures being successfully traced to 64 bit format. Another approach may be to apply the trunk changes to the 64-bit 3.10.2 image. I guess that would be a great test for the system too. Levente > > Dave > > |
In reply to this post by David T. Lewis
Hi David, I cannot write my changes. So you can have them in attachment. In these .cs, there is a merge with your version .15. And it works with Pharo. Cheers Jannik On Jan 12, 2010, at 04:55 , David T. Lewis wrote: > > Over the weekend I made some progress in getting SystemTracer updated > to do 64-bit image tracing. Previously SystemTracer64 did not work on > little-endian machines (Mantis 5240). This is corrected now, and the > code is on SqueakSource in project "SystemTracing". > > I can now trace a Squeak 3.10.2 image to 64-bit format on my Linux > AMD box (little endian), producing a runnable 64-bit image. For > an up to date Squeak trunk image, I can trace a 64 image that > loads and runs (display opens and things start working), but that > has problems with resuming its background processes (low space > watcher etc). Possibly it's related to the block closure changes, > although I believe there was an earlier report of a Pharo image > with block closures being successfully traced to 64 bit format. > > Dave > 1-System-Tracing-forPharo.cs (61K) Download Attachment 2-SystemTracing-dtl.15.1.cs (110K) Download Attachment |
In reply to this post by johnmci
On Mon, Jan 11, 2010 at 08:16:07PM -0800, John M McIntosh wrote: > > On 2010-01-11, at 7:55 PM, David T. Lewis wrote: > > > > I can now trace a Squeak 3.10.2 image to 64-bit format on my Linux > > AMD box (little endian), producing a runnable 64-bit image. For > > an up to date Squeak trunk image, I can trace a 64 image that > > loads and runs (display opens and things start working), but that > > has problems with resuming its background processes (low space > > watcher etc). Possibly it's related to the block closure changes, > > although I believe there was an earlier report of a Pharo image > > with block closures being successfully traced to 64 bit format. > > It has to be about the word size issue. Send a screen shot of the walkbacks. > I retraced the image, and it fails differently at different points in the startup. Unfortunately I did not save the image that was giving me useful debugger walkbacks. In any case I can confirm that the Pharo 64 bit image with closures does work on my machine (so it's nothing related to the VM), and also that I can successfully trace an older Squeak image to 64 bits on my little endian box, so I'm probably going to be looking for something related to endianness in the 64 bit tracer. Jannik sent his latest changes too, so I'll compare that. If anyone has a big endian machine handy, it would be good to confirm if the latest Squeak trunk can be traced successfully to 64 bit format on a big endian box (i.e. load latest SqS/SystemTracing into trunk image, run "SystemTracer64 writeImage: 'clone64.image' " and verify that works). I expect the answer will be yes but I can't confirm. Dave |
In reply to this post by jannik laval
On Tue, Jan 12, 2010 at 08:31:11AM +0100, Laval Jannik wrote: > > On Jan 12, 2010, at 04:55 , David T. Lewis wrote: > > > Over the weekend I made some progress in getting SystemTracer updated > > to do 64-bit image tracing. Previously SystemTracer64 did not work on > > little-endian machines (Mantis 5240). This is corrected now, and the > > code is on SqueakSource in project "SystemTracing". > > > > I can now trace a Squeak 3.10.2 image to 64-bit format on my Linux > > AMD box (little endian), producing a runnable 64-bit image. For > > an up to date Squeak trunk image, I can trace a 64 image that > > loads and runs (display opens and things start working), but that > > has problems with resuming its background processes (low space > > watcher etc). Possibly it's related to the block closure changes, > > although I believe there was an earlier report of a Pharo image > > with block closures being successfully traced to 64 bit format. > > > > Hi David, > > I cannot write my changes. > So you can have them in attachment. > > In these .cs, there is a merge with your version .15. > And it works with Pharo. Jannik, Thank you for sending this. I will compare and merge as soon as I have some more free time. Also, your PharoCore64-1.1-11152-UNSTABLE image works fine on my Linux box. Dave |
In reply to this post by David T. Lewis
Levente, Great, thank you. I just added to as developer on SqueakSource/SystemTracing. Please go ahead and commit your changes directly if you like. The discrepancy between Squeak trunk and Pharo is minor (Jannik has been posting his changes), so we can easily resolve this. The main open issue is why Squeak trunk and Pharo images traced to 64 bit format on my Intel box are failing. It's got to be something I have not spotted yet in the word swapping in SystemTracer64, and it appears to affect only these new images, I can trace a Squeak 3.8 to 64 bits on Intel without problems. And the Pharo image that Jannik traced with a big endian machine works fine, so it must be a byte ordering issue of some sort. Dave On Wed, Jan 13, 2010 at 07:31:18AM +0100, Levente Uzonyi wrote: > Hi Dave, > > I got some time to clean up the SystemTracing package a bit. I made > two versions. One which just fixes, enhances, removes methods and another > which completely removes NoAssocIdentityDictionary. I could successfully > trace images with SystemTracer2 and SystemTracer64 in both Squeak trunk > (8863) and Pharo 1.1 dev (11138) images, though I don't have a vm for > 64-bit images at the moment, so I couldn't test the 64-bit images. The > traced Pharo image raised an error at startup because SmalltalkImage > didn't understand #setPlatformPreferences, that method was removed. I ran > all tests in the traced images and everything seemed to be fine except > for #testUndeclared. It fails, because PositionableStream has two > extension methods, which reference a missing class variable, but that > should be OK if the SystemTracing package is unloaded. The changes are > available here under the MIT license if you're interested: > http://leves.web.elte.hu/squeak/ > > > Cheers, > Levente > > P.S.: I removed NoAssocIdentityDictionary, because it didn't show any > benefit compared to PluggableDictionary. I also tried IdentityDictionary, > but it's really slow, because it uses #identityHash (or > #scaledIdentityHash) instead of #largeHash (which should be called > #largeIdentityHash). Tracing 400k+ objects with IdentityDictionary means > that there are ~1000 objects for every possible value of #identityHash. > Therefore I removed the possibility to change the dictionary class > directly. Subclasses can override #newLargeIdentityDictionaryOfSize: if > necessary. |
In reply to this post by David T. Lewis
Hi Dave, Thank you for your feedback :), Now, in the PharoCore64, some tests crash or loops. I will see that :) Cheers, Jannik On Jan 12, 2010, at 13:29 , David T. Lewis wrote: > > On Tue, Jan 12, 2010 at 08:31:11AM +0100, Laval Jannik wrote: >> >> On Jan 12, 2010, at 04:55 , David T. Lewis wrote: >> >>> Over the weekend I made some progress in getting SystemTracer updated >>> to do 64-bit image tracing. Previously SystemTracer64 did not work on >>> little-endian machines (Mantis 5240). This is corrected now, and the >>> code is on SqueakSource in project "SystemTracing". >>> >>> I can now trace a Squeak 3.10.2 image to 64-bit format on my Linux >>> AMD box (little endian), producing a runnable 64-bit image. For >>> an up to date Squeak trunk image, I can trace a 64 image that >>> loads and runs (display opens and things start working), but that >>> has problems with resuming its background processes (low space >>> watcher etc). Possibly it's related to the block closure changes, >>> although I believe there was an earlier report of a Pharo image >>> with block closures being successfully traced to 64 bit format. >>> >> >> Hi David, >> >> I cannot write my changes. >> So you can have them in attachment. >> >> In these .cs, there is a merge with your version .15. >> And it works with Pharo. > > Jannik, > > Thank you for sending this. I will compare and merge as soon as I > have some more free time. > > Also, your PharoCore64-1.1-11152-UNSTABLE image works fine on my > Linux box. > > Dave > |
Free forum by Nabble | Edit this page |