Thank you for the follow up on this. This kind of problem can be very difficult to find and debug!
Dave On Wed, Mar 07, 2018 at 04:30:33PM +0100, Sabine Manaa wrote: > Now I know the reason for the crashes. I did a lot of log writing when > creating my reports (they use OSSubprocess). > This was only for debugging. Removing them removed the problem. OSProcess > and OSSubprocess are not guilty :-) > > I can crash the image with this (try several times) > (in /opt/local/bin/convert there is imagemagick): > > > 1000 timesRepeat: [ > | theFileName theStream thePath theFullPathAndFilename isFileNew | > OSSUnixSubprocess new > shellCommand: '/opt/local/bin/convert -background white -alpha remove > -density 200 > /Library/WebServer/Documents/reports/201801231322-419088218-250457/20170227_19_messdefuerhunde_Fahrten.pdf > /Library/WebServer/Documents/reports/201801231322-419088218-250457/20170227_19_messdefuerhunde_Fahrten_%02d.png'; > redirectStdout; > run. > thePath := '/data/db/' asFileReference. > thePath exists > ifFalse: [ thePath createDirectory ]. > theFileName := 'HALLO_' , Date today yyyymmdd , '.txt'. > theFullPathAndFilename := ('/data/db/' , theFileName) asFileReference . > theFullPathAndFilename asFileReference exists > ifTrue: [ isFileNew := false. > theStream := MultiByteFileStream oldFileNamed: theFullPathAndFilename. > theStream position: theStream size. > theStream crlf ] > ifFalse: [ isFileNew := true. > theStream := MultiByteFileStream newFileNamed: theFullPathAndFilename ]. > [ isFileNew > ifTrue: [ theStream > nextPutAll: Time now printString; > nextPutAll: Time now printString; > nextPutAll: Time now printString; > nextPutAll: Time now printString; > nextPutAll: Time now printString; > nextPutAll: Time now printString; > nextPutAll: Time now printString; > crlf ]. > theStream nextPutAll:'' ] > ensure: [ theStream close ]. > ]. > > > 2018-03-07 2:16 GMT+01:00 David T. Lewis <le...@mail.msen.com>: > > > On Tue, Mar 06, 2018 at 11:49:14AM +0100, Sabine Manaa wrote: > > > Hi, > > > > > > I can report the following: > > > > > > The problem with the Buffer overflow remains also with OSProcess. > > > Also with the normal vm (https://get.pharo.org ). > > > > > > Summary: I have buffer overflow crashes with my application on Linux. > > > The same code runs without problems on MacOS and on Windows. > > > I have the same test data/database and do exactly the same. > > > > > > The problem occurs only after calling several times > > OSProcess/OSSubprocess. > > > This is the reason why I first had a suspicion that OSSubprocess is > > > responsible for the crashes. > > > > > > Can anyone tell me how to proceed to find the reason for the buffer > > > overflow? > > > There is no PharoDebug.log > > > > > > Help is very appreciated! > > > > > > This is the message when terminating: > > > > > > root@Pharo_ubuntu_16:/spf/build# ./pharo Pharo-Productive-SPF.image > > > --no-quit > > > > > > SmalltalkImageInstanceID class>>startUp*** buffer overflow detected ***: > > > /spf/build/pharo-vm/lib/pharo/5.0-201707201942/pharo terminated > > > > > > > What is class SmalltalkImageInstanceID? I have a Pharo 6.1 image, and I > > am running on Ubuntu. I loaded OSProcess to check this out, but I am not > > sure what that #startUp message is doing. > > > > Thanks, > > Dave > > > > > >