Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

0.9.8 hangs periodically #677

Closed
sequelpro opened this issue Nov 9, 2013 · 104 comments
Closed

0.9.8 hangs periodically #677

sequelpro opened this issue Nov 9, 2013 · 104 comments
Labels
Milestone

Comments

@sequelpro
Copy link
Collaborator

Issue imported from Google Code: https://code.google.com/p/sequel-pro/issues/detail?id=677
Reporter:inspir...@gmail.com Date:2010-05-07 14:44:24 Status:Fixed Closed:2010-07-01

Sorry, I haven't noticed a pattern.

Idling. Long running queries sometimes. I've had to force-kill it 3 times today.

mysql version 5.1.37

thanks for a great product!

@sequelpro
Copy link
Collaborator Author

Author:rowanb@gmail.com Date:2010-05-07 15:38:42

Is there anything in Console.app, if you fire that up and filter by "Sequel Pro"?

Hangs are tricky because we can't capture it very easily. Next time it happens, could you open up Activity
Monitor, select Sequel Pro, and use the "Sample Process" button and allow it to complete before you force quit?

That'll hopefully give us a clue as to what's breaking...

@sequelpro
Copy link
Collaborator Author

Author:inspir...@gmail.com Date:2010-05-07 15:43:17

Yup!

May 7 15:38:23 everybean Sequel Pro[10753]: kCGErrorIllegalArgument: _CGSFindSharedWindow: WID 2002
May 7 15:38:23 everybean Sequel Pro[10753]: kCGErrorIllegalArgument: CGSSetWindowProperty: Invalid
window 0x7d2
May 7 15:38:23 everybean [0x0-0x1f01f0].com.google.code.sequel-pro[10753]: Fri May 7 15:38:23
everybean.local Sequel Pro[10753] <Error>: kCGErrorIllegalArgument: _CGSFindSharedWindow: WID 2002
May 7 15:38:23 everybean Sequel Pro[10753]: kCGErrorIllegalArgument:
CGSAddWindowToWindowOrderingGroup: error setting window property
May 7 15:38:23 everybean [0x0-0x1f01f0].com.google.code.sequel-pro[10753]: Fri May 7 15:38:23
everybean.local Sequel Pro[10753] <Error>: kCGErrorIllegalArgument: CGSSetWindowProperty: Invalid window
0x7d2
May 7 15:38:23 everybean [0x0-0x1f01f0].com.google.code.sequel-pro[10753]: Fri May 7 15:38:23
everybean.local Sequel Pro[10753] <Error>: kCGErrorIllegalArgument:
CGSAddWindowToWindowOrderingGroup: error setting window property
May 7 15:38:23 everybean Sequel Pro[10753]: kCGErrorIllegalArgument: _CGSFindSharedWindow: WID 2002
May 7 15:38:23 everybean Sequel Pro[10753]: kCGErrorIllegalArgument: CGSSetWindowProperty: Invalid
window 0x7d2
May 7 15:38:23 everybean Sequel Pro[10753]: kCGErrorIllegalArgument:
CGSAddWindowToWindowOrderingGroup: error setting window property
May 7 15:38:23 everybean [0x0-0x1f01f0].com.google.code.sequel-pro[10753]: Fri May 7 15:38:23
everybean.local Sequel Pro[10753] <Error>: kCGErrorIllegalArgument: _CGSFindSharedWindow: WID 2002
May 7 15:38:23 everybean [0x0-0x1f01f0].com.google.code.sequel-pro[10753]: Fri May 7 15:38:23
everybean.local Sequel Pro[10753] <Error>: kCGErrorIllegalArgument: CGSSetWindowProperty: Invalid window
0x7d2
May 7 15:38:23 everybean [0x0-0x1f01f0].com.google.code.sequel-pro[10753]: Fri May 7 15:38:23
everybean.local Sequel Pro[10753] <Error>: kCGErrorIllegalArgument:
CGSAddWindowToWindowOrderingGroup: error setting window property
May 7 15:39:44 everybean Sequel Pro[10753]: kCGErrorIllegalArgument: _CGSFindSharedWindow: WID 2002
May 7 15:39:44 everybean [0x0-0x1f01f0].com.google.code.sequel-pro[10753]: Fri May 7 15:39:44
everybean.local Sequel Pro[10753] <Error>: kCGErrorIllegalArgument: _CGSFindSharedWindow: WID 2002
May 7 15:39:44 everybean Sequel Pro[10753]: kCGErrorIllegalArgument: CGSOrderWindowList
May 7 15:39:44 everybean [0x0-0x1f01f0].com.google.code.sequel-pro[10753]: Fri May 7 15:39:44
everybean.local Sequel Pro[10753] <Error>: kCGErrorIllegalArgument: CGSOrderWindowList

some older ones too:

