On 14.12.2010 20:55, Tony Fleig wrote:
> Problem solved. (Well, sort of.)
>
> I tracked it down to the JPEG VM plug-in. If instead the Smalltalk
> JPEGReadWriter is used, the problem does not occur. I'm not sure why
> it only occurs when a Delay is used though.
>
> Then I discovered that it does not occur in Pharo 1.1.1 either (I was
> using Pharo 1.1.) So something must have changed for the better
> between the versions.
>
> So my problem is solved and I have another reason to always use the
> latest Pharo version ;)
>
> Thanks for your time.
>
> TF
I think you are correct it's a problem with the plugin code being run
from multiple threads.
I've been able to reproduce a crash on Windows in 1.0, 1.1, 1.2 beta and
Squeak 4.1 images (release and trunk) using the Squeak 4.1.1 VM.
My provocative test was (seemed to happen less often with large (>3MB)
images):
FileStream oldFileNamed: 'trouble.jpg' do: [:img | imageStream :=
RWBinaryOrTextStream with: img binary contents].
50 timesRepeat: [[
ImageReadWriter formFromStream: imageStream] forkAt:
Processor userBackgroundPriority ].
Just executing the code in the forked block works just fine.
Cheers,
Henry