[BUG] Unix VW7.4.1 sometimes runs hot

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
31 messages Options
12
Reply | Threaded
Open this post in threaded view
|

[BUG] Unix VW7.4.1 sometimes runs hot

Martin McClure
This looks like a fairly nasty problem, I hope it can be addressed soon.

On Linux (and we've also seen this on Solaris, though I think that the X
display may have been on Linux) VW 7.4.1 sometimes consumes a CPU for no
apparent reason.

Some facts:
* This happens both with our application code loaded and without it
loaded. I haven't yet seen it in an image that isn't logged into Store,
but I rarely work with images that aren't connected to Store.

* I can launch an image, and it starts running hot.

* Other launches of the same image may not run hot.

* Once it starts running hot, it doesn't stop.

* The VW environment responds completely normally, other than consuming
CPU continuously.

* There don't seem to be any Smalltalk Processes consuming CPU

* Linux accounts about 75% of the time taken as system time, leading me
to believe that VW is doing many system calls.

Below are some C stacks and some Smalltalk stacks taken while running hot.

Some of the C stacks indicate interaction with X. It's possible this bug
only reproduces on certain X servers. On a machine with X.org 6.8.2,
I've seen this reproduce several times this week. About two months ago
(on a prerelease 7.4.1) we saw this on a different Linux machine with
XFree86 4.3.0.


Let me know if there's more information I can gather when I see this happen.

Regards,

-Martin



(gdb) where
#0  0xb7d5d771 in getitimer () from /lib/libc.so.6
#1  0x080c70db in pdCheckTimer (close=0, who=0x80eeef6 "waitForIO") at
src/plat/unxAlarm.c:204
#2  0x080cc710 in waitForIO () at src/plat/unxUtil.c:728
#3  0x080971a6 in preemptActiveProcess (terminateWithExtremePrejudice=0)
at src/mman/mmProcess.c:334
#4  0x0809822a in waitOnSemaphore (semaphore=0x911eb98) at
src/mman/mmProcess.c:658
#5  0x080a8c5a in rtPrimGlue0 ()
#6  0x0911eb98 in ?? ()
#7  0xbfcb98c4 in ?? ()
#8  0x00000000 in ?? ()
#9  0x00000000 in ?? ()
#10 0x080fddb8 in ?? ()
#11 0x00000002 in ?? ()
#12 0x0808adcf in launchSystem () at src/mman/mmInit.c:507
#13 0x080a8360 in minGlueInstr ()




(gdb) where
#0  0xb7d8e07c in poll () from /lib/libc.so.6
#1  0x080cc699 in waitForIO () at src/plat/unxUtil.c:701
#2  0x080971a6 in preemptActiveProcess (terminateWithExtremePrejudice=0)
     at src/mman/mmProcess.c:334
#3  0x0809822a in waitOnSemaphore (semaphore=0x8bde8a0)
     at src/mman/mmProcess.c:658
#4  0x080a8c5a in rtPrimGlue0 ()
#5  0x08bde8a0 in ?? ()
#6  0xbffb8dc4 in ?? ()
#7  0x00000000 in ?? ()
#8  0x00000000 in ?? ()
#9  0x080fddb8 in ?? ()
#10 0x00000002 in ?? ()
#11 0x0808adcf in launchSystem () at src/mman/mmInit.c:507
#12 0x080a8360 in minGlueInstr ()



(gdb) where
#0  0xb7d8e07c in poll () from /lib/libc.so.6
#1  0x080cc81f in waitForIOWithTimeout (fd=0, rwx_flags=0, rwx_results=0x0,
     milliseconds=0) at src/plat/unxUtil.c:769
#2  0x080e18f1 in getXinputForDisplay (display=0x8117688)
     at src/plat/x11Win.c:255
#3  0x080dfa18 in xDisplaysDo (func=0x80e1870 <getXinputForDisplay>)
     at src/plat/x11Resource.c:843
#4  0x080e1910 in getXinput () at src/plat/x11Win.c:279
#5  0x080e192b in pdSynchronizeInputGUI () at src/plat/x11Win.c:302
#6  0x080ad955 in handleAsyncRequests () at src/stack/services.c:183
#7  0x08097198 in preemptActiveProcess (terminateWithExtremePrejudice=0)
     at src/mman/mmProcess.c:335
#8  0x0809822a in waitOnSemaphore (semaphore=0x89cc548)
     at src/mman/mmProcess.c:658
#9  0x080a8c5a in rtPrimGlue0 ()
#10 0x089cc548 in ?? ()
#11 0xbffb8dc4 in ?? ()
#12 0x00000000 in ?? ()
#13 0x00000000 in ?? ()
#14 0x080fddb8 in ?? ()
#15 0x00000002 in ?? ()
#16 0x0808adcf in launchSystem () at src/mman/mmInit.c:507
#17 0x08124f4d in ?? ()
#18 0x0895fa38 in ?? ()



(gdb) where
#0  0xb7d8e07c in poll () from /lib/libc.so.6
#1  0x080cc699 in waitForIO () at src/plat/unxUtil.c:701
#2  0x080971a6 in preemptActiveProcess (terminateWithExtremePrejudice=0)
     at src/mman/mmProcess.c:334
#3  0x0809822a in waitOnSemaphore (semaphore=0xb7cd4544)
     at src/mman/mmProcess.c:658
#4  0x080a8c5a in rtPrimGlue0 ()
#5  0xb7cd4544 in ?? ()
#6  0xbffb8dc4 in ?? ()
#7  0x00000000 in ?? ()
#8  0x00000000 in ?? ()
#9  0x080fddb8 in ?? ()
#10 0x00000002 in ?? ()
#11 0x0808adcf in launchSystem () at src/mman/mmInit.c:507
#12 0x081275d5 in ?? ()
#13 0x089ca178 in ?? ()



(gdb) where
#0  0xb7d8e07c in poll () from /lib/libc.so.6
#1  0x080cc4cd in signal_userfds () at src/plat/unxUtil.c:625
#2  0x080ad955 in handleAsyncRequests () at src/stack/services.c:183
#3  0x08097198 in preemptActiveProcess (terminateWithExtremePrejudice=0)
     at src/mman/mmProcess.c:335
#4  0x0809822a in waitOnSemaphore (semaphore=0xb7cd4544)
     at src/mman/mmProcess.c:658
#5  0x080a8c5a in rtPrimGlue0 ()
#6  0xb7cd4544 in ?? ()
#7  0xbffb8dc4 in ?? ()
#8  0x00000000 in ?? ()
#9  0x00000000 in ?? ()
#10 0x080fddb8 in ?? ()
#11 0x00000002 in ?? ()
#12 0x0808adcf in launchSystem () at src/mman/mmInit.c:507


(gdb) where
#0  0xb7d8e07c in poll () from /lib/libc.so.6
#1  0x080cc81f in waitForIOWithTimeout (fd=0, rwx_flags=0, rwx_results=0x0,
     milliseconds=0) at src/plat/unxUtil.c:769
#2  0x080e18f1 in getXinputForDisplay (display=0x8117688)
     at src/plat/x11Win.c:255
#3  0x080dfa18 in xDisplaysDo (func=0x80e1870 <getXinputForDisplay>)
     at src/plat/x11Resource.c:843
