Author Topic: System Hang when Saving XISF  (Read 3126 times)

Offline sixburg

  • Member
  • *
  • Posts: 63
System Hang when Saving XISF
« on: 2016 June 29 12:04:25 »
This was originally connected to another similar thread. 

The issue:  Pixinsight hangs when saving files
How to replicate:  Open a file, save as .XISF, press enter before the next dialog appears
Result:  Pixinsight hangs (must Force Quit...changes lost)
How to avoid:  Wait for the dialog to fully display (but in the heat of the moment fingers often move more quickly)

Can see here: https://www.dropbox.com/s/xa1hc9ezzsllz65/PI%20Freeze%20on%20Save.mov?dl=0

Happens under MAC OSX El Capitan, PI  01.08.04.1195

-Lloyd



Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 7111
    • http://pixinsight.com/
Re: System Hang when Saving XISF
« Reply #1 on: 2016 July 01 00:46:38 »
I cannot reproduce this issue on the two iMac machines I have at hand now (one with OS X 10.10 and another one with 10.11, up-to-date), and I really use my fingers fast (the dialogs are not shown).

I have no idea why this happens on some machines. Sorry for the inconvenience. Try to cool down things a little when you save an image for now, and let's hope this gets fixed "automagically" when we release a new version next Fall.
Juan Conejero
PixInsight Development Team
http://pixinsight.com/

Offline sixburg

  • Member
  • *
  • Posts: 63
Re: System Hang when Saving XISF
« Reply #2 on: 2016 July 01 06:56:16 »
Thanks, Juan.  I've slowed down for the most part ;-)  Sometimes I get going so fast and bang!!!  Clear skies.

-Lloyd

Offline pfile

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 4729
Re: System Hang when Saving XISF
« Reply #3 on: 2016 September 05 01:10:55 »
i am seeing this as well, however, i just triggered it by accidentally specifying an invalid view name when trying to do ChannelCombination. had to force quit PI, opened the files again (maybe not necessary) and misspelled the name again. first two times the invalid filename dialog came up and i dismissed it with a click; the third time when i dismissed it with a click, the UI hung up. the console is stuck right before it would have printed "<* failed *>". it seems very repeatable.

when the UI is stuck, the backtrace of the main thread looks like this:

Code: [Select]