May 4 09:49:32 everybean Sequel Pro[585]: An uncaught exception was raised
May 4 09:49:32 everybean Sequel Pro[585]: * -[NSConcreteTextStorage
attribute:atIndex:longestEffectiveRange:inRange:]: Range or index out of bounds
May 4 09:49:33 everybean Sequel Pro[585]: * Terminating app due to uncaught exception
'NSRangeException', reason: '* -[NSConcreteTextStorage attribute:atIndex:longestEffectiveRange:inRange:]:
Range or index out of bounds'\n
* Call stack at first throw:\n(\n 0 CoreFoundation
0x93780bda __raiseError + 410\n 1 libobjc.A.dylib 0x95a2a509 objc_exception_throw + 56\n
2 CoreFoundation 0x93780908 +[NSException raise:format:arguments:] + 136\n 3
CoreFoundation 0x9378087a +[NSException raise:format:] + 58\n 4 AppKit
0x98cf5088 -[NSConcreteTextStorage attribute:atIndex:longestEffectiveRange:inRange:] + 164\n 5 AppKit
0x98be7f48 -[NSTextView updateFontPanel] + 1100\n 6 AppKit 0x98d2da16 -
[NSTextView(NSSharing) setSelectedRanges:affinity:stillSelecting:] + 4225\n 7 AppKit
0x98d2c8bb -[NSTextView(NSSharing) setSelectedRange:] + 64\n 8 Sequel Pro 0x0000e002 -
[CustomQuery performQueriesTask:] + 6450\n 9 Foundation 0x980fc8dc -[NSThread main]

  • 45\n 10 Foundation 0x980fc88c NSThread__main + 1499\n 11 libSystem.B.dylib
    0x912dba19 _pthread_start + 345\n 12 libSystem.B.dylib 0x912db89e thread_start + 34\n)
    May 4 09:49:36 everybean com.apple.launchd.peruser.501[140]([0x0-0x3b03b].com.google.code.sequel-
    pro[585]): Job appears to have crashed: Trace/BPT trap
    May 4 09:49:37 everybean ReportCrash[4221]: Saved crash report for Sequel Pro[585] version 0.9.7 (1630) to
    /Users/inspire/Library/Logs/DiagnosticReports/Sequel Pro_2010-05-04-094937_everybean.crash
    May 4 09:49:43 everybean GrowlHelperApp[177]: Auto-discovered registration ticket in Sequel Pro (located
    at /Applications/Sequel Pro.app)
    May 4 11:24:22 everybean GrowlHelperApp[314]: Auto-discovered registration ticket in Sequel Pro (located
    at /Applications/Sequel Pro.app)
    May 4 15:57:42 everybean Sequel Pro[846]: Periodic CFURLCache Insert stats (iters: 3281) - Tx
    time:0.031840, # of Inserts: 1, # of bytes written: 11729, Did shrink: NO, Size of cache-file: 229376, Num of
    Failures: 0
    May 5 09:02:20 everybean Sequel Pro[846]: Periodic CFURLCache Insert stats (iters: 5498) - Tx
    time:0.049626, # of Inserts: 9, # of bytes written: 67132, Did shrink: NO, Size of cache-file: 284672, Num of
    Failures: 0
    May 5 09:02:42 everybean [0x0-0x44044].com.google.code.sequel-pro[846]: "disk3" unmounted.
    May 5 09:02:42 everybean [0x0-0x44044].com.google.code.sequel-pro[846]: "disk3" ejected.
    May 5 09:20:58 everybean Sequel Pro[846]: kCGErrorIllegalArgument: _CGSFindSharedWindow: WID 432
    May 5 09:20:58 everybean Sequel Pro[846]: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch
    errors as they are logged.
    May 5 09:20:58 everybean Sequel Pro[846]: kCGErrorIllegalArgument: CGSSetWindowProperty: Invalid window
    0x1b0
    May 5 09:20:58 everybean [0x0-0x44044].com.google.code.sequel-pro[846]: Wed May 5 09:20:58
    everybean.local Sequel Pro[846] <Error>: kCGErrorIllegalArgument: _CGSFindSharedWindow: WID 432
    May 5 09:20:58 everybean Sequel Pro[846]: kCGErrorIllegalArgument:
    CGSAddWindowToWindowOrderingGroup: error setting window property
    May 5 09:20:58 everybean [0x0-0x44044].com.google.code.sequel-pro[846]: Wed May 5 09:20:58
    everybean.local Sequel Pro[846] <Error>: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch
    errors as they are logged.
    May 5 09:20:58 everybean [0x0-0x44044].com.google.code.sequel-pro[846]: Wed May 5 09:20:58
    everybean.local Sequel Pro[846] <Error>: kCGErrorIllegalArgument: CGSSetWindowProperty: Invalid window
    0x1b0

hope it helps!

@sequelpro
Copy link
Collaborator Author

Author:jerome.f...@free.fr Date:2010-05-10 09:50:14

I too have the same problem.

FYI, I only use mysql connections over ssh.
Version 0.9.7 was working fine. No hang no crash. Now v0.9.8 is hanging at least twice a day.

There's nothing in the console that looks suspicious.

For me it looks like it happens when the app is let idle in the background with a ssh connection active.
At some point I switch back to SequelPro to do some work. And sometimes, it starts the beachball of death
and I need to force-quit it.
Note that it doesn't eat processor when hanging.

@sequelpro
Copy link
Collaborator Author

Author:rowanb@gmail.com Date:2010-05-10 09:54:39

Very mysterious. The console log isn't very informative - anyone running into this, please do open up Activity
Monitor, select Sequel Pro, and use the "Sample Process" button and allow it to complete before you force quit.

Then save and post the sample, which will hopefully help track this down.

@sequelpro
Copy link
Collaborator Author

Author:jerome.f...@free.fr Date:2010-05-12 05:18:31