#4  0x080e1910 in getXinput () at src/plat/x11Win.c:279
#5  0x080e192b in pdSynchronizeInputGUI () at src/plat/x11Win.c:302
#6  0x080ad955 in handleAsyncRequests () at src/stack/services.c:183
#7  0x08097198 in preemptActiveProcess (terminateWithExtremePrejudice=0)
     at src/mman/mmProcess.c:335
#8  0x0809822a in waitOnSemaphore (semaphore=0x89cc548)
     at src/mman/mmProcess.c:658
#9  0x080a8c5a in rtPrimGlue0 ()
#10 0x089cc548 in ?? ()
#11 0xbffb8dc4 in ?? ()
#12 0x00000000 in ?? ()
#13 0x00000000 in ?? ()
#14 0x080fddb8 in ?? ()
#15 0x00000002 in ?? ()
#16 0x0808adcf in launchSystem () at src/mman/mmInit.c:507
#17 0x08124f4d in ?? ()


----------------------------------------------------




process 0x81d0d10 priority: 50

frame 0xbfcc2858 a(n) Semaphore wait
frame 0xbfcc286c a(n) Delay wait
frame 0xbfcc2884 a(n) BlockClosure [] in
ProcessMonitorClient>>spawnNextSampler
frame 0xbfcc28a0 a(n) BlockClosure on:do:
frame 0xbfcc28b8 a(n) BlockClosure [] in Process class>>forBlock:priority:

process 0x897a42c priority: 50
suspendedContext is nil

process 0x8a322f0 priority: 50

context 0xb7824e5c Semaphore>>wait
context 0xb78203d4 EventQueue>>next
context 0xb78203bc WindowManager>>processNextEvent
context 0x08a2f428 [] in WindowManager>>newProcess
context 0x08a31a2c BlockClosure>>on:do:
context 0x0892828c [] in WindowManager>>newProcess
context 0x08a31a38 BlockClosure>>on:do:
context 0x08a5f3e0 [] in Process class>>forBlock:priority:

process 0x8ba2060 priority: 50

frame 0xbfcba86c a(n) Semaphore wait
frame 0xbfcba888 a(n) EventQueue next
frame 0xbfcba8a0 a(n) WindowManager processNextEvent
frame 0xbfcba8b8 a(n) BlockClosure [] in WindowManager>>newProcess
context 0x08ba2564 BlockClosure>>on:do:
context 0x08b9717c [] in WindowManager>>newProcess
context 0x08ba254c BlockClosure>>on:do:
context 0x08ba2534 [] in Process class>>forBlock:priority:

process 0x8c11c78 priority: 100

frame 0xbfcc18a4 a(n) Semaphore wait
frame 0xbfcc18b8 a(n) BlockClosure [] in Delay
class>>initializeTimingProcess
context 0x08c1241c BlockClosure>>on:do:
context 0x08c1250c [] in Process class>>forBlock:priority:

process 0x9118c7c priority: 85

context 0x09119900 Semaphore>>wait
context 0xb71688ec [] in CCallback class>>installForeignCallbackProcess
context 0xb7168904 BlockClosure>>on:do:
context 0xb728f8d8 [] in Process class>>forBlock:priority:

process 0x9118cac priority: 89

context 0x09118cb8 Semaphore>>wait
context 0x09172a84 [] in CCallback class>>installCallbackProcess
context 0x09172a9c BlockClosure>>on:do:
context 0x09175cac [] in CCallback class>>installCallbackProcess
context 0x09175cd0 BlockClosure>>on:do:
context 0xb71676a4 [] in CCallback class>>installCallbackProcess
context 0xb71676f8 BlockClosure>>on:do:
context 0xb7167710 [] in Process class>>forBlock:priority:

process 0x9119954 priority: 90

context 0xb7841224 Semaphore>>wait
context 0xb70ac9cc InputState>>run
context 0xb70ac9d8 [] in InputState class>>install
context 0xb70aca2c BlockClosure>>on:do:
context 0xb728f740 [] in Process class>>forBlock:priority:

process 0x911ea84 priority: 90

frame 0xbfcbe89c a(n) Semaphore wait
frame 0xbfcbe8b8 a(n) BlockClosure [] in ObjectMemory
class>>installScavengeNotification
context 0xb74780c0 BlockClosure>>on:do:
context 0x0911ea90 [] in Process class>>forBlock:priority:

process 0x911eac0 priority: 10

frame 0xbfcbf8a4 a(n) Semaphore wait
frame 0xbfcbf8b8 a Class (ObjectMemory) 0x0 no selector
context 0xb70d0a98 [] in ObjectMemory class>>installIdleLoopProcess
context 0xb70d0d2c BlockClosure>>on:do:
context 0x0911eacc [] in Process class>>forBlock:priority:

process 0x911eb14 priority: 90

context 0x09118cdc Semaphore>>wait
context 0x09172988 [] in ExternalProcess class>>startReaper
context 0x091729a0 BlockClosure>>on:do:
context 0x0911eb20 [] in Process class>>forBlock:priority:

process 0x911eb44 priority: 91

context 0x081cfaa8 Semaphore>>wait
context 0x09119c48 ObjectMemory class>>lowSpaceLoop
context 0x09119c60 [] in ObjectMemory class>>installLowSpaceProcess
context 0x09119c78 BlockClosure>>on:do:
context 0x0911eb74 [] in Process class>>forBlock:priority:

process 0x9172a24 priority: 98

frame 0xbfcbc89c a(n) Semaphore wait
frame 0xbfcbc8b8 a Class (WeakArray) 0x0 no selector
context 0xb728f848 [] in WeakArray class>>installFinalizationMechanism
context 0xb728f86c BlockClosure>>on:do:
context 0xb728f890 [] in Process class>>forBlock:priority:

process 0xb70b8024 priority: 50

context 0xb7824ab4 Semaphore>>wait
context 0xb7821b14 EventQueue>>next
context 0xb7821afc WindowManager>>processNextEvent
context 0xb70d6780 [] in WindowManager>>newProcess
context 0x091162dc BlockClosure>>on:do:
context 0xb70d46c8 [] in WindowManager>>newProcess
context 0x091162e8 BlockClosure>>on:do:
context 0xb70b8120 [] in Process class>>forBlock:priority:

process 0xb782437c priority: 50

frame 0xbfcbb804 a(n) Semaphore wait
frame 0xbfcbb820 a(n) EventQueue next
frame 0xbfcbb838 a(n) WindowManager processNextEvent
frame 0xbfcbb850 a(n) BlockClosure [] in WindowManager>>newProcess
frame 0xbfcbb86c a(n) BlockClosure on:do:
frame 0xbfcbb884 a(n) BlockClosure [] in WindowManager>>newProcess
frame 0xbfcbb8a0 a(n) BlockClosure on:do:
frame 0xbfcbb8b8 a(n) BlockClosure [] in Process class>>forBlock:priority:

process 0xb78420dc priority: 50