* thread #1: tid = 0x5521f8, 0x00007fff99db8f72 libsystem_kernel.dylib`mach_msg_trap + 10, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
  * frame #0: 0x00007fff99db8f72 libsystem_kernel.dylib`mach_msg_trap + 10
    frame #1: 0x00007fff99db83b3 libsystem_kernel.dylib`mach_msg + 55
    frame #2: 0x00007fff8d0a11c4 CoreFoundation`__CFRunLoopServiceMachPort + 212
    frame #3: 0x00007fff8d0a068c CoreFoundation`__CFRunLoopRun + 1356
    frame #4: 0x00007fff8d09fed8 CoreFoundation`CFRunLoopRunSpecific + 296
    frame #5: 0x00007fff9a125935 HIToolbox`RunCurrentEventLoopInMode + 235
    frame #6: 0x00007fff9a12576f HIToolbox`ReceiveNextEventCommon + 432
    frame #7: 0x00007fff9a1255af HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 71
    frame #8: 0x00007fff94820df6 AppKit`_DPSNextEvent + 1067
    frame #9: 0x00007fff94820226 AppKit`-[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 454
    frame #10: 0x0000000112f34750 libqcocoa.dylib`___lldb_unnamed_function439$$libqcocoa.dylib + 2176
    frame #11: 0x000000010e1f637c QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 412
    frame #12: 0x000000010d40a84a QtWidgets`QDialog::exec() + 522
    frame #13: 0x000000010928f7a8 PixInsight`___lldb_unnamed_function1222$$PixInsight + 1208
    frame #14: 0x0000000127729d38 ColorSpaces-pxm.dylib`pcl::MessageBox::Execute() + 120
    frame #15: 0x0000000127720bb7 ColorSpaces-pxm.dylib`pcl::Exception::Show() const + 4407
    frame #16: 0x0000000127733ba3 ColorSpaces-pxm.dylib`pcl::ProcessContextDispatcher::ExecuteProcessGlobal(void*) + 195
    frame #17: 0x0000000109ec8e47 PixInsight`___lldb_unnamed_function12703$$PixInsight + 55
    frame #18: 0x0000000109eed0ee PixInsight`___lldb_unnamed_function12996$$PixInsight + 142
    frame #19: 0x000000010928fb01 PixInsight`___lldb_unnamed_function1223$$PixInsight + 273
    frame #20: 0x000000012773f7ed ColorSpaces-pxm.dylib`pcl::InterfaceDispatcher::ApplyInstanceGlobal(void*) + 29
    frame #21: 0x0000000109f244a9 PixInsight`___lldb_unnamed_function13217$$PixInsight + 121
    frame #22: 0x000000010e2293e9 QtCore`QMetaObject::activate(QObject*, int, int, void**) + 2953
    frame #23: 0x000000010d5b4f80 QtWidgets`QAbstractButton::clicked(bool) + 64
    frame #24: 0x000000010d304fea QtWidgets`___lldb_unnamed_function1045$$QtWidgets + 58
    frame #25: 0x000000010d304e57 QtWidgets`___lldb_unnamed_function1043$$QtWidgets + 263
    frame #26: 0x000000010d305e8e QtWidgets`QAbstractButton::mouseReleaseEvent(QMouseEvent*) + 270
    frame #27: 0x000000010d3d140f QtWidgets`QToolButton::mouseReleaseEvent(QMouseEvent*) + 15
    frame #28: 0x000000010d25a06b QtWidgets`QWidget::event(QEvent*) + 1675
    frame #29: 0x000000010d305be3 QtWidgets`QAbstractButton::event(QEvent*) + 179
    frame #30: 0x000000010d3d19d3 QtWidgets`QToolButton::event(QEvent*) + 323
    frame #31: 0x000000010d21a953 QtWidgets`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 307
    frame #32: 0x000000010d21dff8 QtWidgets`QApplication::notify(QObject*, QEvent*) + 8968
    frame #33: 0x000000010934b0c6 PixInsight`___lldb_unnamed_function2882$$PixInsight + 22
    frame #34: 0x000000010e1f8c23 QtCore`QCoreApplication::notifyInternal(QObject*, QEvent*) + 115
    frame #35: 0x000000010d21b304 QtWidgets`QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) + 1012
    frame #36: 0x000000010d27a7b5 QtWidgets`___lldb_unnamed_function592$$QtWidgets + 1173
    frame #37: 0x000000010d2799df QtWidgets`___lldb_unnamed_function587$$QtWidgets + 111
    frame #38: 0x000000010d21a953 QtWidgets`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 307
    frame #39: 0x000000010d21dc46 QtWidgets`QApplication::notify(QObject*, QEvent*) + 8022
    frame #40: 0x000000010934b0c6 PixInsight`___lldb_unnamed_function2882$$PixInsight + 22
    frame #41: 0x000000010e1f8c23 QtCore`QCoreApplication::notifyInternal(QObject*, QEvent*) + 115
    frame #42: 0x000000010d8808fe QtGui`QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) + 2078
    frame #43: 0x000000010d86be2a QtGui`QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 346
    frame #44: 0x0000000112f35861 libqcocoa.dylib`___lldb_unnamed_function457$$libqcocoa.dylib + 33
    frame #45: 0x00007fff8d0c1881 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
    frame #46: 0x00007fff8d0a0fbc CoreFoundation`__CFRunLoopDoSources0 + 556
    frame #47: 0x00007fff8d0a04df CoreFoundation`__CFRunLoopRun + 927
    frame #48: 0x00007fff8d09fed8 CoreFoundation`CFRunLoopRunSpecific + 296
    frame #49: 0x00007fff9a125935 HIToolbox`RunCurrentEventLoopInMode + 235
    frame #50: 0x00007fff9a125677 HIToolbox`ReceiveNextEventCommon + 184
    frame #51: 0x00007fff9a1255af HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 71
    frame #52: 0x00007fff94820df6 AppKit`_DPSNextEvent + 1067
    frame #53: 0x00007fff94820226 AppKit`-[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 454
    frame #54: 0x00007fff94814d80 AppKit`-[NSApplication run] + 682
    frame #55: 0x0000000112f347ba libqcocoa.dylib`___lldb_unnamed_function439$$libqcocoa.dylib + 2282
    frame #56: 0x000000010e1f637c QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 412
    frame #57: 0x000000010e1f91ca QtCore`QCoreApplication::exec() + 346
    frame #58: 0x000000010935f5b3 PixInsight`___lldb_unnamed_function2967$$PixInsight + 37571
    frame #59: 0x0000000109215c74 PixInsight`start + 52



what's interesting is that if i then right-click on the PI icon in the dock and say "quit", the "are you sure" dialog comes up and dismissing it causes PI to "wake up" and resume accepting UI events. the console finally prints "<* failed *>" at that point.

hopefully this sheds some light on the problem?

rob