Here you go:
Sampling process 3400 for 3 seconds with 1 millisecond of run time between samples
Sampling completed, processing symbols...
Analysis of sampling Sequel Pro (pid 3400) every 1 millisecond
Call graph:
2543 Thread_19216 DispatchQueue_1: com.apple.main-thread (serial)
2543 start
2543 main
2543 NSApplicationMain
2543 -[NSApplication run]
2543 -[NSApplication sendEvent:]
2543 -[NSWindow sendEvent:]
2543 -[NSControl mouseDown:]
2543 -[NSButtonCell trackMouse:inRect:ofView:untilMouseUp:]
2543 -[NSCell trackMouse:inRect:ofView:untilMouseUp:]
2543 -[NSControl sendAction:to:]
2543 -[NSApplication sendAction:to:from:]
2543 -[TableContent reloadTable:]
2543 -[TableDocument startTaskWithDescription:]
2543 -[YRKSpinningProgressIndicator animate:]
2543 -[NSView displayIfNeeded]
2543 -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:]
2543 -[NSNextStepFrame
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
2543 -[NSView
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
2543 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:]
2543 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:]
2543 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:]
2543 -[NSView recursiveDisplayAllDirtyWithLockFocus:visRect:]
2543 -[NSView drawRect:clip:]
2543 -[NSView(NSLayerKitGlue) drawRectAsLayerTree:]
2543 CA::Transaction::commit()
2543 CA::Context::commit_transaction(CA::Transaction
)
2543 CA::Render::Context::did_commit(bool)
2543 CA::Render::post_notification(CA::Render::NotificationName,
CA::Render::Object
, void
, bool)
2543 view_set_timer(CAView, double)
2543 CACGDisplayLinkSetNextTime
2543 CVDisplayLinkSetPaused
2543 CVDisplayLink::setPaused(bool)
2543 pthread_mutex_lock
2543 semaphore_wait_signal_trap
2543 Thread_19224 DispatchQueue_2: com.apple.libdispatch-manager (serial)
2543 start_wqthread
2543 _pthread_wqthread
2543 _dispatch_worker_thread2
2543 _dispatch_queue_invoke
2543 _dispatch_mgr_invoke
2543 kevent
2543 Thread_19231: JavaScriptCore: FastMalloc scavenger
2543 thread_start
2543 _pthread_start
2543 WTF::TCMalloc_PageHeap::runScavengerThread(void*)
2543 WTF::TCMalloc_PageHeap::scavengerThread()
2543 _pthread_cond_wait
2543 __semwait_signal
2543 Thread_19235
2543 thread_start
2543 _pthread_start
2543 glcDebugListener
2543 mach_msg
2543 mach_msg_trap
2543 Thread_19238
2543 thread_start
2543 _pthread_start
2543 NSThread__main
2543 +[NSURLConnection(NSURLConnectionReallyInternal) _resourceLoadLoop:]
2543 CFRunLoopRunSpecific
2543 __CFRunLoopRun
2543 mach_msg
2543 mach_msg_trap
2543 Thread_19241
2543 thread_start
2543 _pthread_start
2543 __CFSocketManager
2543 select$DARWIN_EXTSN
2543 Thread_19242
2543 thread_start
2543 _pthread_start
2543 NSThread__main
2543 -[NSConnection run]
2543 CFRunLoopRunSpecific
2543 CFRunLoopRun
2543 mach_msg
2543 mach_msg_trap
2543 Thread_19243
2543 thread_start
2543 _pthread_start
2543 __NSThread__main

2543 -[SPSSHTunnel launchTask:]
2543 -[NSConcreteTask waitUntilExit]
2543 CFRunLoopRunSpecific
2543 CFRunLoopRun
2541 mach_msg
2541 mach_msg_trap
1 mach_port_extract_member
1 mach_msg
1 mach_msg_trap
1 mk_timer_destroy
2543 Thread_41786
2543 thread_start
2543 _pthread_start
2543 __NSThread__main

2543 -[NSConnection run]
2543 CFRunLoopRunSpecific
2543 CFRunLoopRun
2543 mach_msg
2543 mach_msg_trap
2543 Thread_41787
2543 thread_start
2543 _pthread_start
2543 __NSThread__main

2543 -[SPSSHTunnel launchTask:]
2543 -[NSConcreteTask waitUntilExit]
2543 CFRunLoopRunSpecific
2543 __CFRunLoopRun
2540 mach_msg
2540 mach_msg_trap
1 mach_port_extract_member
1 mach_msg
1 mach_msg_trap
1 mk_timer_arm
1 mk_timer_destroy
1281 Thread_50641
1281 start_wqthread
1281 _pthread_wqthread
1281 __workq_kernreturn
1262 Thread_50766
1262 start_wqthread
1262 _pthread_wqthread
1262 __workq_kernreturn

Total number in stack (recursive counted multiple, when >=5):
8 _pthread_start
8 mach_msg
8 mach_msg_trap
8 thread_start
5 CFRunLoopRunSpecific
5 __CFRunLoopRun
5 NSThread__main

Sort by top of stack, same collapsed (when >= 5):
mach_msg_trap 15255
__semwait_signal 2543
__workq_kernreturn 2543
kevent 2543
select$DARWIN_EXTSN 2543
semaphore_wait_signal_trap 2543
Sample analysis of process 3400 written to file /dev/stdout

@sequelpro
Copy link
Collaborator Author

Author:rowanb@gmail.com Date:2010-05-12 06:35:11

Hi Jerome,

That's very helpful actually - did that then freeze completely?

This looks like it might be something that was addressed in r2216. Is there any chance you could the latest
(r2224) nightly build for a few days, from http://nightly.sequelpro.com/ , and see if that addresses the issue?
We don't normally recommend the use of nightlies with production data, as they represent development code ad
aren't as widely tested, but at present we believe most functionality is more stable than 0.9.8.

@sequelpro
Copy link
Collaborator Author

Author:jerome.f...@free.fr Date:2010-05-17 01:21:22

Installed r2224, and got the same issue.
Just after running a request, when the overlay spinning wheel gets displayed in Sequel Pro, I got the beachball cursor. The application hung.

I fetched a sample from Activity Monitor :

