On Wed, Feb 12, 2014 at 02:49:16PM +0100, Sven Van Caekenberghe wrote: Hi,
> Sorry, but the details matter a lot: > > Which image version, vm version, os ? > > You can use the System Reporter tool for this. Image ----- /home/ich/Downloads/ss7-tests.image Pharo2.0 Latest update: #20615 Virtual Machine --------------- /home/ich/source/smalltalk/pharo/blessed/results/pharo NBCoInterpreter NativeBoost-CogPlugin-GuillermoPolito.19 uuid: acc98e51-2fba-4841-a965-2975997bba66 Jan 14 2014 NBCogit NativeBoost-CogPlugin-GuillermoPolito.19 uuid: acc98e51-2fba-4841-a965-2975997bba66 Jan 14 2014 git://gitorious.org/cogvm/blessed.git Commit: a94316242b01bb112550c3ea20a85ae0ae3e3678 Date: 2013-11-21 15:50:24 +0100 By: Holger Hans Peter Freyther <hol...@moiji-mobile.com> Unix built on Jan 14 2014 12:35:18 Compiler: 4.8.2 VMMaker versionString git://gitorious.org/cogvm/blessed.git Commit: a94316242b01bb112550c3ea20a85ae0ae3e3678 Date: 2013-11-21 15:50:24 +0100 By: Holger Hans Peter Freyther <hol...@moiji-mobile.com> NBCoInterpreter NativeBoost-CogPlugin-GuillermoPolito.19 uuid: acc98e51-2fba-4841-a965-2975997bba66 Jan 14 2014 NBCogit NativeBoost-CogPlugin-GuillermoPolito.19 uuid: acc98e51-2fba-4841-a965-2975997bba66 Jan 14 2014 The VM has my SCTP support added to it and the last upstream commit was: 3d9341c3ef68118f438ff649b343d2fe77952477. The issue happens with the pharo VM binary I downloaded as well. $ ./pharo -version 3.9-7 #1 Wed Mar 13 18:22:44 CET 2013 gcc 4.4.3 NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 git://gitorious.org/cogvm/blessed.git Commit: 412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100 By: Esteban Lorenzano <esteba...@gmail.com> Jenkins build #14535 Linux linux-ubuntu-10 2.6.32-38-server #83-Ubuntu SMP Wed Jan 4 11:26:59 UTC 2012 x86_64 GNU/Linux plugin path: /home/ich/source/smalltalk/pharo/Pharo-2.0/ [default: /home/ich/source/smalltalk/pharo/Pharo-2.0/] > Does this happen with a virgin image ? Probably not, what code did you load ? I don't know. There is my code in the backtrace and it is available in the OsmoCore/OsmoLogging package. The code is doing: runTimers [quit] whileFalse: [| now | "Remember the last delay so we can interrupt it on image resume." lastDelay := Delay forSeconds: 1. lastDelay wait. lastDelay := nil. now := DateAndTime now. OsmoDispatcher dispatchBlock: [self fireTimers: now]] fireTimers: now "Now execute the timers. One way or another this is crazy. If we have a long blocking application or a deadlock the timer queue will get stuck. But if we run this in a new process a later process might be run before this process, changing the order of the timers." "Only this process will remove items, this is why we can check isEmpty without having the lock" self halt. [queue isEmpty or: [queue first timeout > now]] whileFalse: [| each | each := sem critical: [queue removeFirst]. each isCanceled ifFalse: [[each fire] on: Error do: [:e | e logException: 'Execution of timer failed: ' , e messageText area: #timer]]] The entire process list is below. My assumption is that the >>fireTimers: method is actually being executed. The best thing I found was to use SIGUSR1 to sample which processes run. My assumption is that this process runs before DateAndTime has been re-initialized by the SmalltalkImage. All Smalltalk process stacks (active first): Process 0x7890adb8 priority 70 0xbf9a2d78 M Fraction>reduced 0x7ac6cb4c: a(n) Fraction 0xbf9a2d90 M SmallInteger>/ 0x1903d=51230 0xbf9a2dac M DateAndTime>julianDayOffset 0x7ac6ca1c: a(n) DateAndTime 0xbf9a2dc8 M DateAndTime>julianDayNumber 0x7ac6ca1c: a(n) DateAndTime 0xbf9a2df0 M DateAndTime>< 0x7890ac98: a(n) DateAndTime 0xbf9a2e0c M DateAndTime(Magnitude)>> 0x7ac6ca1c: a(n) DateAndTime 0xbf9a2e2c M TimerScheduler>fireTimers: 0x77fdb260: a(n) TimerScheduler 0xbf9a2e54 I [] in TimerScheduler>runTimers 0x77fdb260: a(n) TimerScheduler 0xbf9a2e70 M BlockClosure>on:do: 0x7890acac: a(n) BlockClosure 0xbf9a2e94 M [] in Dispatcher>dispatch 0x77fdb018: a(n) Dispatcher 0xbf9a2eb4 M BlockClosure>ensure: 0x7890ae38: a(n) BlockClosure 0xbf9a2ee0 I [] in Dispatcher>dispatch 0x77fdb018: a(n) Dispatcher 0xbf9a2f00 I [] in BlockClosure>newProcess 0x7890acd4: a(n) BlockClosure Process 0x7890ac70 priority 80 0xbf9a0ea8 M Delay class>handleTimerEvent 0x772edfd8: a(n) Delay class 0xbf9a0ec0 M Delay class>runTimerEventLoop 0x772edfd8: a(n) Delay class 0xbf9a0ee0 I [] in Delay class>startTimerEventLoop 0x772edfd8: a(n) Delay class 0xbf9a0f00 I [] in BlockClosure>newProcess 0x7890ab94: a(n) BlockClosure Process 0x77fdb1f8 priority 70 0xbf9a3f00 I Dispatcher>dispatch 0x77fdb018: a(n) Dispatcher 0x77fe04a8 s [] in Dispatcher>initialize 0x77fdb198 s [] in BlockClosure>newProcess Process 0x78b8242c priority 60 0xbf9a7ec0 I SmalltalkImage>lowSpaceWatcher 0x775fe6e4: a(n) SmalltalkImage 0xbf9a7ee0 I [] in SmalltalkImage>installLowSpaceWatcher 0x775fe6e4: a(n) SmalltalkImage 0xbf9a7f00 I [] in BlockClosure>newProcess 0x78b82350: a(n) BlockClosure processes at priority 60 Process 0x78b82180 priority 60 0xbf9a6e94 M InputEventFetcher>waitForInput 0x772cb574: a(n) InputEventFetcher 0xbf9a6ec0 I InputEventFetcher>eventLoop 0x772cb574: a(n) InputEventFetcher 0xbf9a6ee0 I [] in InputEventFetcher>installEventLoop 0x772cb574: a(n) InputEventFetcher 0xbf9a6f00 I [] in BlockClosure>newProcess 0x78b820a4: a(n) BlockClosure processes at priority 50 Process 0x78b83a54 priority 50 0xbf9a8ec0 I WeakArray class>finalizationProcess 0x772eb9ec: a(n) WeakArray class 0xbf9a8ee0 I [] in WeakArray class>restartFinalizationProcess 0x772eb9ec: a(n) WeakArray class 0xbf9a8f00 I [] in BlockClosure>newProcess 0x78b83978: a(n) BlockClosure processes at priority 40 Process 0x78508aa4 priority 40 0xbf99ce4c M [] in Delay>wait 0x78c395c8: a(n) Delay 0xbf99ce6c M BlockClosure>ifCurtailed: 0x78c3964c: a(n) BlockClosure 0xbf99ce88 M Delay>wait 0x78c395c8: a(n) Delay 0xbf99cea8 M WorldState>interCyclePause: 0x77127638: a(n) WorldState 0xbf99cec4 M WorldState>doOneCycleFor: 0x77127638: a(n) WorldState 0xbf99cee0 M PasteUpMorph>doOneCycle 0x77118168: a(n) PasteUpMorph 0xbf99cf00 I [] in MorphicUIManager>spawnNewProcess 0x7712ba74: a(n) MorphicUIManager 0x78508a44 s [] in BlockClosure>newProcess Process 0x7850a38c priority 40 0xbf9a1ea0 M [] in Delay>wait 0x78c32294: a(n) Delay 0xbf9a1ec0 M BlockClosure>ifCurtailed: 0x78c32318: a(n) BlockClosure 0xbf9a1edc M Delay>wait 0x78c32294: a(n) Delay 0xbf9a1f00 I TimerScheduler>runTimers 0x77fdb260: a(n) TimerScheduler 0x7857b890 s [] in TimerScheduler>startLoop 0x7850a32c s [] in BlockClosure>newProcess Process 0x784e0010 priority 40 0xbf9a4e98 M [] in Delay>wait 0x784dfeac: a(n) Delay 0xbf9a4eb8 M BlockClosure>ifCurtailed: 0x7890afd8: a(n) BlockClosure 0xbf9a4edc I Delay>wait 0x784dfeac: a(n) Delay 0xbf9a4f00 I [] in ProcessBrowser>startAutoUpdate 0x784bf424: a(n) ProcessBrowser 0x784dffb0 s [] in BlockClosure>newProcess processes at priority 10 Process 0x78b825f8 priority 10 0xbf99dec0 M ProcessorScheduler class>idleProcess 0x772eb7dc: a(n) ProcessorScheduler class 0xbf99dee0 I [] in ProcessorScheduler class>startUp 0x772eb7dc: a(n) ProcessorScheduler class 0xbf99df00 I [] in BlockClosure>newProcess 0x78b8251c: a(n) BlockClosure