[Xquartz-dev] xterm original window hangs after launching and closing another xterm window
Scott Johnson
sjohnson.imi at gmail.com
Tue Aug 5 12:55:14 PDT 2008
On Tue, Aug 5, 2008 at 3:43 PM, Jeremy Huddleston <jeremyhu at 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
**********
More information about the Xquartz-dev
mailing list