context 0xb7824bbc Semaphore>>wait
context 0xb7824bb0 EventQueue>>next
context 0xb7824b98 WindowManager>>processNextEvent
context 0xb7824b74 [] in WindowManager>>newProcess
context 0xb7822960 BlockClosure>>on:do:
context 0xb7820ae8 [] in WindowManager>>newProcess
context 0xb7822954 BlockClosure>>on:do:
context 0xb78420d0 [] in Process class>>forBlock:priority:

process 0xb784d080 priority: 50

context 0xb7824f10 Semaphore>>wait
context 0xb7824f04 EventQueue>>next
context 0xb7824eec WindowManager>>processNextEvent
context 0xb7824ec8 [] in WindowManager>>newProcess
context 0xb7824eb0 BlockClosure>>on:do:
context 0xb7824e98 [] in WindowManager>>newProcess
context 0xb7824e80 BlockClosure>>on:do:
context 0xb784cf30 [] in Process class>>forBlock:priority:

process 0xb784d524 priority: 50
suspendedContext is nil

----------------------------------------------------


process 0x894952c priority: 50
suspendedContext is nil

process 0x8a013f0 priority: 50

frame 0xbffb9d6c a(n) Semaphore wait
frame 0xbffb9d88 a(n) EventQueue next
frame 0xbffb9da0 a(n) WindowManager processNextEvent
frame 0xbffb9db8 a(n) BlockClosure [] in WindowManager>>newProcess
context 0x08a00b2c BlockClosure>>on:do:
context 0x088f738c [] in WindowManager>>newProcess
context 0x08a00b38 BlockClosure>>on:do:
context 0x08a2e4e0 [] in Process class>>forBlock:priority:

process 0x8b71160 priority: 50
suspendedContext is nil

process 0x8be0d78 priority: 100

frame 0xbffc0da4 a(n) Semaphore wait
frame 0xbffc0db8 a(n) BlockClosure [] in Delay
class>>initializeTimingProcess
context 0x08be151c BlockClosure>>on:do:
context 0x08be160c [] in Process class>>forBlock:priority:

process 0x96e4024 priority: 10
suspendedContext is nil

process 0x96e406c priority: 90
suspendedContext is nil

process 0x96e6b98 priority: 89
suspendedContext is nil

process 0x96e7810 priority: 90
suspendedContext is nil

process 0x96f6528 priority: 90
suspendedContext is nil

process 0x9758940 priority: 98
suspendedContext is nil

process 0x99711a8 priority: 50

frame 0xbffc2d6c a(n) Semaphore wait
frame 0xbffc2d88 a(n) EventQueue next
frame 0xbffc2da0 a(n) WindowManager processNextEvent
frame 0xbffc2db8 a(n) BlockClosure [] in WindowManager>>newProcess
context 0x09acc500 BlockClosure>>on:do:
context 0x09abd5c0 [] in WindowManager>>newProcess
context 0x09acc4f4 BlockClosure>>on:do:
context 0x09971064 [] in Process class>>forBlock:priority:

process 0x9ac53a8 priority: 49
suspendedContext is nil

process 0x9ac95b4 priority: 50
suspendedContext is nil

process 0xb7b4651c priority: 98

frame 0xbffbad50 a(n) Semaphore wait
frame 0xbffbad6c a Class (WeakArray) outerFinalizationLoop
frame 0xbffbad84 a(n) BlockClosure [] in WeakArray
class>>installFinalizationMechanism
frame 0xbffbada0 a(n) BlockClosure on:do:
frame 0xbffbadb8 a(n) BlockClosure [] in Process class>>forBlock:priority:

process 0xb7cd0fbc priority: 90

frame 0xbffbed58 a(n) Semaphore wait
frame 0xbffbed70 a(n) InputState run
frame 0xbffbed84 a(n) BlockClosure [] in InputState class>>install
frame 0xbffbeda0 a(n) BlockClosure on:do:
frame 0xbffbedb8 a(n) BlockClosure [] in Process class>>forBlock:priority:

process 0xb7cd1c64 priority: 89

context 0xb7cd1c58 Semaphore>>wait
context 0xb7b465ac [] in CCallback class>>installCallbackProcess
context 0xb7b45460 BlockClosure>>on:do:
context 0xb7b45448 [] in CCallback class>>installCallbackProcess
context 0xb797cd54 BlockClosure>>on:do:
context 0xb797cd3c [] in CCallback class>>installCallbackProcess
context 0xb797cd24 BlockClosure>>on:do:
context 0xb7c9894c [] in Process class>>forBlock:priority:

process 0xb7cd1c94 priority: 85

context 0xb7cd0ff8 Semaphore>>wait
context 0xb797cda8 [] in CCallback class>>installForeignCallbackProcess
context 0xb797cd90 BlockClosure>>on:do:
context 0xb7c989b8 [] in Process class>>forBlock:priority:

process 0xb7cd4568 priority: 90

context 0xb7cd1c34 Semaphore>>wait
context 0xb7b46540 [] in ExternalProcess class>>startReaper
context 0xb7b454f0 BlockClosure>>on:do:
context 0xb7cb976c [] in Process class>>forBlock:priority:

process 0xb7cd4a54 priority: 10

frame 0xbffbdd58 a(n) Semaphore wait
frame 0xbffbdd6c a Class (ObjectMemory) idleLoop
frame 0xbffbdd84 a(n) BlockClosure [] in ObjectMemory
class>>installIdleLoopProcess
frame 0xbffbdda0 a(n) BlockClosure on:do:
frame 0xbffbddb8 a(n) BlockClosure [] in Process class>>forBlock:priority:

process 0xb7cd4b98 priority: 91

context 0x081c0b3c Semaphore>>wait
context 0xb7cd0c08 ObjectMemory class>>lowSpaceLoop
context 0xb7cd0bf0 [] in ObjectMemory class>>installLowSpaceProcess
context 0xb7cd0bd8 BlockClosure>>on:do:
context 0xb7ccaf74 [] in Process class>>forBlock:priority:

process 0xb7cd4bbc priority: 90

frame 0xbffbfd68 a(n) Semaphore wait
frame 0xbffbfd84 a(n) BlockClosure [] in ObjectMemory
class>>installScavengeNotification
frame 0xbffbfda0 a(n) BlockClosure on:do:
frame 0xbffbfdb8 a(n) BlockClosure [] in Process class>>forBlock:priority:


----------------------------------------------------


#dumpAllProcessStacks
July 11, 2006 3:22:58 pm
GemBuilder for Smalltalk 7.0.1 of June 14, 2006.

=================================

Process priority: 50 (hash id = 14160)


---------------------------------

[1]  Process>>resume

Receiver:
        a Process
Temporaries:
Context PC = 4

---------------------------------

[2]  BlockClosure>>forkAt:

Receiver:
        a BlockClosure
Temporaries:
        priority {98}
                client = 98

        forkedProcess {3447}
                client = a Process in nil

Context PC = 8

---------------------------------

[3]  GemStone.Gbs.GbsStackDumper class>>printAllProcessStacksOn:

Receiver:
        GemStone.Gbs.GbsStackDumper
Temporaries:
        aStream {9897}
                client = an ExternalWriteStream on 'StacksAtJuly-11-2006-15.22.58.855.txt'

        fastStream {325}
                client = a WriteStream

        mutex {1798}
                client = a GbxDelay

        requestingProcess {14160}
                client = a Process in Process>>resume

        done {1}
                client = nil