Sampling process 2960 for 3 seconds with 1 millisecond of run time between samples
Sampling completed, processing symbols...
Analysis of sampling Sequel Pro (pid 2960) every 1 millisecond
Call graph:
2572 Thread_76326 DispatchQueue_1: com.apple.main-thread (serial)
2572 start
2572 main
2572 NSApplicationMain
2572 -[NSApplication run]
2572 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
2572 _DPSNextEvent
2572 BlockUntilNextEventMatchingListInMode
2572 ReceiveNextEventCommon
2572 RunCurrentEventLoopInMode
2572 CFRunLoopRunSpecific
2572 __CFRunLoopRun
2572 __CFRunLoopDoObservers
2572 _handleWindowNeedsDisplay
2572 -[NSNextStepFrame displayIfNeeded]
2572 -[NSView displayIfNeeded]
2572 -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:]
2572 -[NSNextStepFrame
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
2572 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
2572 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
2572 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
2572 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
2572 -[NSView recursiveDisplayAllDirtyWithLockFocus:visRect:]
2572 -[NSView drawRect:clip:]
2572 -[NSView(NSLayerKitGlue) drawRectAsLayerTree:]
2572 CA::Transaction::commit()
2572 CA::Context::commit_transaction(CA::Transaction
)
2572 CA::Render::Context::did_commit(bool)
2572 CA::Render::post_notification(CA::Render::NotificationName, CA::Render::Object
, void
, bool)
2572 view_set_timer(CAView, double)
2572 CACGDisplayLinkSetNextTime
2572 CVDisplayLinkSetPaused
2572 CVDisplayLink::setPaused(bool)
2572 pthread_mutex_lock
2572 semaphore_wait_signal_trap
2572 Thread_76335 DispatchQueue_2: com.apple.libdispatch-manager (serial)
2572 start_wqthread
2572 _pthread_wqthread
2572 _dispatch_worker_thread2
2572 _dispatch_queue_invoke
2572 _dispatch_mgr_invoke
2572 kevent
2572 Thread_76340: JavaScriptCore: FastMalloc scavenger
2572 thread_start
2572 _pthread_start
2572 WTF::TCMalloc_PageHeap::runScavengerThread(void*)
2572 WTF::TCMalloc_PageHeap::scavengerThread()
2572 _pthread_cond_wait
2572 __semwait_signal
2572 Thread_76346
2572 thread_start
2572 _pthread_start
2572 glcDebugListener
2572 mach_msg
2572 mach_msg_trap
2572 Thread_76347
2572 thread_start
2572 _pthread_start
2572 NSThread__main
2572 +[NSURLConnection(NSURLConnectionReallyInternal) _resourceLoadLoop:]
2572 CFRunLoopRunSpecific
2572 __CFRunLoopRun
2572 mach_msg
2572 mach_msg_trap
2572 Thread_76352
2572 thread_start
2572 _pthread_start
2572 __CFSocketManager
2572 select$DARWIN_EXTSN
2572 Thread_76354
2572 thread_start
2572 _pthread_start
2572 NSThread__main
2572 -[NSConnection run]
2572 CFRunLoopRunSpecific
2572 CFRunLoopRun
2572 mach_msg
2572 mach_msg_trap
2572 Thread_76355
2572 thread_start
2572 _pthread_start
2572 __NSThread__main

2572 -[SPSSHTunnel launchTask:]
2572 -[NSConcreteTask waitUntilExit]
2572 CFRunLoopRunSpecific
2572 __CFRunLoopRun
2572 mach_msg
2572 mach_msg_trap
2572 Thread_78166
2572 start_wqthread
2572 _pthread_wqthread
2572 __workq_kernreturn

Total number in stack (recursive counted multiple, when >=5):
6 _pthread_start
6 thread_start

Sort by top of stack, same collapsed (when >= 5):
mach_msg_trap 10288
__semwait_signal 2572
__workq_kernreturn 2572
kevent 2572
select$DARWIN_EXTSN 2572
semaphore_wait_signal_trap 2572
Sample analysis of process 2960 written to file /dev/stdout

@sequelpro
Copy link
Collaborator Author

Author:rowanb@gmail.com Date:2010-05-17 02:26:11

Jerome,

Thanks for the update. Looks like it's hanging at the end of a Core Animation (eg fading the progress view in, I
assume), but I can't see any possible reason for that now - it's all happening neatly on the main thread. Will look
further at this tonight...

@sequelpro
Copy link
Collaborator Author

Author:rowanb@gmail.com Date:2010-05-17 02:28:18

By the way - earlier you said it was when the application had been in the background for a while, eg the
connection may have gone inactive while in the background? Is that still when it's happening, or does it happen
during normal use? (Is the connection lost dialog displaying?)

Do you have multiple windows open when this happens? Is the progress actually displaying? And is this in the
Content view, or another view?

@sequelpro
Copy link
Collaborator Author

Author:inspir...@gmail.com Date:2010-05-17 10:45:29

In my case there was no transaction processing. It was likely that the connection had timed out, however no
'connection lost' dialog would appear.

I usually cmd+h to hide sequel pro while I'm working in other windows, so perhaps its related to attempting to
show a popup from a hidden application for me. Didn't happen before this upgrade though. I downgraded back
to .9.7 and have had no problems again.

Sounds like my report may be different from the others after all

@sequelpro
Copy link
Collaborator Author

Author:jerome.f...@free.fr Date:2010-05-18 00:38:17

OK. New hang.

I had only one window opened. It's a connection to mySQL via a SSH tunnel.
I looked at the contents of a table using the filter.
Double clicked on a cell to copy its contents. Dismissed the edition of the cell with the ESC key.
Left Sequel Pro opened (did not hide it either).
Came back to Sequel Pro 30 seconds later, and tried to hide it.
Got the spinning-wheel-of-death...

Note that the sampling below show that a NSTask was running. I don't know if there's a request sent when one dismisses the edition of a cell, but
there is, this request should have been finished by the time I came back to Sequel Pro after pressing the ESC key.

If you want me to test a debug version of Sequel Pro with tons of logs, feel free to send me one.

