[squeak-dev] new intercycle pause

Chris Muller asqueaker at gmail.com
Fri Mar 13 20:22:50 UTC 2015


It just happened again, here's the stacks from kill -USR1:

SIGUSR1 Fri Mar 13 15:19:17 2015


/usr/local/lib/squeak/5.0-3264/squeak
Squeak VM version: 5.0-3264 #2 Wed Mar  4 10:06:52 PST 2015 gcc 4.4.7
[Production Spur VM]
Built from: CoInterpreter VMMaker.oscog-eem.1083 uuid:
4d0a08c2-6218-4726-816c-1d6e3ae601d8 Mar  3 2015
With: StackToRegisterMappingCogit VMMaker.oscog-eem.1083 uuid:
4d0a08c2-6218-4726-816c-1d6e3ae601d8 Mar  3 2015
Revision: VM: r3264 http://www.squeakvm.org/svn/squeak/branches/Cog
Date: 2015-03-03 13:29:31 -0800
Plugins: r3243 http://squeakvm.org/svn/squeak/trunk/platforms/Cross/plugins
Build host: Linux mclinux32 2.6.32-431.el6.i686 #1 SMP Fri Nov 22
00:26:36 UTC 2013 i686 i686 i386 GNU/Linux
plugin path: /usr/local/bin/../lib/squeak/5.0-3264 [default:
/usr/local/lib/squeak/5.0-3264/]


C stack backtrace & registers:
eax 0xff7c8754 ebx 0xff7c8670 ecx 0xff7c8708 edx 0xff7c86bc
edi 0xff7c8540 esi 0xff7c8540 ebp 0xff7c85d8 esp 0xff7c8624
eip 0xff7c8838
*[0xff7c8838]
/usr/local/bin/../lib/squeak/5.0-3264/squeak[0x805ef00]
/usr/local/bin/../lib/squeak/5.0-3264/squeak[0x805f14e]
[0xf77dc410]
/usr/local/bin/../lib/squeak/5.0-3264/squeak[0x80d8f6a]
[0x8b00c28]
/usr/local/bin/../lib/squeak/5.0-3264/squeak(interpret+0x86e)[0x809c2ce]
/usr/local/bin/../lib/squeak/5.0-3264/squeak(main+0x2ae)[0x805f97e]
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0xf75d74d3]
[0x2d]


