On Tue, Aug 5, 2008 at 3:43 PM, Jeremy Huddleston <jeremyhu@apple.com> wrote:
On Aug 5, 2008, at 12:21, Scott Johnson wrote:
Running XQuartz 2.3.0 (xorg-server 1.4.2-apple5) Under Mac OS X 10.5.4 on a G5
If I start xterm (either from the terminal or by starting X11 or with the applications menu in X11) and start another xterm from the applications menu in X11, the first xterm hangs when I type "exit" to close the second.
If I start three xterms and then close the third, the second remains functional but the first hangs.
This sounds like the kernel issue... Is xterm using 100% CPU in top?
No. It's idling at 0%. CPU usage doesn't spike when the orig xterm hangs. It's just frozen dead.
Are you able to move it? Can you do a trace of the xterm, quartz-wm, and X11.app processes using Activity Monitor.app please?
Yes, I can move the xterm window after it hangs. Sampling with Activity Monitor gives: xterm: -------- sample cannot examine process 5276 for unknown reasons, even though it appears to exist. ********* quartz-wm: --------- Sampling process 5260 for 1 seconds with 1 millisecond of run time between samples Sampling completed, processing symbols... Analysis of sampling quartz-wm (pid 5260) every 1 millisecond Call graph: 862 Thread_2503 862 start 862 main 862 CFRunLoopRun 862 CFRunLoopRunSpecific 861 mach_msg 861 mach_msg_trap 861 mach_msg_trap 1 __CFSocketPerformV0 1 __CFSocketEnableCallBacks 1 sendto$UNIX2003 1 sendto$UNIX2003 862 Thread_2603 862 __CFSocketManager 862 select$DARWIN_EXTSN 862 select$DARWIN_EXTSN Total number in stack (recursive counted multiple, when >=5): Sort by top of stack, same collapsed (when >= 5): select$DARWIN_EXTSN 862 mach_msg_trap 861 Sample analysis of process 5260 written to file /dev/stdout ********** and X11: ---------- Sampling process 5230 for 3 seconds with 1 millisecond of run time between samples Sampling completed, processing symbols... Analysis of sampling X11 (pid 5230) every 1 millisecond Call graph: 2314 Thread_2503 2310 start 2310 main 2310 mach_msg_server 2310 mach_startup_server 2310 _Xstart_x11_server 2310 do_start_x11_server 2310 server_main 2310 X11ApplicationMain 2310 -[NSApplication run] 2308 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] 2308 _DPSNextEvent 2303 BlockUntilNextEventMatchingListInMode 2303 ReceiveNextEventCommon 2303 RunCurrentEventLoopInMode 2303 CFRunLoopRunSpecific 2289 mach_msg 2289 mach_msg_trap 2289 mach_msg_trap 9 __CFMachPortPerform 9 PullEventsFromWindowServerOnConnection(unsigned int, unsigned char) 7 CGEventCreateNextEvent 7 CGSGetNextEventRecordInternal 7 snarfEvents 7 _CGSGetPortStreamInline 7 mach_msg 7 mach_msg_trap 7 mach_msg_trap 1 ConvertPlatformEventRecordAndPostWithOptions(__CGEvent*, _CGSEventRecord const*, short, unsigned char, unsigned char) 1 PostEventToQueueInternal 1 _NotifyEventLoopObservers 1 SCTKeyEventObserver 1 objc_msgSend_rtp 1 objc_msgSend_rtp 1 _EventThreadLock 1 dyld_stub_pthread_once 1 dyld_stub_pthread_once 3 __CFRunLoopDoObservers 2 _handleWindowsNeedUpdateNote 2 -[NSApplication updateWindows] 1 -[NSApplication(NSWindowCache) _updateWindowsUsingCache] 1 -[__NSPlaceholderArray initWithCapacity:] 1 _CFArraySetCapacity 1 _CFArraySetCapacity 1 -[NSNotificationCenter postNotificationName:object:userInfo:] 1 _CFXNotificationPostNotification 1 CFDictionaryGetValue 1 __CFDictionaryFindBuckets1b 1 CFHash 1 CFHash 1 FlushAllBuffers(__CFRunLoopObserver*, unsigned long, void*) 1 FlushAllBuffers(__CFRunLoopObserver*, unsigned long, void*) 1 CFSetApplyFunction 1 __CFRunLoopCollectSources0 1 __CFRunLoopCollectSources0 1 __addHandler2 1 __addHandler2 3 _DPSNextEvent 2 SendEventToEventTarget 2 SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*) 2 DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*) 2 ToolboxEventDispatcherHandler(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*) 2 FindWindowAndPartFromMouseEvent 2 FindWindow 2 FindWindowOfClass 2 FindWindowCommon(Point, OpaqueWindowPtr**, short*) 1 FindPlatformWindow 1 CGSFindWindowAndOwner 1 _CGSFindWindow 1 mach_msg 1 mach_msg_trap 1 mach_msg_trap 1 MBarHit 1 _MBarHit(MenuData*, Point, unsigned char*, MenuData**) 1 GetControlOwner 1 HIView::FindHIView(OpaqueControlRef*) 1 HIObject::IsRefValid(void*) 1 HLTBSearchRefTable 1 HLTBSearchRefTable 2 -[X11Application sendEvent:] 1 -[NSScreen frame] 1 _NXGetScreenRect 1 CGSGetDisplayBounds 1 unlockDisplay 1 CGSShmemRWLockUnlockForReading 1 CGSLockShmemLockWithTimeout 1 _CG_spin_lock_try 1 _CG_spin_lock_try 1 DarwinSendPointerEvents 1 DarwinPokeEQ 1 write$UNIX2003 1 write$UNIX2003 4 _sigtramp 4 _sigtramp 2314 Thread_2603 2314 _pthread_start 2314 CAPThread::Entry(CAPThread*) 2314 HALRunLoop::OwnThread(void*) 2314 CFRunLoopRunSpecific 2314 mach_msg 2314 mach_msg_trap 2314 mach_msg_trap 2314 Thread_2703 2314 _pthread_start 2314 server_thread 2314 dix_main 2314 Dispatch 2310 WaitForSomething 2307 select$DARWIN_EXTSN 2307 select$DARWIN_EXTSN 3 __error 3 __error 4 ProcessInputEvents 3 mieqProcessInputEvents 2 ProcessPointerEvent 2 CoreProcessPointerEvent 2 CheckMotion 2 XYToWindow 2 XYToWindow 1 SwitchCorePointer 1 SwitchCorePointer 1 read$UNIX2003 1 read$UNIX2003 2314 Thread_2803 2314 _pthread_start 2314 _xp_async_thread 2314 _xp_async_dequeue 2314 _pthread_cond_wait 2314 __semwait_signal 2314 __semwait_signal Total number in stack (recursive counted multiple, when >=5): Sort by top of stack, same collapsed (when >= 5): mach_msg_trap 4611 __semwait_signal 2314 select$DARWIN_EXTSN 2307 Sample analysis of process 5230 written to file /dev/stdout **********