View Issue Details

IDProjectCategoryView StatusLast Update
0002713SkyChart1-Softwarepublic24-03-05 18:41
ReporterIhab Ali Assigned To 
PrioritynormalSeveritycrashReproducibilityalways
Status newResolutionopen 
PlatformPCOSLinuxOS Version64bit
Product Version4.3 beta 
Summary0002713: Access violation error - results with debug version
DescriptionHello,
In response to my question regarding access violation errors I've been getting on the MacOS and Linux version of skychart 4.3 4720, I've run the debug version through gdb. I no longer get the pop-up window with the access violation error, instead gdb reports a segmentation fault as shown below. All I did to get this error was to tab over to another open application(pixinsight) and back to skychart. Again, I no longer get the usual pop-up window with the "access violation error" asking me to abort or continue and risk data corruption. Instead with the debug version, the program seems to freeze and gdb on the CLI reports a segmentation fault. The application seems to hang in the background, but I can restart it from gdb using "run".


Thread 1 "skychart" received signal SIGSEGV, Segmentation fault.
0x00007ffff71665dd in QAction::text() const () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
(gdb) bt
#0 0x00007ffff71665dd in QAction::text() const () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#1 0x00007ffff7d75108 in QAction_text () from /lib/x86_64-linux-gnu/libQt5Pas.so.1
#2 0x0000000000869738 in SHORTCUTINGLOBALACTIONS (this=0x7ffff52e5110, AMNEMONICTEXT=0xfbfc98 'Alt+', AGLOBALACTIONINDEX=8) at qt5/qtobject.inc:1643
#3 0x000000000092e736 in SLOTKEY (this=0x7ffff00b23c0, SENDER=0x1a621a0, EVENT=0x7fffffffd860) at qt5/qtwidgets.pas:3366
#4 0x000000000092d4d3 in EVENTFILTER (this=0x7ffff00b23c0, SENDER=0x1a621a0, EVENT=0x7fffffffd860) at qt5/qtwidgets.pas:2714
#5 0x00007ffff62b9b9a in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#6 0x00007ffff716c702 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#7 0x00007ffff717449e in QApplication::notify(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#8 0x00007ffff62b9e3a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#9 0x00007ffff71cc02f in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#10 0x00007ffff716c713 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007ffff62b9e3a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x00007ffff693d4ba in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#13 0x00007ffff6916a2c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#14 0x00007ffff2ef8d6e in ?? () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#15 0x00007ffff5520d3b in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#16 0x00007ffff5576258 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007ffff551e3e3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007ffff6313112 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#19 0x0000000000866777 in APPWAITMESSAGE (this=0x7ffff52e5110) at qt5/qtobject.inc:313
#20 0x000000000045ff37 in IDLE (this=0x7ffff52e4cb0, WAIT=true) at include/application.inc:453
#21 0x0000000000462086 in HANDLEMESSAGE (this=0x7ffff52e4cb0) at include/application.inc:1265
#22 0x00000000004625af in RUNLOOP (this=0x7ffff52e4cb0) at include/application.inc:1383
#23 0x0000000000866753 in APPRUN (this=0x7ffff52e5110, ALOOP=...) at qt5/qtobject.inc:292
#24 0x000000000046254f in RUN (this=0x7ffff52e4cb0) at include/application.inc:1371
#25 0x0000000000425c56 in main () at cdc.lpr:159
Steps To ReproduceI was able to replicate this hang/crash several times by just switching between application and then back to skychart.
Additional Information In the non-debug version, I would normally see the access violation dialog box, but with the debug version, the application seems to hang and gdb reports the segmentation fault above.
TagsNo tags attached.

Activities

Ihab Ali

24-02-13 00:08

reporter   ~0008779

to confirm, in gdb when I send the "continue" command, I do get the access violation window and the program continues on running if I don't select "abort"

Patrick Chevalley

24-02-13 13:15

administrator   ~0008780

Thank you for the trace.

The issue is when you press the Alt key, probably to Alt+Tab to or from another window.
This conflict with the Alt key use to show the menu keyboard shortcut.
It look like the problem is limited to Qt5 and maybe Cocoa, I cannot test this on a Mac and this is the kind of key that are always problematic in a virtual machine console.
I not remark it because I never use Alt+Tab but prefer to select the application in the task bar.

I have very limited option to fix that because there is none of my code in the trace, so I cannot catch the exception.
A solution is to disable the menu keyboard shortcut with the Alt key, I look to do that for tomorrow daily version.

