Author Topic: core dump  (Read 5079 times)

Offline pfile

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 4729
core dump
« on: 2015 May 27 14:00:41 »
despite the backtrace i was not actually dragging or dropping anything. however i frequently have weird issues where a mouse click and drag does not actually release a process icon when i mouse-up. i have to press the "esc" key to 'drop' the process icon.

rob


Code: [Select]

Process:               PixInsight [784]
Path:                  /Applications/PixInsight_01.08.03.1123/PixInsight.app/Contents/MacOS/PixInsight
Identifier:            com.pleiades-astrophoto.PixInsight
Version:               01.08.03.1123 Ripley [x64]
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           PixInsight [784]
User ID:               10017

Date/Time:             2015-05-27 13:57:01.417 -0700
OS Version:            Mac OS X 10.10.3 (14D136)
Report Version:        11
Anonymous UUID:        6C9CB022-AD83-02BA-0031-1F5CA3CE1F3B

Sleep/Wake UUID:       240B781E-3454-41B0-831E-E8FFBE9D5B12

Time Awake Since Boot: 320000 seconds
Time Since Wake:       15000 seconds

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGABRT)
Exception Codes:       EXC_I386_GPFLT

Application Specific Information:
abort() called
terminating with uncaught exception of type pcl::EUnixSegmentationViolation

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        0x00000001120cf286 __pthread_kill + 10
1   libsystem_c.dylib              0x0000000111fc7b53 abort + 129
2   libc++abi.dylib                0x000000011230fa21 abort_message + 257
3   libc++abi.dylib                0x00000001123379d1 default_terminate_handler() + 267
4   libobjc.A.dylib                0x0000000111b7f7eb _objc_terminate() + 124
5   libc++abi.dylib                0x00000001123350a1 std::__terminate(void (*)()) + 8
6   libc++abi.dylib                0x00000001123359a7 __cxxabiv1::call_terminate(bool, _Unwind_Exception*) + 35
7   libc++abi.dylib                0x00000001123356af __cxxabiv1::scan_eh_tab(__cxxabiv1::(anonymous namespace)::scan_results&, _Unwind_Action, bool, _Unwind_Exception*, _Unwind_Context*) + 589
8   libc++abi.dylib                0x0000000112335382 __gxx_personality_v0 + 102
9   libunwind.dylib                0x0000000112256951 _Unwind_RaiseException + 153
10  libc++abi.dylib                0x0000000112334b1f __cxa_throw + 104
11  com.pleiades-astrophoto.PixInsight 0x000000010bf40f87 pcl::CriticalSignalHandler(int) + 183
12  libsystem_platform.dylib      0x00000001121e4f1a _sigtramp + 26
13  libc++abi.dylib                0x0000000112336a90 __dynamic_cast + 33
14  com.pleiades-astrophoto.PixInsight 0x000000010bb595d1 pi::IconDragItem::DropOn(QWidget*, QPoint const&) + 145
15  com.pleiades-astrophoto.PixInsight 0x000000010bb6fab7 pi::PixInsightWorkspace::EndDrag(QPoint const&) + 631
16  com.pleiades-astrophoto.PixInsight 0x000000010bb75aec pi::PixInsightWorkspace::eventFilter(QObject*, QEvent*) + 364
17  QtCore                        0x0000000110521aad QCoreApplicationPrivate::sendThroughApplicationEventFilters(QObject*, QEvent*) + 109
18  QtGui                          0x000000010df9305c QApplicationPrivate::notify_helper(QObject*, QEvent*) + 28
19  QtGui                          0x000000010df9579c QApplication::notify(QObject*, QEvent*) + 4844
20  com.pleiades-astrophoto.PixInsight 0x000000010ac7fc36 pi::PixInsightApplication::notify(QObject*, QEvent*) + 22
21  QtCore                        0x0000000110521865 QCoreApplication::notifyInternal(QObject*, QEvent*) + 117
22  QtGui                          0x000000010df93af3 QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) + 419
23  QtGui                          0x000000010df466c9 0x10df0b000 + 243401
24  com.apple.AppKit              0x000000010cf81e57 -[NSWindow _reallySendEvent:isDelayedEvent:] + 648
25  com.apple.AppKit              0x000000010c914d76 -[NSWindow sendEvent:] + 470
26  QtGui                          0x000000010df3dfef 0x10df0b000 + 208879
27  com.apple.AppKit              0x000000010c911312 -[NSApplication sendEvent:] + 2504
28  QtGui                          0x000000010df42ccf 0x10df0b000 + 228559
29  com.apple.AppKit              0x000000010c83ac68 -[NSApplication run] + 711
30  QtGui                          0x000000010df4bb03 0x10df0b000 + 264963
31  QtCore                        0x000000011051ea47 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 487
32  QtCore                        0x0000000110521df7 QCoreApplication::exec() + 199
33  com.pleiades-astrophoto.PixInsight 0x000000010ac95115 main + 36597
34  libdyld.dylib                  0x0000000111ef05c9 start + 1



Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 7111
    • http://pixinsight.com/