Context PC = 38

---------------------------------

[4]  GemStone.Gbs.GbsStackDumper class>>dumpAllProcessStacksToFileNamed:

Receiver:
        GemStone.Gbs.GbsStackDumper
Temporaries:
        nameString {14688}
                client = 'StacksAtJuly-11-2006-15.22.58.855.txt'

        date {9902}
                client = July 11, 2006

        time {11375}
                client = 3:22:58 pm

        aStream {9897}
                client = an ExternalWriteStream on 'StacksAtJuly-11-2006-15.22.58.855.txt'

        file {15794}
                client = an UnixFilename('StacksAtJuly-11-2006-15.22.58.855.txt')

Context PC = 52

---------------------------------

[5]  GemStone.Gbs.GbsStackDumper class>>dumpAllProcessStacks

Receiver:
        GemStone.Gbs.GbsStackDumper
Temporaries:
        filename {14688}
                client = 'StacksAtJuly-11-2006-15.22.58.855.txt'

Context PC = 35

---------------------------------

[6]  TextCollector>>unboundMethod

Receiver:
        a TextCollector
Temporaries:
Context PC = 3

---------------------------------

[7]  TextCollector(Object)>>performMethod:arguments:

Receiver:
        a TextCollector
Temporaries:
        method {16141}
                client = AnnotatedMethod TextCollector>>unboundMethod

        args {7147}
                client = #()

Context PC = 5

---------------------------------

[8]  TextCollector(Object)>>performMethod:

Receiver:
        a TextCollector
Temporaries:
        method {16141}
                client = AnnotatedMethod TextCollector>>unboundMethod

Context PC = 5

---------------------------------

[9]  TextEditorController(ParagraphEditor)>>evaluateCompiled:

Receiver:
        a TextEditorController
Temporaries:
        aMethod {16141}
                client = AnnotatedMethod TextCollector>>unboundMethod

        context {1}
                client = nil

Context PC = 13

---------------------------------

[10] optimized [] in ParagraphEditor>>evaluateSelection

Receiver:
        an UndefinedObject
Temporaries:
        self {4392}
                client = a TextEditorController

        code {16141}
                client = AnnotatedMethod TextCollector>>unboundMethod

Context PC = 7

---------------------------------

[11] BlockClosure>>ensure:

Receiver:
        a BlockClosure
Temporaries:
        aBlock {13783}
                client = BlockClosure [] in Cursor>>showWhile:

        result {1}
                client = nil

Context PC = 4

---------------------------------

[12] Cursor>>showWhile:

Receiver:
        a Cursor
Temporaries:
        aBlock {2004}
                client = BlockClosure [] in ParagraphEditor>>evaluateSelection

        oldcursor {13602}
                client = Cursor normal

Context PC = 23

---------------------------------

[13] TextEditorController(ParagraphEditor)>>evaluateSelection

Receiver:
        a TextEditorController
Temporaries:
        code {16141}
                client = AnnotatedMethod TextCollector>>unboundMethod

        result {1}
                client = nil

Context PC = 14

---------------------------------

[14] optimized [] in ParagraphEditor>>doIt

Receiver:
        an UndefinedObject
Temporaries:
        self {4392}
                client = a TextEditorController

Context PC = 6

---------------------------------

[15] BlockClosure>>on:do:

Receiver:
        a BlockClosure
Temporaries:
        anExceptionSelector {9946}
                client = CompilationError

        handlerBlock {5146}
                client = BlockClosure [] in ParagraphEditor>>doIt

Context PC = 18

---------------------------------

[16] TextEditorController(ParagraphEditor)>>doIt

Receiver:
        a TextEditorController
Temporaries:
Context PC = 20

---------------------------------

[17] TextEditorController>>dispatchMenuSymbol:

Receiver:
        a TextEditorController
Temporaries:
        menuSelection {4745}
                client = #doIt

Context PC = 10

---------------------------------

[18] TextEditorController>>dispatchMenuSelection:

Receiver:
        a TextEditorController
Temporaries:
        menuSelection {4745}
                client = #doIt

Context PC = 20

---------------------------------

[19] TextEditorController(ControllerWithMenu)>>processMenu:at:centered:

Receiver:
        a TextEditorController
Temporaries:
        aMenu {15705}
                client = a Menu

        aPoint {11229}
                client = 292@217

        centered {3}
                client = true

        valueResult {16258}
                client = a MenuItem 'Do it'

Context PC = 41

---------------------------------

[20] TextEditorController(ControllerWithMenu)>>processMenuAt:centered:

Receiver:
        a TextEditorController
Temporaries:
        aPoint {11229}
                client = 292@217

        centered {3}
                client = true

Context PC = 9

---------------------------------

[21] TextEditorController(ControllerWithMenu)>>yellowButtonPressedEvent:

Receiver:
        a TextEditorController
Temporaries:
        event {5342}
                client = a YellowButtonPressedEvent

Context PC = 13

---------------------------------

[22] TextEditorController(ParagraphEditor)>>yellowButtonPressedEvent:

Receiver:
        a TextEditorController
Temporaries:
        event {5342}
                client = a YellowButtonPressedEvent

Context PC = 9

---------------------------------

[23] TextEditorController>>yellowButtonPressedEvent:

Receiver:
        a TextEditorController
Temporaries:
        anEvent {5342}
                client = a YellowButtonPressedEvent

Context PC = 19

---------------------------------

[24] YellowButtonPressedEvent>>dispatchTo:

Receiver:
        a YellowButtonPressedEvent
Temporaries:
        anObject {4392}
                client = a TextEditorController

Context PC = 4

---------------------------------

[25] TextEditorController(ControllerWithMenu)>>handleEvent:

Receiver:
        a TextEditorController
Temporaries:
        anEvent {5342}
                client = a YellowButtonPressedEvent

Context PC = 38

---------------------------------

[26] EventDispatcher>>dispatch:to:

Receiver:
        an EventDispatcher
Temporaries:
        event {5342}
                client = a YellowButtonPressedEvent

        object {4392}
                client = a TextEditorController

        tmp {1}
                client = nil

Context PC = 10

---------------------------------

[27] EventDispatcher>>dispatchEvent:

Receiver:
        an EventDispatcher
Temporaries:
        event {5342}
                client = a YellowButtonPressedEvent

        objectWantingControl {4392}
                client = a TextEditorController

        targetKeyboardProcessor {1}
                client = nil

Context PC = 113

---------------------------------

[28] YellowButtonPressedEvent(Event)>>dispatch

Receiver:
        a YellowButtonPressedEvent
Temporaries:
Context PC = 16

---------------------------------

[29] YellowButtonPressedEvent(Event)>>dispatchForWindowManager:

Receiver:
        a YellowButtonPressedEvent
Temporaries:
        aWinMgr {9047}
                client = a WindowManager

Context PC = 4

---------------------------------

[30] optimized [] in WindowManager>>safelyDispatchForWindowManager:

Receiver:
        an UndefinedObject
Temporaries:
        event {5342}
                client = a YellowButtonPressedEvent

        self {9047}
                client = a WindowManager

