Dne 21. 04. 2012 19:10, piše Stéphane Ducasse: > janko open an issue with such cases so that we do not forget it.
Done: http://code.google.com/p/pharo/issues/detail?id=5663 > > Stef > > On Apr 21, 2012, at 2:54 PM, Janko Mivšek wrote: > >> Hi guys, >> >> This code reproduces the blockade in fresh 1.4 OneClick (with or without >> Transcript window open): >> >> [ >> (Delay forSeconds: 5) wait. >> SmalltalkImage current saveSession. >> ] forkAt: Processor userBackgroundPriority >> >> Note that fork on default priority does not block while on user >> background priority it blocks. It does not always block immediately >> (sometimes yes sometimes not) but it after image restart it is always >> blocked. >> >> But if you periodically write to Transcript from process on user >> background priority, it does not block, even if you heavily browse >> around, write to transcript, do manual snapshot: >> >> [ [true] whileTrue: >> [(Delay forMilliseconds: 500) wait. >> Transcript show: '.tst.'] >> ] forkAt: Processor userBackgroundPriority >> >> So, it seems not only thread-safe Transcript but something with snapshot >> (from a background priority, why?) is in play here. >> >> SmalltalkImage>>snapshot:andQuit: , shouldn’t run it on highest priority >> to block all other processes during the preparation for snapshot? >> >> Hope this helps a bit more >> Janko >> >> >> >> Dne 21. 04. 2012 11:48, piše Igor Stasenko: >>> So, this is related to thread-safe transcript code.. >>> which using semaphore to synchronize access to transcript stream. >>> I guess what happens is that a semaphore is blocked in another >>> process, but for some strange reason never released. This leads to >>> situation, that any other process which will attempt to write to >>> transcript will be blocked as well.. forever. >> >> Why is input not blocked immediately but after image restart? >> >> >> More investigation: >> >> >> 1. correction: image blocks in any case after restart, regardless if >> there is additional writing to Transcript or not. Snapshot namely writes >> to Transcript by itself and this is enough to block. >> >> 1. even if Transcript is closed the image blocks after restart >> >> This simulated snapshot from the background does NOT block after restart: >> >> [ >> (Delay forSeconds: 5) wait. >> SmalltalkImage current saveSession. >> ] fork >> >> This one also not: >> >> [ | elapsed | >> (Delay forSeconds: 5) wait. >> elapsed := Time millisecondsToRun: >> [SmalltalkImage current saveSession]. >> Transcript show: ' in ', (elapsed // 1000) printString, 's '. >> ] forkAt: Processor userBackgroundPriority >> >> >> >> >> >> >>> >>> 2012/4/21 Janko Mivšek <[email protected]>: >>>> Hi guys, >>>> >>>> It seems that writing to Transcript from background process causes my >>>> freeze after restart. And yes, I have Transcript window open. >>>> >>>> This is a code snippet in question: >>>> >>>> AIDASite class>>imageSnapshot >>>> ... >>>> elapsed := Time millisecondsToRun: >>>> [SmalltalkImage current saveSession]. >>>> Transcript show: ' in ', (elapsed // 1000) printString, 's '. >>>> >>>> >>>> If I comment out the last line, snapshot doesn't block the image after >>>> restart. >>>> >>>> This is not necessary 1.4 specific problem, because I noticed similar >>>> problem in 1.3 also. Just that on 1.3 input freezes immediately while on >>>> 1.4 it freezes after restart. >>>> >>>> Let me investigate a bit further, what if Transcript window is not open? >>>> >>>> Best regards >>>> Janko >>>> >>>> >>>> >>>> Dne 20. 04. 2012 21:42, piše Stéphane Ducasse: >>>>> Ok may be nautilus bug. It should be different than janko problem. >>>>> >>>>> Stef >>>>> >>>>> On Apr 20, 2012, at 9:39 PM, Sean P. DeNigris wrote: >>>>> >>>>>> >>>>>> Stéphane Ducasse wrote >>>>>>> >>>>>>> on which os? >>>>>>> >>>>>> >>>>>> Mac Lion 10.7.3 >>>>>> >>>>>> -- >>>>>> View this message in context: >>>>>> http://forum.world.st/Unresponsive-1-4-image-tp4574693p4575049.html >>>>>> Sent from the Pharo Smalltalk mailing list archive at Nabble.com. >>>>>> >>>>> >>>>> >>>>> >>>> >>>> -- >>>> Janko Mivšek >>>> Aida/Web >>>> Smalltalk Web Application Server >>>> http://www.aidaweb.si >>>> >>> >>> >>> >> >> -- >> Janko Mivšek >> Aida/Web >> Smalltalk Web Application Server >> http://www.aidaweb.si >> > > > -- Janko Mivšek Aida/Web Smalltalk Web Application Server http://www.aidaweb.si
