Trouble getting SqueakMap to work

Jazzmynn jazzmynn at ida.net
Mon Jan 26 18:43:55 UTC 2004


Hi Göran (and all!)

I could never figure out how to get a "SqueakDebug.Log" file 
generated following a user interrupt. Or generally from within the 
debugger at all.
Of course, I could go to a workspace and do a "self halt" and that 
seemed to trigger a log (or maybe not, wish I could remember), but 
the log produced was even more "removed" from the problem at hand 
than what I sent earlier...

I'd like to confirm Masato Sumi's suspicion that the filenames may be 
a problem for MacOS. (at least pre-9.x MacOS).

Anyway, I fiddle and fumble and occasionally curse (something about, 
well, best left unsaid :)) and continue to make notes. The 
note-taking becomes rather too painful, so I lurk and wait for mail. 
Yeah, I shoulda spoken up sooner.

Here are the most recent ramblings I had come up with, in case it 
means anything.

===========
<ramble>
++ World Menu -> Open -> Package Loader
"The SqueakMap master server is running another version (2.0) than 
the client (1.0).
You need to upgrade the SqueakMap package, would you like to do that 
now? (Yes/No)"
++ "Yes"
"Loading SqueakMap2-2..."
...
"Reading a stream"
...
"Installation of package release  failed, message follows:
a primitive has failed (OK)"

Note that at this point there is no debug log, so I interrupt with cmd-period,
and get the User Interrupt pane. Still no debug log... Click Debug, 
still no log.
Click Full Stack, no log, so I look at the menu and scratch my head 
till I'm dizzy.
I search on the Swiki for a while, then conclude that I'd have to be smarter to
come up with a useful debug log file. The last time Squeak made it's 
own, it was
presumably worthless.
So back to the debugger. Scrolling down, I see:

Error(Exception)>>signal
Error(Exception)>>signal:
MacFileDirectory(Object)>>error:
MacFileDirectory(Object)>>primitiveFailed
MacFileDirectory(FileDirectory)>>primCreateDirectory:  <--- I will look here
MacFileDirectory(FileDirectory)>>createDirectory:
MacFileDirectory(FileDirectory)>>assureExistenceOfPath:

At MacFileDirectory(FileDirectory)>>primCreateDirectory: I see this:

primCreateDirectory: fullPath
	"Create a directory named by the given path. Fail if the path 
is bad or if a file or directory by that name already exists."
  	<primitive: 'primitiveDirectoryCreate' module: 'FilePlugin'>
	self primitiveFailed

When I click on the "fullPath" variable, it shows me this:
'SanitizedVolumeName:Squeak3.6-MacOS-Full:sm:cache:packages:941c0108-4039-4071-9863-a8d7d2b3d4a3:2'

Now, "941c0108-4039-4071-9863-a8d7d2b3d4a3" is 36 characters, and I'm 
probably wrong, but
this beleaguered MacOS 8.6 only handles 32 characters for path 
components or filenames, right?

The directory "tree" from the "sm" dir is as follows at this point:
sm:
	cache:
		packages:
			941c0108-4039-...3-a8d7d2b3d4a3:
	map.1.sgz
	map.49.sgz
	squeakmap.1.log

Note that there is nothing in the "941c0108-4039-...3-a8d7d2b3d4a3" directory.

Anyway, 
"http://modules.squeakfoundation.org/People/gk/SMLoader-gk.7.mcz" is 
what was trying
to be downloaded, so I grab that by other means...
(Note that I never ended up using that for anything, because of 
lingering doubts about primitiveCreateDirectory, which I only saw in 
"cryptic" forms by Googling long into the night)

I did try opening a Transcript before reiterating the "failure dance" 
and here is what was displayed, starting with the virgin 
"...open->Package Loader":

======
Transcript:
Fetch: 885 ms
Size: 36 bytes
Decompress time: 119 ms
  (csBlock is Undeclared)  (csBlock is Undeclared)  (installed is 
Undeclared)  (csBlock is Undeclared)  (MCMczReader is Undeclared) 
(MczInstaller is Undeclared)  (map is Undeclared)  (installed is 
Undeclared)  (map is Undeclared)  (installed is Undeclared)  (map is 
Undeclared)  (map is Undeclared)  (map is Undeclared)  (map is 
Undeclared)  (map is Undeclared)  (map is Undeclared)  (map is 
Undeclared)  (map is Undeclared)
File VersionNumber1 successfully filed in to change set VersionNumber1
File MCInstaller1 successfully filed in to change set MCInstaller1 
(password is Undeclared)  (newPassword is Undeclared) 
(SMPackageRelease is Undeclared)  (account is Undeclared) 
(SMInstaller is Undeclared)  (SMInstaller is Undeclared)  (categories 
is Undeclared)  (registrator is Undeclared)  (password is Undeclared) 
(categories is Undeclared)  (categories is Undeclared)  (registrator 
is Undeclared)  (categories is Undeclared)  (categories is 
Undeclared)  (categories is Undeclared)  (categories is Undeclared) 
(categories is Undeclared)  (categories is Undeclared)  (categories 
is Undeclared)  (registrator is Undeclared)  (registrator is 
Undeclared)  (registrator is Undeclared)  (password is Undeclared) 
(password is Undeclared)  (newPassword is Undeclared)  (categories is 
Undeclared)  (categories is Undeclared)  (categories is Undeclared) 
(categories is Undeclared)  (categories is Undeclared)  (categories 
is Undeclared)  (newPassword is Undeclared)  (Language is Undeclared) 
(repositories is Undeclared)  (cards is Undeclared)  (repositories is 
Undeclared) Fetch: 50077 ms
Size: 219597 bytes
Save checkpoint to disk: 187 ms
Full reload from checkpoint: 15843 ms

Now at ths point, the popup displays, showing:

    ++ Installation of package release  failed, message follows: ++
    ++                   a primitive has failed                  ++
    ++==OK=======================================================++

Note that no debug log exists at this point.
A user interrupt (cmd-period in this case) does not generate a debug log.
In fact, with my limited experience, I have found no way to gracefully
create such a log (though I will keep trying).

</ramble>

Sure, I keep fixating on the debug log thing. Shame on me.

Thank you so very much for your hard work, Göran. Really.
You've done so much for so long for the Squeak community, and deserve 
praise and respect for all your contributions.

Please accept my heartfelt thanks, and my confidence that I will one 
day be able to again enjoy your "bit of magic" called SqueakMap.

Jazzmynn



More information about the Squeak-dev mailing list