Ihab Ali

24-02-13 17:04

reporter   ~0008781

Thanks Patrick, understand the root cause is QT, I’ll be on the lookout for the daily version to test. Unfortunately, I rely on the alt key to quickly switch between the various apps but on Mac OS, the issue also occurs if I switch between desktops as I have skychart running in one desktop, the second desktop is a full screen connected to my telescope control PC. I might be pressing alt without realizing but I’m mainly switching by swiping the touch pad on my Mac laptop. Happy to do a debug on Mac if you have a version for that as well to confirm that the issue is related to QT.

Patrick Chevalley

24-02-14 13:19

administrator   ~0008782

The change is now in the version 4.3-4724 : https://vega.ap-i.net/tmp/skychart/

Can you try if it work better.
There is also an updated debug version if you still encounter some issue.

Ihab Ali

24-02-15 07:39

reporter   ~0008783

Hi Patrick,
tried 4724 on Mac and still getting the access violation error without even using the alt key or command key on Mac. I'll try the debug version on linux tomorrow and report back the error log. Is there a debug version for Mac as well?

Patrick Chevalley

24-02-15 14:47

administrator   ~0008784

I make a debug version for Mac.
Download skychart-4.3-4725-macosx_dbg.zip from https://vega.ap-i.net/tmp/skychart/debug/
Extract the zip in a temporary location.
Replace the executable in the application: sudo cp skychart /Applications/Cartes\ du\ Ciel/skychart.app/Contents/MacOS/

To debug you need lldb, open a terminal and type : lldb
If it is not installed you must be prompted for installation.

To debug this is similar to linux:
in a terminal type: lldb /Applications/Cartes\ du\ Ciel/skychart.app/Contents/MacOS/skychart
after the (lldb) prompt type : run
when it crash it show some information, to get the backtrace type: bt

It is possible it ask for your password when starting lldb.

Ihab Ali

24-02-16 10:41

reporter   ~0008785

Hi Patrick,
Here's the backtrace from the Mac version:
Process 84592 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0xffffffff0001fdf9)
    frame #0: 0x0000000100015a58 skychart`SYSTEM$_$TOBJECT_$__$$_INHERITSFROM$TCLASS$$BOOLEAN + 8
skychart`SYSTEM$_$TOBJECT_$__$$_INHERITSFROM$TCLASS$$BOOLEAN:
-> 0x100015a58 <+8>: cmpq $0x0, 0x10(%rdi)
    0x100015a5d <+13>: je 0x100015a68 ; <+24>
    0x100015a5f <+15>: movq 0x10(%rdi), %rax
    0x100015a63 <+19>: movq (%rax), %rax
Target 0: (skychart) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0xffffffff0001fdf9)
  * frame #0: 0x0000000100015a58 skychart`SYSTEM$_$TOBJECT_$__$$_INHERITSFROM$TCLASS$$BOOLEAN + 8
    frame #1: 0x0000000100014d1d skychart`FPC_DO_IS + 29
    frame #2: 0x000000010054a99f skychart`COCOAGDIOBJECTS_$$_CHECKGDIOBJ$HGDIOBJ$$TCOCOAGDIOBJECT + 31
    frame #3: 0x000000010053e8b9 skychart`COCOAINT$_$TCOCOAWIDGETSET_$__$$_SELECTOBJECT$HDC$HGDIOBJ$$HGDIOBJ + 137
    frame #4: 0x00000001004d2a58 skychart`LCLINTF_$$_SELECTOBJECT$HDC$HGDIOBJ$$HGDIOBJ + 56
    frame #5: 0x00000001004c4459 skychart`GRAPHICS$_$TCANVAS_$__$$_DESELECTHANDLES + 169
    frame #6: 0x00000001004c434f skychart`GRAPHICS$_$TCANVAS_$__$$_SETHANDLE$HDC + 79
    frame #7: 0x00000001004b9dc2 skychart`GRAPHICS$_$TBITMAPCANVAS_$__$$_FREEDC + 130
    frame #8: 0x00000001004b6704 skychart`GRAPHICS$_$TRASTERIMAGE_$__$$_FREECANVASCONTEXT + 36
    frame #9: 0x00000001004b6679 skychart`GRAPHICS$_$TRASTERIMAGE_$__$$_DESTROY + 57
    frame #10: 0x00000001004b87e4 skychart`GRAPHICS$_$TCUSTOMBITMAP_$__$$_DESTROY + 68
    frame #11: 0x000000010001555b skychart`SYSTEM$_$TOBJECT_$__$$_FREE + 27
    frame #12: 0x000000010092ad9b skychart`IPHTML$_$TIPHTML_$__$$_DESTROY + 235
    frame #13: 0x000000010001555b skychart`SYSTEM$_$TOBJECT_$__$$_FREE + 27
    frame #14: 0x00000001000a0507 skychart`SYSUTILS_$$_FREEANDNIL$formal + 23
    frame #15: 0x0000000100944150 skychart`IPHTML$_$TIPHTMLFRAME_$__$$_DESTROY + 320
    frame #16: 0x000000010001555b skychart`SYSTEM$_$TOBJECT_$__$$_FREE + 27
    frame #17: 0x0000000100949330 skychart`IPHTML$_$TIPHTMLCUSTOMPANEL_$__$$_SETHTML$TIPHTML + 144
    frame #18: 0x00000001001c8377 skychart`PU_DETAIL$_$TF_DETAIL_$__$$_SETHTMLTEXT$ANSISTRING + 343
    frame #19: 0x00000001001e6129 skychart`FU_CHART$_$TF_CHART_$__$$_IDENTLABELCLICK$TOBJECT + 1097
    frame #20: 0x00000001001c9ea3 skychart`FU_CHART$_$TF_CHART_$__$$_IMAGE1DBLCLICK$TOBJECT + 195
    frame #21: 0x0000000100591923 skychart`CONTROLS$_$TCONTROL_$__$$_DBLCLICK + 51
    frame #22: 0x0000000100593925 skychart`CONTROLS$_$TCONTROL_$__$$_WMLBUTTONDBLCLK$TLMMOUSE + 117
    frame #23: 0x0000000100015b4a skychart`SYSTEM$_$TOBJECT_$__$$_DISPATCH$formal + 170