Sampling process 463 for 3 seconds with 1 millisecond of run time between samples
Sampling completed, processing symbols...
Analysis of sampling Sequel Pro (pid 463) every 1 millisecond
Call graph:
2604 Thread_5550 DispatchQueue_1: com.apple.main-thread (serial)
2604 start
2604 main
2604 NSApplicationMain
2604 -[NSApplication run]
2604 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
2604 DPSNextEvent
2604 SendEventToEventTarget
2604 SendEventToEventTargetInternal(OpaqueEventRef
, OpaqueEventTargetRef_, HandlerCallRec_)
2604 DispatchEventToHandlers(EventTargetRec_, OpaqueEventRef_, HandlerCallRec_)
2604 _hideShowHandler
2604 -[NSApplication _doHide]
2604 -[NSWindow _tempHide:relWin:]
2604 -[NSWindow _hideAttachedWindows:findKey:]
2604 -[NSWindow _hideChildren]
2604 -[NSWindow orderWindow:relativeTo:]
2604 -[NSWindow _reallyDoOrderWindow:relativeTo:findKey:forCounter:force:isModal:]
2604 -[NSNotificationCenter postNotificationName:object:userInfo:]
2604 _CFXNotificationPostNotification
2604 __CFXNotificationPost
2604 _nsnote_callback
2604 -[NSView(NSInternal) _updateLayerTreeRenderer]
2604 CAViewUpdate
2604 CACGDisplayLinkRelease
2604 _CFRelease
2604 CVCGDisplayLink::finalize()
2604 CVDisplayLink::stop()
2604 CVDisplayLink::setPaused(bool)
2604 pthread_mutex_lock
2604 semaphore_wait_signal_trap
2604 Thread_5560 DispatchQueue_2: com.apple.libdispatch-manager (serial)
2604 start_wqthread
2604 _pthread_wqthread
2604 _dispatch_worker_thread2
2604 _dispatch_queue_invoke
2604 _dispatch_mgr_invoke
2604 kevent
2604 Thread_5565: JavaScriptCore: FastMalloc scavenger
2604 thread_start
2604 _pthread_start
2604 WTF::TCMalloc_PageHeap::runScavengerThread(void*)
2604 WTF::TCMalloc_PageHeap::scavengerThread()
2604 _pthread_cond_wait
2604 __semwait_signal
2604 Thread_5573
2604 thread_start
2604 _pthread_start
2604 glcDebugListener
2604 mach_msg
2604 mach_msg_trap
2604 Thread_5576
2604 thread_start
2604 _pthread_start
2604 NSThread__main
2604 -[NSConnection run]
2604 CFRunLoopRunSpecific
2604 CFRunLoopRun
2604 mach_msg
2604 mach_msg_trap
2604 Thread_5577
2604 thread_start
2604 _pthread_start
2604 __NSThread__main

2604 -[SPSSHTunnel launchTask:]
2604 -[NSConcreteTask waitUntilExit]
2604 CFRunLoopRunSpecific
2604 __CFRunLoopRun
2600 mach_msg
2600 mach_msg_trap
4 mach_port_extract_member
4 mach_msg
4 mach_msg_trap
2366 Thread_7996
2366 start_wqthread
2366 _pthread_wqthread
2366 __workq_kernreturn
238 Thread_8031
238 start_wqthread
238 _pthread_wqthread
238 __workq_kernreturn

Total number in stack (recursive counted multiple, when >=5):

Sort by top of stack, same collapsed (when >= 5):
mach_msg_trap 7812
__semwait_signal 2604
__workq_kernreturn 2604
kevent 2604
semaphore_wait_signal_trap 2604
Sample analysis of process 463 written to file /dev/stdout

@sequelpro
Copy link
Collaborator Author

Author:rowanb@gmail.com Date:2010-05-18 02:58:58

It's definitely a problem somewhere in drawing code - in this case, it's trying to hide the window, going through
the "child windows" (which we use for the progress spinner), and then blocking deep within Core Animation on
the progress spinner.

The NSTask you mention is just used for the SSH tunnel - similarly the NSConnection thread is associated with
that.

I'm afraid we probably will have to send you a debug build - I'm afraid I'm out tonight though - tomorrow.

@sequelpro
Copy link
Collaborator Author

Author:rowanb@gmail.com Date:2010-05-27 03:06:10

Hi guys,

Thanks for your patience.

I'd appreciate it if anyone running into this problem try the attached build of Sequel Pro; it's 0.9.8 with an
animation process removed, and if this is more stable it'll narrow down the problem.

Thanks!

@sequelpro
Copy link
Collaborator Author

Author:jerome.f...@free.fr Date:2010-06-03 23:55:48

I'm afradi the test build of 0.9.8 does not fix the issue. I'm still experiencing hangs

@sequelpro
Copy link
Collaborator Author

Author:sgrosm...@gmail.com Date:2010-06-11 10:34:28

Here's a dump from the test build:

Sampling process 26320 for 3 seconds with 1 millisecond of run time between samples
Sampling completed, processing symbols...
Analysis of sampling Sequel Pro (pid 26320) every 1 millisecond
Call graph:
2498 Thread_1510249 DispatchQueue_1: com.apple.main-thread (serial)
2498 start
2498 main
2498 NSApplicationMain
2498 -[NSApplication run]
2498 -[NSApplication sendEvent:]
2498 -[NSWindow sendEvent:]
2498 -[NSTableView mouseDown:]
2498 -[NSTableView _enableSelectionPostingAndPost]
2498 -[NSNotificationCenter postNotificationName:object:userInfo:]
2498 _CFXNotificationPostNotification
2498 __CFXNotificationPost
2498 _nsnote_callback
2498 -[TablesList tableViewSelectionDidChange:]
2498 -[TablesList updateSelectionWithTaskString:]
2498 -[TableDocument startTaskWithDescription:]
2498 -[YRKSpinningProgressIndicator animate:]
2498 -[NSView displayIfNeeded]
2498 -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:]
2498 -[NSNextStepFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
2498 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
2498 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:]
2498 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:]
2498 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:]
2498 -[NSView recursiveDisplayAllDirtyWithLockFocus:visRect:]
2498 -[NSView drawRect:clip:]
2498 -[NSView(NSLayerKitGlue) drawRectAsLayerTree:]
2498 CA::Transaction::commit()
2498 CA::Context::commit_transaction(CA::Transaction
)
2498 CA::Render::Context::did_commit(bool)
2498 CA::Render::post_notification(CA::Render::NotificationName, CA::Render::Object
, void
, bool)
2498 view_set_timer(CAView, double)
2498 CACGDisplayLinkSetNextTime
2498 CVDisplayLinkSetPaused
2498 CVDisplayLink::setPaused(bool)
2498 pthread_mutex_lock
2498 semaphore_wait_signal_trap
2498 Thread_1510273 DispatchQueue_2: com.apple.libdispatch-manager (serial)
2498 start_wqthread
2498 _pthread_wqthread
2498 _dispatch_worker_thread2
2498 _dispatch_queue_invoke
2498 _dispatch_mgr_invoke
2498 kevent
2498 Thread_1510275: JavaScriptCore: FastMalloc scavenger
2498 thread_start
2498 _pthread_start
2498 WTF::TCMalloc_PageHeap::runScavengerThread(void*)
2498 WTF::TCMalloc_PageHeap::scavengerThread()
2498 _pthread_cond_wait
2498 __semwait_signal
2498 Thread_1510280
2498 thread_start
2498 _pthread_start
2498 NSThread__main
2498 +[NSURLConnection(NSURLConnectionReallyInternal) _resourceLoadLoop:]
2498 CFRunLoopRunSpecific
2498 __CFRunLoopRun
2498 mach_msg
2498 mach_msg_trap
2498 Thread_1510283
2498 thread_start
2498 _pthread_start
2498 __CFSocketManager
2498 select$DARWIN_EXTSN
2498 Thread_1510569
2498 start_wqthread
2498 _pthread_wqthread
2498 __workq_kernreturn

Total number in stack (recursive counted multiple, when >=5):

Sort by top of stack, same collapsed (when >= 5):
__semwait_signal 2498
__workq_kernreturn 2498
kevent 2498
mach_msg_trap 2498
select$DARWIN_EXTSN 2498
semaphore_wait_signal_trap 2498
Sample analysis of process 26320 written to file /dev/stdout

@sequelpro
Copy link
Collaborator Author

Author:justin.m...@gmail.com Date:2010-06-11 11:59:25

i believe i'm getting the exact same issue, i tunnel mysql over SSH and it randomly gets the spin wheel usually when i come back to it.

@sequelpro
Copy link
Collaborator Author

Author:justin.m...@gmail.com Date:2010-06-11 12:01:48

i'd be willing to provide an ssh and mysql account on my server for testing if it helps.

@sequelpro
Copy link
Collaborator Author

Author:rowanb@gmail.com Date:2010-06-14 09:23:51

Hi to anybody running into this issue, and a little update:

This appears to be a problem deep within the window drawing code in the system frameworks. This doesn't necessarily mean it's Apple's fault - we may be setting something up incorrectly. The issues all relate to internal drawing code locking on some condition we can't see; it appears one or two other projects (eg the Google QuickSearch box) are running into the same problem, and it's very hard to pin down. I don't believe it's related to any connection settings, although if it is (eg only occurs for SSH?) that'd be enormously helpful.

Anyone who is running into this: please do continue to post your traces, and also a comment indicating roughly how often you run into the problem (vs how often you use Sequel Pro), together with any steps that you've found to trigger this problem. If we find a way to reproduce this code, that'd be 90% of the way to fixing it!

For example, I use Sequel Pro for bursts of five minutes throughout the day, and for longer periods in the evening when testing. I've run into this issue approximately once a week, usually when switching windows or applications, but not doing anything particular within those windows.

@sequelpro
Copy link
Collaborator Author

Author:justin.m...@gmail.com Date:2010-06-15 20:36:09

just wanted to comment that my previous comment about the nightly not fixing it might not be true, it turns out I was still running the release version. I haven't experience the lockup issue with the nightly so far on two different machines and this was for about 4 hours of total use which some application switching/hiding.

i'll report back if i run into it or by next week, i usually end up working in MySQL DB's for 20 hours/week.

@sequelpro
Copy link
Collaborator Author

Author:jerome.f...@free.fr Date:2010-06-18 09:15:45

I've been running v0.9.8 build 2210 for a couple of weeks now (this is the test build that's been sent by rowanb on May 27th).

I've experienced the same hangs as before with this test build. But I continued to use it on a daily basis.

I've now upgraded my system to 10.6.4.
And since then I no longer experience hangs....
I use Sequel Pro the very same way I used it before upgrading to 10.6.4 : always with SSH tunnel, Sequel Pro being opened 12h a day. Usually it was hanging at least twice a day.

Just a coincidence ?
What do you think ?

@sequelpro
Copy link
Collaborator Author

Author:rowanb@gmail.com Date:2010-06-18 09:18:25

Very interesting, Jerome!

I had been starting to suspect a CoreVideo/CoreAnimation issue for child windows - I hadn't pinned it down yet. It would well be something they've fixed in 10.6.4; but let's wait a little longer before we assume that!

Do report back next week :)

@sequelpro
Copy link
Collaborator Author

Author:justin.m...@gmail.com Date:2010-06-20 15:33:20

I hadn't noticed happening with 10.6.4 and the latest nightly and was hoping it was fixed, however it just did it after I switched back to Sequel Pro after working with Textmate and leaving it alone for 5-10 minutes. I'm attaching a process sample and a crash report.

my offer to provide an ssh account and mysql account to my offer still stands for anyone that wants to debug this.

@sequelpro
Copy link
Collaborator Author

Author:justin.m...@gmail.com Date:2010-06-20 19:42:12

Just had another lockup, however this one happened the moment I switched back into Sequel Pro from Textmate, however the lockup didn't happen instantly. When I switched back to Sequel Pro, i was able to create a new table and save and then the lockup happened. I've attached a process sample.