Re: core dump
« Reply #1 on: 2015 May 28 03:56:34 »
Quote
12  libsystem_platform.dylib         0x00000001121e4f1a _sigtramp + 26
13  libc++abi.dylib                  0x0000000112336a90 __dynamic_cast + 33
14  com.pleiades-astrophoto.PixInsight   0x000000010bb595d1 pi::IconDragItem::DropOn(QWidget*, QPoint const&) + 145

This is the code where the critical signal is being thrown:

bool IconDragItem::DropOn( QWidget* w, const QPoint& p )
{
   PixInsightWorkspace* W1 = m_icon->IsImage() ?
                  FindWorkspace( w ) : dynamic_cast<PixInsightWorkspace*>( w );
   ...
}


According to the C++ standard, dynamic_cast<> cannot throw an exception when the cast is being made to a pointer. So this is either a bug in the Clang C++ compiler, or some strange problem in the libc++abi.dylib system library. There's nothing I can do to fix this (since the dynamic_cast is absolutely necessary in this case).

Let's hope that the new version of the core application fixes this problem, if only because a new compiler version will be used, or maybe just because the code will be different and may not trigger the compiler bug. The new version is now based on Qt5. It should be ready during June (a beta version will be available next week).
Juan Conejero
PixInsight Development Team
http://pixinsight.com/

Offline NGC7789

  • PixInsight Old Hand
  • ****
  • Posts: 391
Re: core dump
« Reply #2 on: 2015 May 28 04:20:03 »
It should be ready during June (a beta version will be available next week).

Ooooo! New version!

Offline pfile

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 4729
Re: core dump
« Reply #3 on: 2015 May 28 11:56:23 »
Quote
12  libsystem_platform.dylib         0x00000001121e4f1a _sigtramp + 26
13  libc++abi.dylib                  0x0000000112336a90 __dynamic_cast + 33
14  com.pleiades-astrophoto.PixInsight   0x000000010bb595d1 pi::IconDragItem::DropOn(QWidget*, QPoint const&) + 145

This is the code where the critical signal is being thrown:

bool IconDragItem::DropOn( QWidget* w, const QPoint& p )
{
   PixInsightWorkspace* W1 = m_icon->IsImage() ?
                  FindWorkspace( w ) : dynamic_cast<PixInsightWorkspace*>( w );
   ...
}


According to the C++ standard, dynamic_cast<> cannot throw an exception when the cast is being made to a pointer. So this is either a bug in the Clang C++ compiler, or some strange problem in the libc++abi.dylib system library. There's nothing I can do to fix this (since the dynamic_cast is absolutely necessary in this case).

Let's hope that the new version of the core application fixes this problem, if only because a new compiler version will be used, or maybe just because the code will be different and may not trigger the compiler bug. The new version is now based on Qt5. It should be ready during June (a beta version will be available next week).

OK sounds good, thanks for looking into it. i guess i could report it to apple but they seem to put even critical bug reports into the bitbucket.


rob

Offline jkmorse

  • PixInsight Padawan
  • ****
  • Posts: 931
  • Two questions, Mitch . .
    • Jim Morse Astronomy
Re: core dump
« Reply #4 on: 2015 May 28 13:23:13 »
Juan,

Any hints as to what will be in the new version (please, pretty please!!)?   :smiley:

Best,

Jim
Really, are clear skies, low wind and no moon that much to ask for? 

New Mexico Skies Observatory
Apogee Aspen 16803
Planewave CDK17 - Paramount MEII
Planewave IFR90 - Astrodon LRGB & NB filters
SkyX - MaximDL - ACP

http://www.jimmorse-astronomy.com
http://www.astrobin.com/users/JimMorse

Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 7111
    • http://pixinsight.com/
Re: core dump
« Reply #5 on: 2015 May 29 01:21:20 »
Hi Jim,

Don't expect anything spectacular processing wise. These are the main goals with this version:

- Complete rewrite of our development libraries (PCL) with improved structure and design, lots of new features, big performance improvements and C++11 features.

