[ENH][GOODIE] OSProcess V3.0 (OSProcess for Windows)

PhiHo Hoang phiho.hoang at rogers.com
Fri Mar 15 08:51:43 UTC 2002


David,

	You may want to look into 'primitiveGetEnvironmentStrings' which
calls 'stringFromCString(p)' and crashed the GC system. 

	The call stack shows 'stringFromCString',
'instantiateClassindexableSize', 'sufficientSpaceAfterGC',
'incrementalGC', 'fullGC'. The problem is in this loop:


	/* begin clearRootsTable */
	for (i = 1; i <= rootTableCount; i += 1) {
		oop = rootTable[i];
		longAtput(oop, (longAt(oop)) & 3221225471U);
		rootTable[i] = 0;
	}

at:

	longAtput(oop, (longAt(oop)) & 3221225471U);

On my system it is when i = 283, oop = 0 (rootTableCount is 281691816).

	When working with gcc, I found that 

	VOID OutputDebugString(LPCTSTR lpOutputString   /* string to be
displayed */);

together with 'Dbgview.exe' from  www.sysinternals.com is quite helpful
(nothing beats printf when it comes to debugging ;-)

	You might have triggered a bug in the GC system ;-)

	Hope this helps.

	PhiHo.



-----Original Message-----
From: squeak-dev-admin at lists.squeakfoundation.org
[mailto:squeak-dev-admin at lists.squeakfoundation.org] On Behalf Of David
T. Lewis
Sent: Wednesday, March 13, 2002 6:00 AM
To: squeak-dev at lists.squeakfoundation.org
Subject: Re: [ENH][GOODIE] OSProcess V3.0 (OSProcess for Windows)


On Wed, Mar 13, 2002 at 02:07:43AM -0500, PhiHo Hoang wrote:
> Hi David,
> 
> 	I could file in all the change sets and tried out the 'sqsh'
builtin 
> commands.
> 
> 	I could even do a '3 + 4' ;-) but 'sqsh' couldn't start 
> 'notepad.exe'.
> 
> 	But if I save the image and restart it (with dll in the path
now), 
> Squeak seems to hang
> 	(but you can still access the menu to show version...)

It looks like the precompiled DLL which I sent to the list is no good,
at least for Win2K and WinXP. I guess for now folks will need to compile
their own Win32OSProcessPlugin.dll.

If anyone has the plugin working on Win2K, please speak up. I don't have
a Win2K system, so I don't know if the problem is in the plugin itself,
or just something about the way I compiled it on my older Win98 system.

Dave
 




More information about the Squeak-dev mailing list