@sequelpro
Copy link
Collaborator Author

Author:jerome.f...@free.fr Date:2010-07-02 05:42:51

I just installed the latest build 2389 today, in hope....
Unfortunately, it hanged :o(
Sequel Pro was idle for a lot of time (been putting my Mac to sleep for lunch). Then I switched back to it. I had the opportunity to write a request, then I press Run, and immediately got the spinning wheel of death....`
The nice progress indicator that's been implemented in 0.9.8 didn't show up. Dunno if that's of any help.

He's the process sample. Good luck !

@sequelpro
Copy link
Collaborator Author

Author:jerome.f...@free.fr Date:2010-07-02 05:43:18

I just installed the latest build 2389 today, in hope....
Unfortunately, it hanged :o(
Sequel Pro was idle for a lot of time (been putting my Mac to sleep for lunch). Then I switched back to it. I had the opportunity to write a request, then I press Run, and immediately got the spinning wheel of death....`
The nice progress indicator that's been implemented in 0.9.8 didn't show up. Dunno if that's of any help.

He's the process sample. Good luck !

@sequelpro
Copy link
Collaborator Author

Author:rowanb@gmail.com Date:2010-07-05 16:40:45

OK all - apologies that this is taking so long to track down; I haven't been able to trigger this for a couple of weeks.

Something that may help - I've put together two builds which remove two things:

  1. All view animations which might invoke a Core Animation transation
  2. All CALayer uses (mostly due to the large progress indicator).

This will hopefully prove to be more stable, and if it is we can slowly restore appearance tweaks to pin down the issues.

There are two builds available - one tweaked version of 0.9.8, and one tweaked version of a recent nightly build (r2421).

Let me know how it goes...

@sequelpro
Copy link
Collaborator Author

Author:justin.m...@gmail.com Date:2010-07-08 05:35:36

so far the nightly-noCA build hasn't crashed at all, it's been running for almost 24 hours without quitting.

@sequelpro
Copy link
Collaborator Author

Author:rowanb@gmail.com Date:2010-07-08 05:38:56

Thanks for the update! I assume you normally run into it much more often than that?

Let's give it a couple of days longer to make sure, and then I'll add another build which re-enables one piece of functionality I'm starting to suspect.

@sequelpro
Copy link
Collaborator Author

Author:justin.m...@gmail.com Date:2010-07-08 05:55:30

It usually doesn't last more than an hour, I'll keep it going and report back in a few days.

@sequelpro
Copy link
Collaborator Author

Author:rowanb@gmail.com Date:2010-07-08 06:00:47

An hour!! Apologies, I didn't realise it was affecting anyone quite so often. The upside is that that'll make it much easier to isolate a fix/workaround - though I'm sure that's no real consolation ;)

@sequelpro
Copy link
Collaborator Author

Author:jerome.f...@free.fr Date:2010-07-25 02:19:30

Ouch. Just got a hang with CAalpha3
Attached is the process sample.

Here's exactly what I did before it hung:

  • I had the contents of a table displayed. With a filter activated
  • double-clicked in a row to modify its contents
  • hit enter to validate the change
  • and immediately type command+H to hide the application
  • no transparent progress indicator has been displayed
  • the application did not hide
  • the spinning wheel of dead came a second later

Hope this helps

@sequelpro
Copy link
Collaborator Author

Author:jerome.f...@free.fr Date:2010-07-25 02:19:58

Better if I actually attach the file. Ain't it ?

@sequelpro
Copy link
Collaborator Author

Author:rowanb@gmail.com Date:2010-07-25 04:55:14

Aargh :) Thanks both for the continued testing.

These later stacktraces are subtly different - they're crashes when drawing a layer, not when committing a core animation transaction. It's increasingly looking like Core Animation in any form in child windows is causing this hang; now that the fade is rewritten, it's the layer-backed view (for shadows) that is still at fault. The combination of both seems to be much worse than either individually.

So the next logical step is to remove the layer backing from the views, and do that drawing ourselves as well. Watch this space...

@sequelpro
Copy link
Collaborator Author

Author:rowanb@gmail.com Date:2010-07-25 06:46:49

This version - again, a tweaked nightly - replaces all the layer-backed views with manual drawing. This has the rather pleasant side effect that this build no longer triggers discrete graphics chips in latest-gen laptops.

http://dev.sequelpro.com/uploads/sequel-pro-nightly-CAalpha4.dmg

Once again, fingers crossed.

(Also: those of you running into crashes, had you used tabs? If yes, writing up this bug for Apple may be a little more complex: please let me know!)

@sequelpro
Copy link
Collaborator Author

Author:jerome.f...@free.fr Date:2010-07-25 07:41:31

Tabs ? no

I wasn't even aware that Sequel Pro had tabs. Damned pretty nice !

@sequelpro
Copy link
Collaborator Author

Author:rowanb@gmail.com Date:2010-07-25 07:55:22

Good, that simplifies things!

(0.9.8 doesn't have tabs anyway - added to the nightlies not so long ago - but various code paths that you're testing have all changed as a result)

@sequelpro
Copy link
Collaborator Author

Author:fla...@gmail.com Date:2010-07-25 08:33:15

Haven't been using tabs (since the goal is usually to have two windows side-by-side for comparison.)

@sequelpro
Copy link
Collaborator Author

Author:rdsh...@gmail.com Date:2010-07-27 06:59:38

I just had it hang using CAbuild4. The sample process result is attached.

@sequelpro
Copy link
Collaborator Author

Author:rowanb@gmail.com Date:2010-07-27 07:12:21

Robert - thanks for the report. This sample is completely different to the others (which is a good thing!), but curiously I can't see anything in here that looks like a hang cause. In fact, the sample looks perfectly normal, as if it's drawing only part of the time.