Patrick Chevalley

24-02-17 10:20

administrator   ~0008786

Thank you, this is a totally different issue.

What do you do at the time this occur? do you double click on an object? do it do that every time you click on an object?

Ihab Ali

24-02-17 12:01

reporter   ~0008787

Yes this occurred when I was trying to double click on an object but it doesn’t always crash when double clicking. It seems very random to me, sometimes it would be almost immediately after a restart, other times it take me a few tries of selecting objects and navigating the UI

Patrick Chevalley

24-02-18 13:42

administrator   ~0008788

I cannot reproduce that but I add a catch for this exception.
This is in 4.3-4726 you can try here: https://vega.ap-i.net/tmp/skychart/
Tell me how this work, it is possible you sometime see a blank information window or even the information for the previous object when this exception is bypassed. Depending on your result I can improve the fix.
Note the debug version is not updated.

Ihab Ali

24-02-19 15:21

reporter   ~0008789

Hi Patrick,
This version works better in the sense that I don't see the access violation window anymore. However, the same thing seems to be happening in the background. After a while of clicking around, I still get blank object details windows, this is the same thing that used to happen if I ignore the access violation window. A restart of the application is required to restore normal functionalities

Patrick Chevalley

24-02-19 16:27

administrator   ~0008790

Thank you for the testing and for your patience.
It is important for me to not change too much at a time to be sure we stay on the right track.

I make a new change to improve that.
Can you try with this new version 4.3-4727 and report how this work.
https://vega.ap-i.net/tmp/skychart/skychart-4.3-4727-x86_64-macosx.dmg

Ihab Ali

24-02-20 10:45

reporter   ~0008791

No problems at all, happy to continue on testing.
I tried the 4728 version for MacOS that I found in the same location. Unfortunately same behaviour, after a while of navigating/browsing, the information windows shows blank and a restart is required to resolve. I do confirm however that I no longer get the access violation error window. Happy to run a debug version if you have it.

Patrick Chevalley

24-02-22 10:01

administrator   ~0008792

As it look there is no way to protect again this strange error I take another approach to drop and recreate the html display component when this occur.
Please try with this version:
https://vega.ap-i.net/tmp/skychart/skychart-4.3-4729-x86_64-macosx.dmg

This is a standard test version, there is no need for more debug trace at the moment because the crash location is perfectly identified.

Ihab Ali

24-02-26 11:47

reporter   ~0008793