Context PC = 6

---------------------------------

[31] BlockClosure>>on:do:

Receiver:
        a BlockClosure
Temporaries:
        anExceptionSelector {8473}
                client = BadControllerError

        handlerBlock {8132}
                client = BlockClosure [] in WindowManager>>safelyDispatchForWindowManager:

Context PC = 18

---------------------------------

[32] WindowManager>>safelyDispatchForWindowManager:

Receiver:
        a WindowManager
Temporaries:
        event {5342}
                client = a YellowButtonPressedEvent

Context PC = 13

---------------------------------

[33] WindowManager>>processNextEvent

Receiver:
        a WindowManager
Temporaries:
        event {5342}
                client = a YellowButtonPressedEvent

Context PC = 9

---------------------------------

[34] optimized [] in [] in WindowManager>>newProcess

Receiver:
        an UndefinedObject
Temporaries:
        self {9047}
                client = a WindowManager

Context PC = 13

---------------------------------

[35] BlockClosure>>on:do:

Receiver:
        a BlockClosure
Temporaries:
        anExceptionSelector {3873}
                client = TerminateException

        handlerBlock {15874}
                client = BlockClosure [] in [] in WindowManager>>newProcess

Context PC = 18

---------------------------------

[36] optimized [] in WindowManager>>newProcess

Receiver:
        an UndefinedObject
Temporaries:
        self {9047}
                client = a WindowManager

Context PC = 15

---------------------------------

[37] BlockClosure>>on:do:

Receiver:
        a BlockClosure
Temporaries:
        anExceptionSelector {3873}
                client = TerminateException

        handlerBlock {14659}
                client = BlockClosure [] in [] in Process class>>forBlock:priority:

Context PC = 18

---------------------------------

[38] optimized [] in Process class>>forBlock:priority:

Receiver:
        an UndefinedObject
Temporaries:
        aBlock {9072}
                client = BlockClosure [] in WindowManager>>newProcess

Context PC = 9

=================================

Process priority: 100 (hash id = 9374)


---------------------------------

[1]  Semaphore>>wait

Receiver:
        a Semaphore
Temporaries:
Context PC = 1

---------------------------------

[2]  optimized [] in Delay class>>initializeTimingProcess

Receiver:
        an UndefinedObject
Temporaries:
Context PC = 8

---------------------------------

[3]  BlockClosure>>on:do:

Receiver:
        a BlockClosure
Temporaries:
        anExceptionSelector {3873}
                client = TerminateException

        handlerBlock {14659}
                client = BlockClosure [] in [] in Process class>>forBlock:priority:

Context PC = 18

---------------------------------

[4]  optimized [] in Process class>>forBlock:priority:

Receiver:
        an UndefinedObject
Temporaries:
        aBlock {5443}
                client = BlockClosure [] in Delay class>>initializeTimingProcess

Context PC = 9

=================================

Process priority: 98 (hash id = 11108)


---------------------------------

[1]  Semaphore>>wait

Receiver:
        a Semaphore
Temporaries:
Context PC = 4

---------------------------------

[2]  WeakArray class>>outerFinalizationLoop

Receiver:
        Core.WeakArray
Temporaries:
        theBereaved {14059}
                client = WeakArray (0 a PostgreSQLConnection)

        ratchet {13139}
                client = Semaphore ()

Context PC = 11

---------------------------------

[3]  optimized [] in WeakArray class>>installFinalizationMechanism

Receiver:
        an UndefinedObject
Temporaries:
        self {8743}
                client = WeakArray

Context PC = 6

---------------------------------

[4]  BlockClosure>>on:do:

Receiver:
        a BlockClosure
Temporaries:
        anExceptionSelector {3873}
                client = TerminateException

        handlerBlock {14659}
                client = BlockClosure [] in [] in Process class>>forBlock:priority:

Context PC = 18

---------------------------------

[5]  optimized [] in Process class>>forBlock:priority:

Receiver:
        an UndefinedObject
Temporaries:
        aBlock {2838}
                client = BlockClosure [] in WeakArray class>>installFinalizationMechanism

Context PC = 9

=================================

Process priority: 91 (hash id = 7122)


---------------------------------

[1]  Semaphore>>wait

Receiver:
        a Semaphore
Temporaries:
Context PC = 4

---------------------------------

[2]  ObjectMemory class>>lowSpaceLoop

Receiver:
        Kernel.ObjectMemory
Temporaries:
Context PC = 8

---------------------------------

[3]  optimized [] in ObjectMemory class>>installLowSpaceProcess

Receiver:
        an UndefinedObject
Temporaries:
        self {14813}
                client = ObjectMemory

Context PC = 6

---------------------------------

[4]  BlockClosure>>on:do:

Receiver:
        a BlockClosure
Temporaries:
        anExceptionSelector {3873}
                client = TerminateException

        handlerBlock {14659}
                client = BlockClosure [] in [] in Process class>>forBlock:priority:

Context PC = 18

---------------------------------

[5]  optimized [] in Process class>>forBlock:priority:

Receiver:
        an UndefinedObject
Temporaries:
        aBlock {1194}
                client = BlockClosure [] in ObjectMemory class>>installLowSpaceProcess

Context PC = 9

=================================

Process priority: 90 (hash id = 4729)


---------------------------------

[1]  Semaphore>>wait

Receiver:
        a Semaphore
Temporaries:
Context PC = 1

---------------------------------

[2]  optimized [] in ExternalProcess class>>startReaper

Receiver:
        an UndefinedObject
Temporaries:
        sem {4512}
                client = Semaphore (a Process in Semaphore>>wait)

        self {1823}
                client = UnixProcess

Context PC = 10

---------------------------------

[3]  BlockClosure>>on:do:

Receiver:
        a BlockClosure
Temporaries:
        anExceptionSelector {3873}
                client = TerminateException

        handlerBlock {14659}
                client = BlockClosure [] in [] in Process class>>forBlock:priority:

Context PC = 18

---------------------------------

[4]  optimized [] in Process class>>forBlock:priority:

Receiver:
        an UndefinedObject
Temporaries:
        aBlock {2677}
                client = BlockClosure [] in ExternalProcess class>>startReaper

Context PC = 9

=================================

Process priority: 90 (hash id = 10988)


---------------------------------

[1]  Semaphore>>wait

Receiver:
        a Semaphore
Temporaries:
Context PC = 1

---------------------------------

[2]  InputState>>run

Receiver:
        an InputState
Temporaries:
        event {5628}
                client = #(0 0 0 0 0 0 0 0 0 an UninterpretedBytes 0 nil nil nil nil nil)

Context PC = 38

---------------------------------

[3]  optimized [] in InputState class>>install

Receiver:
        an UndefinedObject
Temporaries:
Context PC = 3

---------------------------------

[4]  BlockClosure>>on:do:

Receiver:
        a BlockClosure
Temporaries:
        anExceptionSelector {3873}
                client = TerminateException

        handlerBlock {14659}
                client = BlockClosure [] in [] in Process class>>forBlock:priority:

Context PC = 18

---------------------------------

[5]  optimized [] in Process class>>forBlock:priority:

Receiver:
        an UndefinedObject