Was this a beachballing hang, or was it a different type of hang - where the task window stayed up, but the task never completed but the window controls stayed disabled?

@sequelpro
Copy link
Collaborator Author

Author:rdsh...@gmail.com Date:2010-07-27 07:28:01

Interesting. This wasn't a beachballing hang - SequelPro was trying to load a table (not that large in terms of rows / columns) and the loading task window came up and didn't go away, nor did the table actually load.

@sequelpro
Copy link
Collaborator Author

Author:rowanb@gmail.com Date:2010-07-27 07:31:11

Oh phew! That is a slightly different problem - I think I've fixed that problem for imports, but not for table loading yet. Basically, some problem - usually connection related - causes the load to abort, but does so in a messy way so that the task doesn't complete.

This is definitely on our radar, but is thankfully separate from this issue :)

@sequelpro
Copy link
Collaborator Author

Author:rdsh...@gmail.com Date:2010-07-28 01:35:27

Great - glad to hear that this is a clear improvement. I'll let you know if I run into any other issues with CAbuild4. Please let me know if there's a new build around this issue that I should be testing for you. Thanks!

@sequelpro
Copy link
Collaborator Author

Author:rowanb@gmail.com Date:2010-07-28 18:04:49

Has anyone else been using CAbuild4, and if so have you run into the hang? I'm hoping that no news is good news :)

@sequelpro
Copy link
Collaborator Author

Author:justin.m...@gmail.com Date:2010-07-28 19:10:45

sadly I haven't had the chance since I've been doing a ton of non-database related work. tomorrow i'll be back in the database world and i'll report back.

@sequelpro
Copy link
Collaborator Author

Author:sgrosm...@gmail.com Date:2010-07-29 06:04:01

I'm in Flash mode for the next couple of days, but I'll run it in the background and move though the UI when I can remember to.

@sequelpro
Copy link
Collaborator Author

Author:justin.m...@gmail.com Date:2010-07-29 09:43:22

I installed CAalpha4 build 4 hours ago and have been using it casually and it hasn't crashed yet. Crashes tend to happen in the first hour so I would say this one is good.

@sequelpro
Copy link
Collaborator Author

Author:rowanb@gmail.com Date:2010-07-30 14:12:43

Any further feedback?

Based on the positive responses so far, I think it's looking good (fingers crossed), so will commit to trunk soon - and that means we can probably go 0.9.8.1 this weekend :)

@sequelpro
Copy link
Collaborator Author

Author:justin.m...@gmail.com Date:2010-07-30 19:04:27

still good so far, no crashes, haven't quit CAalpha4 build for over 48 hours.

@sequelpro
Copy link
Collaborator Author

Author:rdsh...@gmail.com Date:2010-07-31 13:06:27

After that first (apparently unrelated) hang, CAbuild4 has been running smoothly.

@sequelpro
Copy link
Collaborator Author

Author:rowanb@gmail.com Date:2010-07-31 15:37:15

I've committed the fix for this to trunk in r2482. You have no idea how incredibly glad I am that this bug is fixed - it's been incredibly frustrating :)

Jerome, Justin, inspire22, sgrosmark, Ted, Robert, Adam: many, many thanks for all your testing and feedback on this. Without you guys, this would never have been fixed as I simply wasn't able to reproduce it.

We'll get working on a 0.9.8.1 so everyone can benefit from this.

Thanks again all :D

@sequelpro
Copy link
Collaborator Author

Author:jerome.f...@free.fr Date:2010-08-18 03:29:10

Back from holidays....
Many many thanks for the 0.9.8.1 version. Sequel Pro is now working perfectly, all day long.
Congratulations ! and keep up the good work !
Chears,

@sequelpro
Copy link
Collaborator Author

Author:justin.m...@gmail.com Date:2010-08-18 13:27:17

So i'm using 0.9.8.1 Build 2492 and I had a lockup that seemed to be the same thing, happened after I quickly switched back in, I've uploaded a process sample.

@sequelpro
Copy link
Collaborator Author

Author:rowanb@gmail.com Date:2010-08-18 13:54:01

Justin,

You almost gave me a heart attack there :)

While the symptoms were very similar, the cause appears to be quite different - I've logged this as Issue #792 .

As always, thanks :)

@sequelpro
Copy link
Collaborator Author

Author:sergiopi...@gmail.com Date:2010-08-31 07:07:55

OSX 10.5.8 - Mysql 5.0 and/or 5.1 - Sequel Pro 0.9.8.1 - Often freeze (with kill process needed) running query for this reason:

8/31/10 3:57:16 PM Sequel Pro[61535] *** -[NSLock lock]: deadlock (<NSLock: 0x1613b6b0> '(null)')

It happens frequently.

@sequelpro
Copy link
Collaborator Author

Author:rowanb@gmail.com Date:2010-08-31 07:11:56

sergiopiero,

That looks to be a separate issue, and is quite possibly 10.5.8-only.

Is there any chance you could sample Sequel Pro next time it happens, and post as a new issue?

Thanks :)

This was referenced Nov 9, 2013
@barracuda156
Copy link

Author:rowanb@gmail.com Date:2010-07-31 15:37:15

I've committed the fix for this to trunk in r2482. You have no idea how incredibly glad I am that this bug is fixed - it's been incredibly frustrating :)

Jerome, Justin, inspire22, sgrosmark, Ted, Robert, Adam: many, many thanks for all your testing and feedback on this. Without you guys, this would never have been fixed as I simply wasn't able to reproduce it.

We'll get working on a 0.9.8.1 so everyone can benefit from this.

Thanks again all :D

@sequelpro Oh, the link is dead now. What was the fix?

@JamesVanWaza
Copy link

@barracuda156 use https://github.com/Sequel-Ace/Sequel-Ace as Sequel Pro is no longer updated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants