View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002713 | SkyChart | 1-Software | public | 24-02-12 23:53 | 24-09-24 16:15 |
Reporter | Ihab Ali | Assigned To | Patrick Chevalley | ||
Priority | normal | Severity | crash | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | PC | OS | Linux | OS Version | 64bit |
Product Version | 4.3 beta | ||||
Summary | 0002713: Access violation error - results with debug version | ||||
Description | Hello, 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 Reproduce | I 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. | ||||
Tags | No tags attached. | ||||
|
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" |
|
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. |
|
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. |
|
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. |
|
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? |
|
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. |
|
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 |
|
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? |
|
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 |
|
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. |
|
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 |
|
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 |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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" |
|
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! |
|
Good, maybe the compiler update fix it. I let the issue open for some time in the case you get an issue. |
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 | |
24-09-24 16:15 | Patrick Chevalley | Assigned To | => Patrick Chevalley |
24-09-24 16:15 | Patrick Chevalley | Status | new => resolved |
24-09-24 16:15 | Patrick Chevalley | Resolution | open => fixed |