[squeak-dev] Release image format (was: "Future Directions" welcome workspace)

David T. Lewis lewis at mail.msen.com
Mon Jun 17 00:11:59 UTC 2013


On Sun, Jun 16, 2013 at 03:09:17PM -0400, David T. Lewis wrote:
> On Sun, Jun 16, 2013 at 10:45:23AM +0100, Frank Shearar wrote:
> > On 16 June 2013 10:13, Frank Shearar <frank.shearar at gmail.com> wrote:
> > > On 9 December 2012 00:00, David T. Lewis <lewis at mail.msen.com> wrote:
> > >> On Sat, Dec 08, 2012 at 10:48:16PM +0000, Frank Shearar wrote:
> > >>> On 8 December 2012 21:56, David T. Lewis <lewis at mail.msen.com> wrote:
> > >>> > On Sat, Dec 08, 2012 at 09:50:21PM +0000, Frank Shearar wrote:
> > >>> >> On 8 December 2012 21:24, David T. Lewis <lewis at mail.msen.com> wrote:
> > >>> >> >
> > >>> >> > We may have tripped an intermittent bug, and it might or might not be
> > >>> >> > aggrivated by the image having been saved in the 6504 format. The actual
> > >>> >> > failure was in a LargeIntegersPlugin primitive, so I'm not quite sure
> > >>> >> > what to make of it.
> > >>> >>
> > >>> >> Indeed. #55 passed, and so has #56.
> > >>> >>
> > >>> >
> > >>> > I see three successful runs now. It wouldn't hurt to run it a couple more
> > >>> > times and see if it stays healthy. But I need to leave for an hour or two,
> > >>> > so I won't do anything further right now.
> > >>>
> > >>> #57 - 60 have all passed.
> > >>>
> > >>
> > >> Good. Whatever it was, it's not an issue to get in the way of the release.
> > >
> > > It just manifested again, for the first time in ages:
> > > http://build.squeak.org/job/SqueakTrunk/383/console
> > 
> > And here's the crash dump.
> > 
> 
> It looks like this is failing intermittently in the SqueakTrunk jobs while
> running LargePositiveIntegerTest>testReciprocalModulo. I don't see any particular
> pattern behind it, the crashes just seem to occur occasionally while running
> the SqueakTrunk job.
> 
> I downloaded a copy of this Squeak4.5 image from build.squeak.org:
>   http://build.squeak.org/job/SqueakTrunk/ws/Squeak4.4.image
>   http://build.squeak.org/job/SqueakTrunk/ws/Squeak4.4.changes
> 
> I am now running the following in a workspace under both Cog and Interpreter
> VMs. This runs testReciprocalModulo continuously and allocates memory to move
> things around:
> 
>     log := [:s | FileStream stdout nextPutAll: s; lf].
>     vm := ['Interpreter VM ', Smalltalk vm versionLabel]
>         on: Warning
>         do: [:e | Smalltalk vm interpreterClass].
>     wasteSomeSpace := OrderedCollection new.
>     1 to: 100000 do: [:i |
>         (wasteSomeSpace size > 3000) ifTrue: [
>             wasteSomeSpace := OrderedCollection new].
>         wasteSomeSpace add: (String new: 100000).
>         log value: vm.
>         log value: SmalltalkImage current vmStatisticsReportString.
>         log value: 'testReciprocalModulo test run ', i asString.
>         (LargePositiveIntegerTest selector: #testReciprocalModulo) run].
> 
> I have run over 50,000 iterations of the loop in the last few hours, running on
> both a Cog VM and on an interpreter VM. So far no crashes with either VM.
> 
> I'm going to try the same thing with the SqueakTrunk image from the same workspace:
>   http://build.squeak.org/job/SqueakTrunk/lastSuccessfulBuild/artifact/target/TrunkImage.image
>   http://build.squeak.org/job/SqueakTrunk/lastSuccessfulBuild/artifact/target/TrunkImage.changes
> 
> I'll run the same tests on Cog and interpreter VMs, and see if anything happens
> with that image.

For the record, I have now run over 50,000 iterations of the loop using the
TrunkImage, using both Cog and interpreter VMs. No crashes.

I cannot reproduce the crash on my Linux PC by simply running testReciprocalModulo.
I've tried different VMs and different images, and I did memory allocation between
loops in hopes of moving the problem around in the object memory. No joy, it does
not crash.

The source of the problem must be elsewhere.

Dave



More information about the Squeak-dev mailing list