[Pharo-project] We have a HorribleErrorBlockingEverything

Sean P. DeNigris sean at clipperadams.com
Sun Jul 15 22:28:46 EDT 2012


Marcus Denker-4 wrote
> 
> Issue 6376:	[Jenkis] test runs fails due to error loading CISupport
> 	http://code.google.com/p/pharo/issues/detail?id=6376
> 
> As we can't run tests, nothing will be integrated other than fixes that
> fix this.
> 

Found it!

Issue 6376:	New ProcessSpecificVariables & Running Processes
http://code.google.com/p/pharo/issues/detail?id=6376

It seems that Zinc has exposed a lurking bug with ProcessSpecificVariables.
>From issue 6376...
If a process is already using a ProcessSpecificVariable, and another is
added to the system, this new PSV is not added to the env instVar of those
processes. When access to the new PSV is attempted, a subscript error is
thrown.

To reproduce, evaluate:
    ZnClient new 
        signalProgress: true; 
        url: 'http://zn.stfx.eu/zn/small.html';
        downloadTo: FileSystem workingDirectory fullPath

Process class>>allocatePSKey: adds the psv ZnSignalProgress to PSKeys.
Later, when Process>psValueAt:put: is called, env is initialized if nil, but
it's not nil (maybe because ZnConnectionTimeout has been used previously?).
This is probably the first time we encountered two PSVs in the image at the
same time, which flushed out the bug. In this case, env is not updated, and
access is attempted to index 2, which doesn't exist.

This attached fileout resizes already-initialized envs if they need to be
updated due to more PSVs having been added. It's ugly, but I want Igor to
take a look before I clean it up to make sure we're on the right track.

--
View this message in context: http://forum.world.st/We-have-a-HorribleErrorBlockingEverything-tp4640055p4640113.html
Sent from the Pharo Smalltalk mailing list archive at Nabble.com.




More information about the Pharo-dev mailing list