All Smalltalk process stacks (active first):
Process  0xd5fc480 priority 60
0xff7d6868 M GrafPort(BitBlt)>basicDisplayString:from:to:at:strikeFont:kern:
0x8f3dfa0: a(n) GrafPort
0xff7d68a4 M GrafPort(BitBlt)>displayString:from:to:at:strikeFont:kern:
0x8f3dfa0: a(n) GrafPort
0xff7d68d8 M StrikeFont>displayString:on:from:to:at:kern: 0x9609078:
a(n) StrikeFont
0xff7d6910 M FormCanvas>drawString:from:to:in:font:color: 0x8f3deb8:
a(n) FormCanvas
0xff7d6940 M FormCanvas(Canvas)>drawString:in:font:color: 0x8f3deb8:
a(n) FormCanvas
0xff7d6980 M LazyListMorph>display:atRow:on: 0xe96fb18: a(n) LazyListMorph
0xff7d69ac M LazyListMorph>drawOn: 0xe96fb18: a(n) LazyListMorph
0xff7d589c M FormCanvas(Canvas)>draw: 0x8f3deb8: a(n) FormCanvas
0xff7d58b8 M FormCanvas(Canvas)>drawMorph: 0x8f3deb8: a(n) FormCanvas
0xff7d58d4 M LazyListMorph(Morph)>fullDrawOn: 0xe96fb18: a(n) LazyListMorph
0xff7d58f0 M FormCanvas(Canvas)>fullDraw: 0x8f3deb8: a(n) FormCanvas
0xff7d590c M FormCanvas(Canvas)>fullDrawMorph: 0x8f3deb8: a(n) FormCanvas
0xff7d592c M [] in TransformMorph>drawSubmorphsOn: 0xe96fa68: a(n)
TransformMorph
0xff7d594c M Array(SequenceableCollection)>reverseDo: 0xe99b1d8: a(n) Array
0xff7d5968 M [] in TransformMorph>drawSubmorphsOn: 0xe96fa68: a(n)
TransformMorph
0xff7d59a0 M FormCanvas>transformBy:clippingTo:during:smoothing:
0x8c03748: a(n) FormCanvas
0xff7d9888 M TransformMorph>drawSubmorphsOn: 0xe96fa68: a(n) TransformMorph
0xff7d98a4 M TransformMorph(Morph)>fullDrawOn: 0xe96fa68: a(n) TransformMorph
0xff7d98c0 M FormCanvas(Canvas)>fullDraw: 0x8c03748: a(n) FormCanvas
0xff7d98dc M FormCanvas(Canvas)>fullDrawMorph: 0x8c03748: a(n) FormCanvas
0xff7d98fc M [] in PluggableListMorphPlus(Morph)>drawSubmorphsOn:
0xe961850: a(n) PluggableListMorphPlus
0xff7d991c M Array(SequenceableCollection)>reverseDo: 0xe96f990: a(n) Array
0xff7d9938 M [] in PluggableListMorphPlus(Morph)>drawSubmorphsOn:
0xe961850: a(n) PluggableListMorphPlus
0xff7d9958 M PluggableListMorphPlus(Morph)>drawSubmorphsOn: 0xe961850:
a(n) PluggableListMorphPlus
0xff7d9974 M PluggableListMorphPlus(Morph)>fullDrawOn: 0xe961850: a(n)
PluggableListMorphPlus
0xff7d9990 M FormCanvas(Canvas)>fullDraw: 0x8c03748: a(n) FormCanvas
0xff7d99ac M FormCanvas(Canvas)>fullDrawMorph: 0x8c03748: a(n) FormCanvas
0xff7ca8ac M [] in PluggableSystemWindow(Morph)>drawSubmorphsOn:
0xe950338: a(n) PluggableSystemWindow
0xff7ca8cc M Array(SequenceableCollection)>reverseDo: 0xe95d1f0: a(n) Array
0xff7ca8e8 M [] in PluggableSystemWindow(Morph)>drawSubmorphsOn:
0xe950338: a(n) PluggableSystemWindow
0xff7ca908 M PluggableSystemWindow(Morph)>drawSubmorphsOn: 0xe950338:
a(n) PluggableSystemWindow
0xff7ca924 M PluggableSystemWindow(Morph)>fullDrawOn: 0xe950338: a(n)
PluggableSystemWindow
0xff7ca940 M FormCanvas(Canvas)>fullDraw: 0x8c03748: a(n) FormCanvas
0xff7ca95c M FormCanvas(Canvas)>fullDrawMorph: 0x8c03748: a(n) FormCanvas
0xff7ca9ac M [] in WorldState>drawWorld:submorphs:invalidAreasOn:
0xa908d88: a(n) WorldState
0xff7d48a4 M Rectangle>allAreasOutsideList:startingAt:do: 0x8c038c0:
a(n) Rectangle
0xff7d48c8 M Rectangle>allAreasOutsideList:do: 0x8c038c0: a(n) Rectangle
0xff7d4904 M [] in WorldState>drawWorld:submorphs:invalidAreasOn:
0xa908d88: a(n) WorldState
0xff7d4928 M Array(SequenceableCollection)>do: 0x8c03dc0: a(n) Array
0xff7d4958 M WorldState>drawWorld:submorphs:invalidAreasOn: 0xa908d88:
a(n) WorldState
0xff7d4990 M WorldState>displayWorld:submorphs: 0xa908d88: a(n) WorldState
0xff7d49b0 M PasteUpMorph>privateOuterDisplayWorld 0x95fc980: a(n) PasteUpMorph
0xff7d2890 M PasteUpMorph>displayWorld 0x95fc980: a(n) PasteUpMorph
0xff7d28ac M [] in WorldState>displayWorldSafely: 0xa908d88: a(n) WorldState
0xff7d28c8 M BlockClosure>on:do: 0x8c03b18: a(n) BlockClosure
0xff7d28e8 M BlockClosure>ifError: 0x8c03b18: a(n) BlockClosure
0xff7d2904 M WorldState>displayWorldSafely: 0xa908d88: a(n) WorldState
0xff7d2924 M WorldState>doOneCycleNowFor: 0xa908d88: a(n) WorldState
0xff7d2940 M WorldState>doOneCycleFor: 0xa908d88: a(n) WorldState
0xff7d2960 M WorldState>doOneSubCycleFor: 0xa908d88: a(n) WorldState
0xff7d297c M PasteUpMorph>doOneSubCycle 0x95fc980: a(n) PasteUpMorph
0xff7d29a4 I MenuMorph>invokeAt:in:allowKeyboard: 0xd66b568: a(n) MenuMorph
 0xd6e93f8 s MenuMorph class>chooseFrom:values:lines:title:
 0xd6f2e18 s MorphicUIManager>chooseFrom:values:lines:title:
 0xd6fb8e0 s MorphicUIManager(UIManager)>chooseFrom:values:title:
 0xd745070 s SoundService class(AppRegistry class)>askForDefault
 0xd74c8f8 s SoundService class(AppRegistry class)>default
 0xd7535d8 s EventSensor(InputSensor)>userInterruptWatcher
 0xd75aa28 s [] in EventSensor(InputSensor)>installInterruptWatcher
 0xd760a90 s [] in BlockClosure>newProcess

processes at priority 60
Process  0xc137f68 priority 60
0xff7d78b8 M [] in Delay>schedule 0xd5f4f30: a(n) Delay
0xff7d78d8 M [] in Semaphore>critical: 0x956ece0: a(n) Semaphore
0xff7d78f8 M BlockClosure>ensure: 0x8c03fd8: a(n) BlockClosure
0xff7d7918 M Semaphore>critical: 0x956ece0: a(n) Semaphore
0xff7d7934 M Delay>schedule 0xd5f4f30: a(n) Delay
0xff7d794c M Delay>wait 0xd5f4f30: a(n) Delay
0xff7d796c M [] in EventSensor>eventTickler 0x956ee90: a(n) EventSensor
0xff7d7988 M BlockClosure>on:do: 0x8c040e0: a(n) BlockClosure
0xff7d79b0 M EventSensor>eventTickler 0x956ee90: a(n) EventSensor
 0xd6fb420 s [] in EventSensor>installEventTickler
 0xd744d38 s [] in BlockClosure>newProcess

processes at priority 50
Process  0xab54e40 priority 50
 0xd6672a0 s WeakArray class>finalizationProcess
 0xd66b1a8 s [] in WeakArray class>restartFinalizationProcess
 0xd6d2168 s [] in BlockClosure>newProcess

processes at priority 40
Process 0x11f08340 priority 40
0xff7c98b4 M UndefinedObject>handleSignal: 0x9179d00: a(n) UndefinedObject
0xff7c98d0 M Error(Exception)>signal 0x11f5c478: a(n) Error
0xff7c98e8 M Error(Exception)>signal: 0x11f5c478: a(n) Error
0xff7c9904 M Delay(Object)>error: 0xa7b2f48: a(n) Delay
0xff7c9920 M Delay>delayDuration: 0xa7b2f48: a(n) Delay
0xff7c9940 M WorldState>interCyclePause: 0xa908d88: a(n) WorldState
0xff7c995c M WorldState>doOneCycleFor: 0xa908d88: a(n) WorldState
0xff7c9978 M PasteUpMorph>doOneCycle 0x95fc980: a(n) PasteUpMorph
0xff7c9990 M [] in MorphicProject>spawnNewProcess 0x96e8c30: a(n) MorphicProject
0xff7c99b0 I [] in BlockClosure>newProcess 0x11faf7c0: a(n) BlockClosure

processes at priority 10
Process  0xab55008 priority 10
 0xd666e90 s ProcessorScheduler class>idleProcess
 0xd66afb8 s [] in ProcessorScheduler class>startUp
 0xd6d0ed0 s [] in BlockClosure>newProcess

suspended processes
Process  0x9f3b598 priority 80
0xff7cb998 M Delay class>handleTimerEvent 0x94c9008: a(n) Delay class
0xff7cb9b0 M Delay class>(nil) 0x94c9008: a(n) Delay class
 0x956ecf8 s [] in Delay class>(nil)
 0x956ee30 s [] in BlockClosure>(nil)

Process  0x96d8df0 priority 49
 0x9f651a8 s [] in Delay>wait
 0xb064a78 s BlockClosure>ifCurtailed:
 0xa929500 s Delay>wait
 0x96d9838 s [] in MaTimer>in:do:
 0xa5e4220 s [] in BlockClosure>newProcess

Process  0x9f4d3c0 priority 49
 0x9f4d798 s [] in Delay>wait
 0xb057ad0 s BlockClosure>ifCurtailed:
 0x9f65208 s Delay>wait
 0x96a1ff8 s [] in MaTimer>in:do:
 0x9539758 s [] in BlockClosure>newProcess

Process  0xb05cb80 priority 49
 0xab55590 s [] in Delay>wait
 0xd277a30 s BlockClosure>ifCurtailed:
 0x9d8ac98 s Delay>wait
 0x96dc080 s [] in MaTimer>in:do:
 0xa5e4400 s [] in BlockClosure>newProcess