- The core application is now based on Qt 5 (the current version uses Qt 4). This will fix lots of problems on OS X, and should provide compatibility with Windows 10.

- Compatibility with high-dpi displays.

- Real-time compression of swap files (based on the LZ4 compression algorithm). Saves significant swap space at the cost of some computation work.

- High-performance compression of projects. This will save huge amounts of disk space and will make projects much more manageable.

- Lots of bug fixes in the core application and numerous tools.

There are more things but I prefer to keep them untold for now. The next version is a transitional/stabilization release. The real changes will start to come after Summer.
Juan Conejero
PixInsight Development Team
http://pixinsight.com/

Offline pfile

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 4729
Re: core dump
« Reply #6 on: 2015 May 29 09:16:00 »
Quote
12  libsystem_platform.dylib         0x00000001121e4f1a _sigtramp + 26
13  libc++abi.dylib                  0x0000000112336a90 __dynamic_cast + 33
14  com.pleiades-astrophoto.PixInsight   0x000000010bb595d1 pi::IconDragItem::DropOn(QWidget*, QPoint const&) + 145

This is the code where the critical signal is being thrown:

bool IconDragItem::DropOn( QWidget* w, const QPoint& p )
{
   PixInsightWorkspace* W1 = m_icon->IsImage() ?
                  FindWorkspace( w ) : dynamic_cast<PixInsightWorkspace*>( w );
   ...
}


According to the C++ standard, dynamic_cast<> cannot throw an exception when the cast is being made to a pointer. So this is either a bug in the Clang C++ compiler, or some strange problem in the libc++abi.dylib system library. There's nothing I can do to fix this (since the dynamic_cast is absolutely necessary in this case).

Let's hope that the new version of the core application fixes this problem, if only because a new compiler version will be used, or maybe just because the code will be different and may not trigger the compiler bug. The new version is now based on Qt5. It should be ready during June (a beta version will be available next week).

actually - is it possible that w came in as null? i ask because i was not actually dropping anything on anything elseā€¦ the crash just spontaneously happened. i also have this problem where open file dialogs (native) close themselves before i can select any files. since other people don't seem to have this problem, i have to guess that it's because i use TotalSpaces to recover the old "spaces" behavior from 10.7 or whatever. anyway all of this seems related to Qt problems but who knows.

maybe it's still wrong for dynamicCast to throw an exception on a null pointer?

rob

Offline jkmorse

  • PixInsight Padawan
  • ****
  • Posts: 931
  • Two questions, Mitch . .
    • Jim Morse Astronomy
Re: core dump
« Reply #7 on: 2015 May 29 11:41:14 »
Juan,

Nothing shabby about that list of fixes and improvements.  Very interested in the efficiency gains and the high dpi compatibility.  Have a Dell Ultrasharp U2711 that I would love to stretch a bit more.

Best,

Jim
Really, are clear skies, low wind and no moon that much to ask for? 

New Mexico Skies Observatory
Apogee Aspen 16803
Planewave CDK17 - Paramount MEII
Planewave IFR90 - Astrodon LRGB & NB filters
SkyX - MaximDL - ACP

http://www.jimmorse-astronomy.com
http://www.astrobin.com/users/JimMorse

Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 7111
    • http://pixinsight.com/
Re: core dump
« Reply #8 on: 2015 May 30 02:17:42 »
Quote
maybe it's still wrong for dynamicCast to throw an exception on a null pointer?

In a well-defined program, dynamic_cast cannot throw an exception when used to cast a pointer. The standard says:

[C++11: 5.2.7/9]: The value of a failed cast to pointer type is the null pointer value of the required result type. A failed cast to reference type throws std::bad_cast (18.7.2).

A dynamic_cast of null always returns null. However, if the pointer passed to dynamic_cast is invalid, then it is invoking undefined behavior (= crash) An invalid pointer is a pointer to a nonexistent object, such as an arbitrary memory address. The pointer passed to dynamic_cast in this code fragment, as well as anywhere else in PixInsight, is of course valid. Otherwise the application would be crashing wildly on FreeBSD, Linux and Windows all the time, and this doesn't happen... so this could be a compiler bug. It could be also a system bug or a Qt/Mac bug, although with smaller probability IMO.
Juan Conejero
PixInsight Development Team
http://pixinsight.com/

Offline pfile

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 4729
Re: core dump
« Reply #9 on: 2015 June 15 10:16:38 »
unfortunately this just happened to me again...