Temporaries:
        aBlock {12322}
                client = BlockClosure [] in InputState class>>install

Context PC = 9

=================================

Process priority: 90 (hash id = 14854)


---------------------------------

[1]  Semaphore>>wait

Receiver:
        a Semaphore
Temporaries:
Context PC = 4

---------------------------------

[2]  optimized [] in ObjectMemory class>>installScavengeNotification

Receiver:
        an UndefinedObject
Temporaries:
        scavengeSemaphore {11716}
                client = Semaphore ()

        self {14813}
                client = ObjectMemory

Context PC = 10

---------------------------------

[3]  BlockClosure>>on:do:

Receiver:
        a BlockClosure
Temporaries:
        anExceptionSelector {3873}
                client = TerminateException

        handlerBlock {14659}
                client = BlockClosure [] in [] in Process class>>forBlock:priority:

Context PC = 18

---------------------------------

[4]  optimized [] in Process class>>forBlock:priority:

Receiver:
        an UndefinedObject
Temporaries:
        aBlock {16140}
                client = BlockClosure [] in ObjectMemory
class>>installScavengeNotification

Context PC = 9

=================================

Process priority: 89 (hash id = 11354)


---------------------------------

[1]  Semaphore>>wait

Receiver:
        a Semaphore
Temporaries:
Context PC = 1

---------------------------------

[2]  optimized [] in [] in [] in CCallback class>>installCallbackProcess

Receiver:
        an UndefinedObject
Temporaries:
        self {5147}
                client = CCallback

        deadProcess {1}
                client = nil

Context PC = 7

---------------------------------

[3]  BlockClosure>>on:do:

Receiver:
        a BlockClosure
Temporaries:
        anExceptionSelector {982}
                client = FinalizeCallbackProcessNotification

        handlerBlock {11364}
                client = BlockClosure [] in [] in [] in CCallback
class>>installCallbackProcess

Context PC = 18

---------------------------------

[4]  optimized [] in [] in CCallback class>>installCallbackProcess

Receiver:
        an UndefinedObject
Temporaries:
        self {5147}
                client = CCallback

        deadProcess {1}
                client = nil

Context PC = 17

---------------------------------

[5]  BlockClosure>>on:do:

Receiver:
        a BlockClosure
Temporaries:
        anExceptionSelector {7689}
                client = UnhandledException

        handlerBlock {6402}
                client = BlockClosure [] in [] in CCallback class>>installCallbackProcess

Context PC = 18

---------------------------------

[6]  optimized [] in CCallback class>>installCallbackProcess

Receiver:
        an UndefinedObject
Temporaries:
        deadProcess {5147}
                client = CCallback

        self {15612}
                client = #(BlockClosure [] in CCallback class>>installCallbackProcess)

        callbackProcessBlock {1}
                client = nil

Context PC = 23

---------------------------------

[7]  BlockClosure>>on:do:

Receiver:
        a BlockClosure
Temporaries:
        anExceptionSelector {3873}
                client = TerminateException

        handlerBlock {14659}
                client = BlockClosure [] in [] in Process class>>forBlock:priority:

Context PC = 18

---------------------------------

[8]  optimized [] in Process class>>forBlock:priority:

Receiver:
        an UndefinedObject
Temporaries:
        aBlock {7518}
                client = BlockClosure [] in CCallback class>>installCallbackProcess

Context PC = 9

=================================

Process priority: 85 (hash id = 2732)


---------------------------------

[1]  Semaphore>>wait

Receiver:
        a Semaphore
Temporaries:
Context PC = 1

---------------------------------

[2]  optimized [] in CCallback class>>installForeignCallbackProcess

Receiver:
        an UndefinedObject
Temporaries:
        initSemaphore {2184}
                client = Semaphore ()

        pauseSemaphore {3657}
                client = Semaphore (a Process in Semaphore>>wait)

Context PC = 8

---------------------------------

[3]  BlockClosure>>on:do:

Receiver:
        a BlockClosure
Temporaries:
        anExceptionSelector {3873}
                client = TerminateException

        handlerBlock {14659}
                client = BlockClosure [] in [] in Process class>>forBlock:priority:

Context PC = 18

---------------------------------

[4]  optimized [] in Process class>>forBlock:priority:

Receiver:
        an UndefinedObject
Temporaries:
        aBlock {10474}
                client = BlockClosure [] in CCallback class>>installForeignCallbackProcess

Context PC = 9

=================================

Process priority: 50 (hash id = 863)


---------------------------------

[1]  Semaphore>>wait

Receiver:
        a Semaphore
Temporaries:
Context PC = 1

---------------------------------

[2]  EventQueue>>next

Receiver:
        an EventQueue
Temporaries:
        isEmpty {1}
                client = nil

        value {1}
                client = nil

Context PC = 8

---------------------------------

[3]  WindowManager>>processNextEvent

Receiver:
        a WindowManager
Temporaries:
        event {1}
                client = nil

Context PC = 4

---------------------------------

[4]  optimized [] in [] in WindowManager>>newProcess

Receiver:
        an UndefinedObject
Temporaries:
        self {14350}
                client = a WindowManager

Context PC = 13

---------------------------------

[5]  BlockClosure>>on:do:

Receiver:
        a BlockClosure
Temporaries:
        anExceptionSelector {3873}
                client = TerminateException

        handlerBlock {178}
                client = BlockClosure [] in [] in WindowManager>>newProcess

Context PC = 18

---------------------------------

[6]  optimized [] in WindowManager>>newProcess

Receiver:
        an UndefinedObject
Temporaries:
        self {14350}
                client = a WindowManager

Context PC = 15

---------------------------------

[7]  BlockClosure>>on:do:

Receiver:
        a BlockClosure
Temporaries:
        anExceptionSelector {3873}
                client = TerminateException

        handlerBlock {14659}
                client = BlockClosure [] in [] in Process class>>forBlock:priority:

Context PC = 18

---------------------------------

[8]  optimized [] in Process class>>forBlock:priority:

Receiver:
        an UndefinedObject
Temporaries:
        aBlock {9760}
                client = BlockClosure [] in WindowManager>>newProcess

Context PC = 9

=================================

Process priority: 10 (hash id = 4974)


---------------------------------

[1]  Semaphore>>wait

Receiver:
        a Semaphore
Temporaries:
Context PC = 4

---------------------------------

[2]  ObjectMemory class>>idleLoop

Receiver:
        Kernel.ObjectMemory
Temporaries:
Context PC = 8

---------------------------------

[3]  optimized [] in ObjectMemory class>>installIdleLoopProcess

Receiver:
        an UndefinedObject
Temporaries:
        self {14813}
                client = ObjectMemory

Context PC = 6

---------------------------------

[4]  BlockClosure>>on:do:

Receiver:
        a BlockClosure
Temporaries:
        anExceptionSelector {3873}
                client = TerminateException

        handlerBlock {14659}
                client = BlockClosure [] in [] in Process class>>forBlock:priority:

Context PC = 18

---------------------------------

[5]  optimized [] in Process class>>forBlock:priority:

Receiver:
        an UndefinedObject
Temporaries:
        aBlock {2224}
                client = BlockClosure [] in ObjectMemory class>>installIdleLoopProcess

Context PC = 9