Process  0x96d9788 priority 49
 0x9f63ae0 s [] in Delay>wait
 0xb05cb08 s BlockClosure>ifCurtailed:
 0xa9278b8 s Delay>wait
 0x96d8e80 s [] in MaTimer>in:do:
 0xa344b40 s [] in BlockClosure>newProcess

Process  0x96d8dc0 priority 49
 0x9f65148 s [] in Delay>wait
 0xb064a18 s BlockClosure>ifCurtailed:
 0xa9291c0 s Delay>wait
 0x96d9688 s [] in MaTimer>in:do:
 0xa5e41c0 s [] in BlockClosure>newProcess

Process  0x9f49a50 priority 49
 0x9f4dc30 s [] in Delay>wait
 0xb0595b8 s BlockClosure>ifCurtailed:
 0xa839c58 s Delay>wait
 0x96d5500 s [] in MaTimer>in:do:
 0x96a1888 s [] in BlockClosure>newProcess

Process  0xd5664e0 priority 49
 0xab3d430 s [] in Delay>wait
 0xb1fc978 s BlockClosure>ifCurtailed:
 0x9f4a020 s Delay>wait
 0x96d9d78 s [] in MaTimer>in:do:
 0xa5e4280 s [] in BlockClosure>newProcess

Process  0x9f49a80 priority 49
 0x9f4dc90 s [] in Delay>wait
 0xb0596c0 s BlockClosure>ifCurtailed:
 0xa8eef08 s Delay>wait
 0x96d6db0 s [] in MaTimer>in:do:
 0x9f4ae40 s [] in BlockClosure>newProcess

Process  0x9e62c20 priority 49
 0xab57288 s [] in Delay>wait
 0xd3cc7c0 s BlockClosure>ifCurtailed:
 0x9e983d8 s Delay>wait
 0x9894fd0 s [] in MaTimer>in:do:
 0xa5e4520 s [] in BlockClosure>newProcess

Process  0xd3cc030 priority 49
 0xab4d1f8 s [] in Delay>wait
 0xbf902c8 s BlockClosure>ifCurtailed:
 0x9f49f68 s Delay>wait
 0x96db380 s [] in MaTimer>in:do:
 0xa5e4340 s [] in BlockClosure>newProcess

Process  0xab2e720 priority 49
 0xab55630 s [] in Delay>wait
 0xd310a88 s BlockClosure>ifCurtailed:
 0x9d8b400 s Delay>wait
 0x96dcaf0 s [] in MaTimer>in:do:
 0xa5e4460 s [] in BlockClosure>newProcess

Process  0xba74ca8 priority 49
 0xab4e7b8 s [] in Delay>wait
 0xbfe65c0 s BlockClosure>ifCurtailed:
 0xa0854b0 s Delay>wait
 0x96db4b8 s [] in MaTimer>in:do:
 0xa5e43a0 s [] in BlockClosure>newProcess

Process  0xd562d38 priority 49
 0xab4c188 s [] in Delay>wait
 0xba74c48 s BlockClosure>ifCurtailed:
 0x9f499f0 s Delay>wait
 0x96da6c0 s [] in MaTimer>in:do:
 0xa5e42e0 s [] in BlockClosure>newProcess

Process  0x9e08360 priority 49
 0xab575d8 s [] in Delay>wait
 0xd3ef7f8 s BlockClosure>ifCurtailed:
 0x9f422d8 s Delay>wait
 0x9cdf1c8 s [] in MaTimer>in:do:
 0xa5e4580 s [] in BlockClosure>newProcess

Process  0xa5fcf20 priority 49
 0xab556e0 s [] in Delay>wait
 0xd3cbfd0 s BlockClosure>ifCurtailed:
 0x9e97d20 s Delay>wait
 0x9887af8 s [] in MaTimer>in:do:
 0xa5e44c0 s [] in BlockClosure>newProcess

Process  0x9e07de0 priority 49
 0xab579f8 s [] in Delay>wait
 0xd3f9820 s BlockClosure>ifCurtailed:
 0x9f495a0 s Delay>wait
 0x9d850b8 s [] in MaTimer>in:do:
 0xa5e45e0 s [] in BlockClosure>newProcess

Process  0x96d9758 priority 49
 0x9f4dcf0 s [] in Delay>wait
 0xb059720 s BlockClosure>ifCurtailed:
 0xa8f88a8 s Delay>wait
 0x96d6e10 s [] in MaTimer>in:do:
 0xa295720 s [] in BlockClosure>newProcess