Code: [Select]
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        0x00007fff90c9a286 __pthread_kill + 10
1   libsystem_c.dylib              0x00007fff8364db53 abort + 129
2   libc++abi.dylib                0x00007fff8aecda21 abort_message + 257
3   libc++abi.dylib                0x00007fff8aef59d1 default_terminate_handler() + 267
4   libobjc.A.dylib                0x00007fff89e8f7eb _objc_terminate() + 124
5   libc++abi.dylib                0x00007fff8aef30a1 std::__terminate(void (*)()) + 8
6   libc++abi.dylib                0x00007fff8aef39a7 __cxxabiv1::call_terminate(bool, _Unwind_Exception*) + 35
7   libc++abi.dylib                0x00007fff8aef36af __cxxabiv1::scan_eh_tab(__cxxabiv1::(anonymous namespace)::scan_results&, _Unwind_Action, bool, _Unwind_Exception*, _Unwind_Context*) + 589
8   libc++abi.dylib                0x00007fff8aef3382 __gxx_personality_v0 + 102
9   libunwind.dylib                0x00007fff84e84951 _Unwind_RaiseException + 153
10  libc++abi.dylib                0x00007fff8aef2b1f __cxa_throw + 104
11  com.pleiades-astrophoto.PixInsight 0x000000010b511f87 pcl::CriticalSignalHandler(int) + 183
12  libsystem_platform.dylib      0x00007fff91c83f1a _sigtramp + 26
13  libc++abi.dylib                0x00007fff8aef4a90 __dynamic_cast + 33
14  com.pleiades-astrophoto.PixInsight 0x000000010b12a5d1 pi::IconDragItem::DropOn(QWidget*, QPoint const&) + 145
15  com.pleiades-astrophoto.PixInsight 0x000000010b140ab7 pi::PixInsightWorkspace::EndDrag(QPoint const&) + 631
16  com.pleiades-astrophoto.PixInsight 0x000000010b146aec pi::PixInsightWorkspace::eventFilter(QObject*, QEvent*) + 364
17  QtCore                        0x000000010e378aad QCoreApplicationPrivate::sendThroughApplicationEventFilters(QObject*, QEvent*) + 109
18  QtGui                          0x000000010bdea05c QApplicationPrivate::notify_helper(QObject*, QEvent*) + 28
19  QtGui                          0x000000010bdec79c QApplication::notify(QObject*, QEvent*) + 4844
20  com.pleiades-astrophoto.PixInsight 0x000000010a250c36 pi::PixInsightApplication::notify(QObject*, QEvent*) + 22
21  QtCore                        0x000000010e378865 QCoreApplication::notifyInternal(QObject*, QEvent*) + 117
22  QtGui                          0x000000010bdeaaf3 QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) + 419
23  QtGui                          0x000000010bd9d6c9 0x10bd62000 + 243401
24  com.apple.AppKit              0x00007fff8a8b9e57 -[NSWindow _reallySendEvent:isDelayedEvent:] + 648
25  com.apple.AppKit              0x00007fff8a24cd76 -[NSWindow sendEvent:] + 470
26  QtGui                          0x000000010bd94fef 0x10bd62000 + 208879
27  com.apple.AppKit              0x00007fff8a249312 -[NSApplication sendEvent:] + 2504
28  QtGui                          0x000000010bd99ccf 0x10bd62000 + 228559
29  com.apple.AppKit              0x00007fff8a172c68 -[NSApplication run] + 711
30  QtGui                          0x000000010bda2b03 0x10bd62000 + 264963
31  QtCore                        0x000000010e375a47 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 487
32  QtCore                        0x000000010e378df7 QCoreApplication::exec() + 199
33  com.pleiades-astrophoto.PixInsight 0x000000010a266115 main + 36597
34  libdyld.dylib                  0x00007fff8ac715c9 start + 1


understood about the underlying bug but once again i was not dragging anything as far as i know. i had just clicked the button to add files to a staralignment process. maybe this backtrace is correct for that operation but it seems odd that "EndDrag()" and "DropOn()" are there.

rob

Offline pfile

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 4729
Re: core dump
« Reply #10 on: 2015 June 15 16:26:12 »
actually, i think i can pretty confidently say that this happens when double clicking a process icon. there must be some kind of timing thing where somehow the UI thinks i am dragging and dropping something? or maybe this is the normal path when a process icon is double-clicked.

this has happened 3 times today now. the prior version of PI was very stable for me...

rob

Offline pfile

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 4729
Re: core dump
« Reply #11 on: 2015 June 15 16:30:40 »
also - is this normal? one of the processes has yosemite-native fonts; the other has "PI-native" fonts. possibly related??