<<End of stack dump>>

Reply | Threaded
Open this post in threaded view
|

Re: [BUG] Unix VW7.4.1 sometimes runs hot

Damien Cassou-3-2
Martin McClure wrote:
> This looks like a fairly nasty problem, I hope it can be addressed soon.
>
> On Linux (and we've also seen this on Solaris, though I think that the
> X display may have been on Linux) VW 7.4.1 sometimes consumes a CPU
> for no apparent reason.

I have the same problem on Ubuntu Dapper, kernel 2.6.15, intel mobile
pentium 4, xorg 7.0. It only happens when I connect to store (no matter
what repository) and immediately disappears when I disconnect. I have
tried to find which VW process is responsible for this without success.


Reply | Threaded
Open this post in threaded view
|

RE: [BUG] Unix VW7.4.1 sometimes runs hot

Terry Raymond
Maybe the vm is sending a stream of input events to the
image.

Try putting a watchpoint probe into InputState>>process:
and see if you are getting too many input events.

Terry
 
===========================================================
Terry Raymond       Smalltalk Professional Debug Package
Crafted Smalltalk
80 Lazywood Ln.
Tiverton, RI  02878
(401) 624-4517      [hidden email]
<http://www.craftedsmalltalk.com>
===========================================================

> -----Original Message-----
> From: Damien Cassou [mailto:[hidden email]]
> Sent: Thursday, July 13, 2006 5:31 AM
> To: [hidden email]
> Subject: Re: [BUG] Unix VW7.4.1 sometimes runs hot
>
> Martin McClure wrote:
> > This looks like a fairly nasty problem, I hope it can be addressed soon.
> >
> > On Linux (and we've also seen this on Solaris, though I think that the
> > X display may have been on Linux) VW 7.4.1 sometimes consumes a CPU
> > for no apparent reason.
>
> I have the same problem on Ubuntu Dapper, kernel 2.6.15, intel mobile
> pentium 4, xorg 7.0. It only happens when I connect to store (no matter
> what repository) and immediately disappears when I disconnect. I have
> tried to find which VW process is responsible for this without success.


Reply | Threaded
Open this post in threaded view
|

Re: [BUG] Unix VW7.4.1 sometimes runs hot

Martin McClure
In reply to this post by Damien Cassou-3-2
Damien Cassou wrote:
>
> I have the same problem on Ubuntu Dapper, kernel 2.6.15, intel mobile
> pentium 4, xorg 7.0. It only happens when I connect to store (no matter
> what repository) and immediately disappears when I disconnect. I have
> tried to find which VW process is responsible for this without success.

Hey, it does stop if you log out of Store! Thanks for the tip!

If I log into and out of Store, it sometimes runs hot and sometimes
doesn't. At the moment, it's running hot after most logins, but on
previous launches it was a minority.

-Martin

Reply | Threaded
Open this post in threaded view
|

Re: [BUG] Unix VW7.4.1 sometimes runs hot

Martin McClure
In reply to this post by Terry Raymond
Terry Raymond wrote:
> Maybe the vm is sending a stream of input events to the
> image.
>
> Try putting a watchpoint probe into InputState>>process:
> and see if you are getting too many input events.

Nope, no input events at all (unless I move the mouse or something), and
still running hot.

I've been unable to find any Process that is running. As an experiment,
I opened a ProcessMonitor, stopping all user Processes (except the
ProcessMonitor itself) then opened debuggers on all system Processes,
saving the InputStateProcess for last. I believe I succeeded in
suspending all processes in the system other than the ProcessMonitor,
but the VM is still running hot.

-Martin

Reply | Threaded
Open this post in threaded view
|

Re: [BUG] Unix VW7.4.1 sometimes runs hot

Dave Stevenson-2
In reply to this post by Martin McClure
Does it happen with PostgreSQL, Oracle, other?

Dave

Martin McClure wrote:

> Damien Cassou wrote:
>>
>> I have the same problem on Ubuntu Dapper, kernel 2.6.15, intel mobile
>> pentium 4, xorg 7.0. It only happens when I connect to store (no matter
>> what repository) and immediately disappears when I disconnect. I have
>> tried to find which VW process is responsible for this without success.
>
> Hey, it does stop if you log out of Store! Thanks for the tip!
>
> If I log into and out of Store, it sometimes runs hot and sometimes
> doesn't. At the moment, it's running hot after most logins, but on
> previous launches it was a minority.
>
> -Martin
>
>

Reply | Threaded
Open this post in threaded view
|

RE: [BUG] Unix VW7.4.1 sometimes runs hot

Terry Raymond
In reply to this post by Martin McClure
Martin

I guess it is not controllable from the image.

Looks like you will need a VM debugger.

Terry
 
===========================================================
Terry Raymond       Smalltalk Professional Debug Package
Crafted Smalltalk
80 Lazywood Ln.
Tiverton, RI  02878
(401) 624-4517      [hidden email]
<http://www.craftedsmalltalk.com>
===========================================================

> -----Original Message-----
> From: Martin McClure [mailto:[hidden email]]
> Sent: Thursday, July 13, 2006 1:20 PM
> To: Terry Raymond
> Cc: 'Damien Cassou'; [hidden email]
> Subject: Re: [BUG] Unix VW7.4.1 sometimes runs hot
>
> Terry Raymond wrote:
> > Maybe the vm is sending a stream of input events to the
> > image.
> >
> > Try putting a watchpoint probe into InputState>>process:
> > and see if you are getting too many input events.
>
> Nope, no input events at all (unless I move the mouse or something), and
> still running hot.
>
> I've been unable to find any Process that is running. As an experiment,
> I opened a ProcessMonitor, stopping all user Processes (except the
> ProcessMonitor itself) then opened debuggers on all system Processes,
> saving the InputStateProcess for last. I believe I succeeded in
> suspending all processes in the system other than the ProcessMonitor,
> but the VM is still running hot.
>
> -Martin

Reply | Threaded
Open this post in threaded view
|

Re: [BUG] Unix VW7.4.1 sometimes runs hot

Martin McClure
In reply to this post by Dave Stevenson-2
Dave Stevenson wrote:
> Does it happen with PostgreSQL, Oracle, other?

I'm using only PostgreSQL.

I just reproduced the problem logging into the Cincom public repository.

Once the VM starts running hot, it seems to run hot after every Store
login. If I quit and re-launch the same image, it may take a few Store
logins before the VM starts running hot, or it may run hot the first time.

-Martin

Reply | Threaded
Open this post in threaded view
|

Re: [BUG] Unix VW7.4.1 sometimes runs hot

Samuel S. Shuster <sames@interaccess.com>
Martin,

>I'm using only PostgreSQL.
>
>I just reproduced the problem logging into the Cincom public repository.

Wait a second.... Are you by chance using the MacOSX look? If so, then the
problem is probably not associated with ANYTHING you may think. Instead, it is
remaining processes running for the (stupid) jelly on the progress bar. We have
a fix for that, which is in either 7.4.1 (or got slipped to 7.5, don't
remember).

                                And So It Goes
                                     Sames
______________________________________________________________________

Samuel S. Shuster [|]
VisualWorks Engineering, GUI Project
Smalltalk Enables Success -- What Are YOU Using?