Process  0x9e07d30 priority 49
 0xab5afa0 s [] in Delay>wait
 0xd560e08 s BlockClosure>ifCurtailed:
 0xa083c68 s Delay>wait
 0x9f4d720 s [] in MaTimer>in:do:
 0xa5e4640 s [] in BlockClosure>newProcess

Process  0xab4eb40 priority 40
 0xd667570 s [] in UnixOSProcessAccessor>grimReaperProcess
 0xd66b3c8 s [] in BlockClosure>newProcess

Process  0xaf2a100 priority 60
 0xd666e30 s SmalltalkImage>lowSpaceWatcher
 0xd66af58 s [] in SmalltalkImage>installLowSpaceWatcher
 0xd6d0e70 s [] in BlockClosure>newProcess

Most recent primitives
@
@
primDisplayString:from:to:map:xTable:kern:
@
primDisplayString:from:to:map:xTable:kern:
@
@
perform:with:
@
@
perform:with:
@
@
@
@
perform:with:
@
@
perform:with:
@
copyBits
@
@
@
copyBits
@
clone
@
@
wait
tempAt:
tempAt:put:
tempAt:
terminateTo:
findNextUnwindContextUpTo:
tempAt:
tempAt:put:
tempAt:
terminateTo:
signal
findNextUnwindContextUpTo:
terminateTo:
@
@
@
perform:with:
@
@
perform:with:
@
copyBits
wait
tempAt:
tempAt:put:
tempAt:
terminateTo:
findNextUnwindContextUpTo:
tempAt:
tempAt:put:
tempAt:
terminateTo:
signal
findNextUnwindContextUpTo:
terminateTo:
@
perform:with:
@
@
perform:with:
@
@
@
@
perform:with:
@
@
perform:with:
@
copyBits
@
@
@
perform:with:
@
@
perform:with:
@
@
@
@
@
@
@
copyBits
copyBits
copyBits
copyBits
@
@
copyBits
copyBits
@
perform:with:
@
@
perform:with:
@
@
@
@
perform:with:
@
@
perform:with:
@
copyBits
@
@
@
perform:with:
@
@
perform:with:
@
@
@
@
@
@
@
copyBits
copyBits
copyBits
copyBits
@
@
copyBits
copyBits
@
perform:with:
@
@
perform:with:
@
@
@
@
@
@
@
clone
@
@
fractionPart
truncated
fractionPart
truncated
fractionPart
truncated
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
primDisplayString:from:to:map:xTable:kern:
@
primDisplayString:from:to:map:xTable:kern:
@
@
@
@
@
@
@
@
@
@
primDisplayString:from:to:map:xTable:kern:
@
primDisplayString:from:to:map:xTable:kern:
@
@
@
@
@
@
@
@
@
@
primDisplayString:from:to:map:xTable:kern:
@
primDisplayString:from:to:map:xTable:kern:
@
@
@
@
@
@
@
@
@
@
primDisplayString:from:to:map:xTable:kern:
@
primDisplayString:from:to:map:xTable:kern:
@
@
@
@
@
@
@
@
@
@
primDisplayString:from:to:map:xTable:kern:
@
primDisplayString:from:to:map:xTable:kern:
@
@
@
@
@
@
@
@
@
@
primDisplayString:from:to:map:xTable:kern:
@
primDisplayString:from:to:map:xTable:kern:
@
@
@
@
@
@
@
@
@
@
primDisplayString:from:to:map:xTable:kern:
@
primDisplayString:from:to:map:xTable:kern:

stack page bytes 4096 available headroom 3300 minimum unused headroom 3508

(SIGUSR1)

On Thu, Mar 12, 2015 at 9:46 PM, Levente Uzonyi <leves at elte.hu> wrote:
> I haven't seen this message yet. If you get it again, then please use kill
> -USR1 <pid> and check the stack trace.
>
> I've changed #interCyclePause: recently, and I think the error can occur if
> you use the same WorldState object from multiple UI processes (but doing
> that is a bad idea).
>
> Levente
>
>
> On Thu, 12 Mar 2015, Chris Muller wrote:
>
>> Has anyone else gotten the dreaded "This delay is already scheduled!"?
>> The exclaimation suggests the author felt this should never happen;
>> as a possible bug somewhere?
>>
>> I've gotten it a couple of times, this time I had interrupted
>> something (taking longer than I thought?) and a flurry of debuggers
>> with that message, but VM pegged at 100% and could not gain control of
>> the image.  Had to kill -9 it.
>>
>>
>


More information about the Squeak-dev mailing list