[WARNING!]SqueakMap problems

goran.hultgren at bluefish.se goran.hultgren at bluefish.se
Tue Nov 19 10:29:42 UTC 2002


Ok, making progress!

(included Ian in the to: field because he might have some answers...)

Now I have:

1. Simulated creating 1100 packages on my laptop running XP. No problem.
2. Stepped through the code that registers a package. It is very simple
but I went into every little setter and getter to make sure. It simply
does "UUID new", assigns it to an instvar in the SMCard (package) and
later logs it on disk.
3. Analyzed the log file.

Monticello was one of the last "overwrites" and that was registered on
17/11, sunday. I have not restarted the server since then nor have I
done any reloading from the log or anything. So if Monticello and SSP
(which still hangs around if you browse the categories!) has an UUID
instance each that are "=" then... Hmmm, the fingers are starting to
point at UUID...

Note that I run the server on a Linux VM (not the latest thought) -
could the MakeUUID() function on Linux be broken? I actually think so! I
also need to verify I have that plugin so I am not running the backup
Smalltalk code.

Something quite interesting is that the "reuses" of UUIDs are time
related!

As Colin noted the packages registered from 31 Oct to 12 November have
been "taken over". I have verified this, and they have been taken over
IN ORDER. This means that if we register a new package (Don't please, I
want to debug it while we do it) my prediction is that XMLRPC is the
next one to bite the dust!

Also note that I have no collection in the domain model that holds the
cards in order of registration - I hold them by their ids in a
Dictionary.

So... Ian? What have you done with UUIDs on the Linux platform?!

regards, Göran

PS. squeak -version gives:

3.2-4 #1 XShm Mon Jul 29 12:50:47 CEST 2002 gcc 2.95.4
Squeak3.2gamma of 15 January 2002 [latest update: #4881]
Linux marvin 2.4.17 #2 Tue Feb 19 15:51:50 CET 2002 i686
default plugin location: /usr/local/lib/squeak/3.2-4/*.so


goran.hultgren at bluefish.se wrote:
> Hi all!
> 
> Unfortunately the "id problems" we are having in SM are still very much
> real. The effect is that new registrations "steal" the UUIDs from old
> registrations and since the packages are held in a Dictionary this means
> the old package "disappears".
> 
> I have just looked through the current logfile and below all this "id
> stealings" are listed:
> 
> Tantalus was overwritten by FractalMorph
> GLORP port was overwritten by PackageInfo
> SARBuilder was overwritten by Refactoring Browser (for for 3.2) - which
> in turn was later removed.
> SSP was overwritten by Monticello
> MySql driver was overwritten by Enhanced IRC client
> SARInstaller for 3.2 was overwritten by Flow (but later reregistered)
> Aglo graph layout was overwritten by Refactoring Browser for 3.2
> TestRunnerEnhancements was overwritten by Balloon3D
> YAXO was overwritten by Emacs key bindings
> VI4 was overwritten by Ballon3DRemoval
> PDFReader was overwritten by SARInstaller for 3.2
> 
> Sidenote: He, on the fun side when Ned reregistered SARInstaller for
> 3.2, which had been overwritten by Flow, then he in turn took out
> PDFReader... ;-)
> 
> But guys, relax! Do NOT reregister anything right now. And refrain from
> registering new packages until I have sorted this out (the machine is
> not handy for me right now for me to lock registering).
> 
> The whole point with a logfile is that I can fix all this - everything
> has been fully logged at the server. I just need to find the DAMN bug
> first, it's really strange. And it's not Johns fault - I smacked up
> 10000 UUIDs just for fun and they don't repeat of course. At least not
> when they are created all at once... ;-) Hmmmm....
> 
> So relax and let me sweat for a while and then your packages will come
> back from the dead. Ok?
> 
> regards, Göran




More information about the Squeak-dev mailing list