Hi Patrick,
Apologies for the delay in getting back to you. I just tested this version. Unfortunately I still get the same problem: a blank details display after a while of browsing objects. This occurs without even attempting to command tab away from the application. I can test on linux as well if the same fix has been applied to there.

Patrick Chevalley

24-02-28 10:33

administrator   ~0008794

This meant it crashed two time in a row in the recovery procedure, because I limit it to only one recovery tentative on the same action to prevent an infinite loop.

This may indicate the reason for the crash is not some random circumstance but a specific data the html display cannot process.
Do you remember the object you clicked on when this occur?

I make another change that can help to identify an eventual faulty object. Now after two crash of the html display it switch to text mode to show only the data, without formatting.
Can you install today version 4.3-4738 from https://vega.ap-i.net/tmp/skychart/ (It is available for Mac and Linux with the same change)
Redo the same testing with this version and when you see the information data without formatting please send me a screenshot.

Ihab Ali

24-02-29 05:54

reporter   ~0008795

Hi Patrick,
I tried version 4738 today and it still ended up producing the empty details window. The first time, everything was working fine with me double clicking on several DSO objects and stars until I double clicked on IC434, at this point it actually showed an empty details window. I restarted and tried again: browsed few objects then tried IC434 but this time it continued to behave normally, after about 30-45 seconds on browsing around randomly, the same empty details window this time with IC405. I tried a few more times, the error always occurred after a while of browsing and panning around, and with all types of objects including stars. I did notice that if I start the application and do not change the view(zoom or pan around), the issue does not occur, so panning(or reloading of the view) appears to be correlated to the root cause of the issue.
Please note that in none of the times the crash occurred did the software produce a details window without formatting, always the usual empty details window.

Ihab Ali

24-02-29 06:01

reporter   ~0008796

Not sure if this helps, but I also tried disabling "reduce details when moving the chart" and the same problem occurred: panning the chart seems to be causing the issue after a while of browsing objects.

Patrick Chevalley

24-03-04 16:31

administrator   ~0008800

This is very strange.
To eliminate another possible cause I upgraded the compiler on my build virtual machine.
Today version is build with the new compiler, can you try with 4.3-4749 : https://vega.ap-i.net/tmp/skychart/

Another test you can do is to totally disable the html information display.
Open the menu Setup / Display, enable "Show only text in detail window"

Ihab Ali

24-03-05 08:11

reporter   ~0008803

Happy to report that I had an extended imaging session tonight with CdC running the whole time(over 4 hours with connection to the telescope mount) and not a single crash in the details window or otherwise. Version 4749 seems to have fixed the reported issue. I'll continue to test and report if anything changes.

 Thank you very much Patrick!

Patrick Chevalley

24-03-05 18:41

administrator   ~0008806

Good, maybe the compiler update fix it.
I let the issue open for some time in the case you get an issue.

Issue History

Date Modified Username Field Change
24-02-12 23:53 Ihab Ali New Issue
24-02-13 00:08 Ihab Ali Note Added: 0008779
24-02-13 13:15 Patrick Chevalley Note Added: 0008780
24-02-13 17:04 Ihab Ali Note Added: 0008781
24-02-14 13:19 Patrick Chevalley Note Added: 0008782
24-02-15 07:39 Ihab Ali Note Added: 0008783
24-02-15 14:47 Patrick Chevalley Note Added: 0008784
24-02-16 10:41 Ihab Ali Note Added: 0008785
24-02-17 10:20 Patrick Chevalley Note Added: 0008786
24-02-17 12:01 Ihab Ali Note Added: 0008787
24-02-18 13:42 Patrick Chevalley Note Added: 0008788
24-02-19 15:21 Ihab Ali Note Added: 0008789
24-02-19 15:21 Ihab Ali File Added: Screenshot 2024-02-19 at 9.18.12 AM.png
24-02-19 16:27 Patrick Chevalley Note Added: 0008790
24-02-20 10:45 Ihab Ali Note Added: 0008791
24-02-22 10:01 Patrick Chevalley Note Added: 0008792
24-02-26 11:47 Ihab Ali Note Added: 0008793
24-02-28 10:33 Patrick Chevalley Note Added: 0008794
24-02-29 05:54 Ihab Ali Note Added: 0008795
24-02-29 06:01 Ihab Ali Note Added: 0008796
24-03-04 16:31 Patrick Chevalley Note Added: 0008800
24-03-05 08:11 Ihab Ali Note Added: 0008803
24-03-05 18:41 Patrick Chevalley Note Added: 0008806