Reply | Threaded
Open this post in threaded view
|

[7.4][Pollock]Helptext not working

Carl Gundel
When I try to use the helptext: to set a tooltip on toolbar items or
even regular buttons, I get nothing.  Do I need to do something more to
make it work?

-Carl Gundel, author of Liberty BASIC
http://www.libertybasic.com

Reply | Threaded
Open this post in threaded view
|

Re: [7.4][Pollock]Helptext not working

Samuel S. Shuster <sames@interaccess.com>
Carl,

>When I try to use the helptext: to set a tooltip on toolbar items or
>even regular buttons, I get nothing.  Do I need to do something more to
>make it work?

Currently, in Pollock, the helpText isn't hooked up to anything. It awaits tools
to activate.

                                And So It Goes
                                     Sames
______________________________________________________________________

Samuel S. Shuster [|]
VisualWorks Engineering, GUI Project
Smalltalk Enables Success -- What Are YOU Using?

Reply | Threaded
Open this post in threaded view
|

Re: [BUG] Unix VW7.4.1 sometimes runs hot

Damien Cassou-3-2
In reply to this post by Samuel S. Shuster <sames@interaccess.com>
Samuel S. Shuster wrote:
>> I'm using only PostgreSQL.
>> I just reproduced the problem logging into the Cincom public repository.
>>    
> Wait a second.... Are you by chance using the MacOSX look? If so, then the
> problem is probably not associated with ANYTHING you may think. Instead, it is
> remaining processes running for the (stupid) jelly on the progress bar. We have
> a fix for that, which is in either 7.4.1 (or got slipped to 7.5, don't
> remember).
>  

This is not my case. I use WindowsXP look.

Reply | Threaded
Open this post in threaded view
|

Re: [BUG] Unix VW7.4.1 sometimes runs hot

Damien Cassou-3-2
In reply to this post by Dave Stevenson-2
Dave Stevenson wrote:
> Does it happen with PostgreSQL, Oracle, other?

PostgreSQL for me, never tried the others

Reply | Threaded
Open this post in threaded view
|

Re: [BUG] Unix VW7.4.1 sometimes runs hot

Bruce Badger
On 16/07/06, Damien Cassou <[hidden email]> wrote:
> Dave Stevenson wrote:
> > Does it happen with PostgreSQL, Oracle, other?
> PostgreSQL for me, never tried the others

Needless to say, I feel a pang of guilt reading this.

FWIW I've not seen the symptoms you mention with vw7.4.1nc connected
to PostgreSQL repositories.  I'm using Debian stable here.

All the best,
    Bruce
--
Make the most of your skills - with OpenSkills
http://www.openskills.org/

Reply | Threaded
Open this post in threaded view
|

Re: [BUG] Unix VW7.4.1 sometimes runs hot

kobetic
I can reproduce it on a Fedora Core 4 (64bit but running the 32-bit VM).
I note that it doesn't run hot when connected to a local repository (on
the same host) but does when connecting to any remote one.

I've created AR#50994: "A remote Postgres connection makes the Linux VM
run hot" for this issue. Thanks to all who reported the problem.

Martin

Bruce Badger wrote:

> On 16/07/06, Damien Cassou <[hidden email]> wrote:
>
>> Dave Stevenson wrote:
>> > Does it happen with PostgreSQL, Oracle, other?
>> PostgreSQL for me, never tried the others
>
>
> Needless to say, I feel a pang of guilt reading this.
>
> FWIW I've not seen the symptoms you mention with vw7.4.1nc connected
> to PostgreSQL repositories.  I'm using Debian stable here.
>
> All the best,
>    Bruce

Reply | Threaded
Open this post in threaded view
|

Re: [BUG] Unix VW7.4.1 sometimes runs hot

Martin McClure
In reply to this post by Samuel S. Shuster <sames@interaccess.com>
Samuel S. Shuster wrote:

> Martin,
>
>> I'm using only PostgreSQL.
>>
>> I just reproduced the problem logging into the Cincom public repository.
>
> Wait a second.... Are you by chance using the MacOSX look? If so, then the
> problem is probably not associated with ANYTHING you may think. Instead, it is
> remaining processes running for the (stupid) jelly on the progress bar. We have
> a fix for that, which is in either 7.4.1 (or got slipped to 7.5, don't
> remember).

No I'm using the MacOSX look. I'm using the default look, which on Linux
is, what, the KDE look? :-)

I think I've shown that the VM is *not* spending much of its time
running Smalltalk while it runs hot.

Regards,

-Martin

Reply | Threaded
Open this post in threaded view
|

Re: [BUG] Unix VW7.4.1 sometimes runs hot

Martin McClure
In reply to this post by kobetic
Martin Kobetic wrote:
> I can reproduce it on a Fedora Core 4 (64bit but running the 32-bit VM).
> I note that it doesn't run hot when connected to a local repository (on
> the same host) but does when connecting to any remote one.
>
> I've created AR#50994: "A remote Postgres connection makes the Linux VM
> run hot" for this issue. Thanks to all who reported the problem.

Thanks for the AR!

-Martin

Reply | Threaded
Open this post in threaded view
|

Re: [BUG] Unix VW7.4.1 sometimes runs hot

Bruce Badger
In reply to this post by kobetic
On 18/07/06, Martin Kobetic <[hidden email]> wrote:
> I note that it doesn't run hot when connected to a local repository (on
> the same host) but does when connecting to any remote one.

Ah, OK.  I can reproduce it now too.  As you say, only for remote
conections.  If I start a clean VW7.4.1nc image and immediately
connect to the public store, up goes the CPU usage.  Simply
disconnecting makes it go down again.

I put a breakpoint in PostgreSQLConnection>>socketSession.  The CPU
goes hot at exactly the point when the socket connects.  The CPU load
vanishes again when the socket is closed.

Here is a simple test case that works every time for me in a work space:

connection :=
 NativeSocketSession
  openOnHost: 'store.cincomsmalltalk.com'
  port: 5432.
(Delay forSeconds: 10) wait.
connection close

The 10 seconds just lets me see a clear blip on the CPU usage meeter I have.

I'm running Debian stable (sarge) with a stock 2.6.8 kernel.

All the best,
    Bruce
--
Make the most of your skills - with OpenSkills
http://www.openskills.org/

Reply | Threaded
Open this post in threaded view
|

Re: [BUG] Unix VW7.4.1 sometimes runs hot

Bruce Badger
Oh, and it's not PostgreSQL in particular, either.  Try:

connection := NativeSocketSession openOnHost: 'www.cincom.com'
                                                port: 80.
(Delay forSeconds: 10) wait.
connection close

All the best,
    Bruce
--
Make the most of your skills - with OpenSkills
http://www.openskills.org/

Reply | Threaded
Open this post in threaded view
|

Re: [BUG] Unix VW7.4.1 sometimes runs hot

Damien Cassou-3-2
Bruce Badger wrote:
> Oh, and it's not PostgreSQL in particular, either.  Try:
>
> connection := NativeSocketSession openOnHost: 'www.cincom.com'
>                         port: 80.
> (Delay forSeconds: 10) wait.
> connection close

I confirm

12