-
Notifications
You must be signed in to change notification settings - Fork 69
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
Crash when saving preferences on MacOS #136
Comments
Hi, Can you run seer from gdb to get a traceback?
Then attempt to change and save the preferences. Include the traceback in this task. It might help me where to focus in the code. Thanks. |
There's a generated MacOS one. I'll include both. |
Here's the crash log: Translated Report (Full Report Below)Process: seergdb [3954] Date/Time: 2023-03-27 14:55:19.8720 -0400 Time Awake Since Boot: 7300 seconds System Integrity Protection: disabled Crashed Thread: 0 Dispatch queue: com.apple.main-thread Exception Type: EXC_BAD_ACCESS (SIGSEGV) Termination Reason: Namespace SIGNAL, Code 11 Segmentation fault: 11 VM Region Info: 0x10 is not in any region. Bytes before following region: 140737488220144 Thread 0 Crashed:: Dispatch queue: com.apple.main-thread Thread 1:: Dispatch queue: com.apple.SkyLight.UpdateManager.SerialSema Thread 2:: com.apple.NSEventThread Thread 3: Thread 4:: Dispatch queue: NSCGSDisableUpdates Thread 0 crashed with X86 Thread State (64-bit): Logical CPU: 0 Thread 0 instruction stream: Binary Images: External Modification Summary: VM Region Summary:
REGION TYPE SIZE COUNT (non-coalesced) Full Report{"app_name":"seergdb","timestamp":"2023-03-27 14:55:27.00 -0400","app_version":"","slice_uuid":"e0ea9120-1395-3a08-b340-a06d00419da9","build_version":"","platform":1,"share_with_app_devs":0,"is_first_party":1,"bug_type":"309","os_version":"macOS 12.6.3 (21G419)","incident_id":"2D974C14-713A-4C50-BFB4-57EF2E965757","name":"seergdb"}
], ] Model: MacBookPro11,4, BootROM 476.0.0.0.0, 4 processors, Quad-Core Intel Core i7, 2.2 GHz, 16 GB, SMC 2.29f24 |
Hi. That crash dump shows a SEGV. An address of 0x10 seems odd. Probably an unitialized variable on my part. However, I'm not seeing a traceback ... unless it's being truncated somehow. Can you run it this way through gdb?
|
I'm not a GDB user, otherwise, I wouldn't be interested in this program. I would put GDB and all of UNIXdom out of their miserable existence if it was up to me. That said, give me clear and specific instructions. Here's the dump after I typed bt. Thread 3 received signal SIGSEGV, Segmentation fault. |
Hmmm. That backtrace is very brief. I have a buddy that uses MacOS. I'll see if I can work with him. Can you give me the details of your system? What level of MacOS. What compiler are you using? What Qt library versions are you using. Meanwhile, I'll correct the cmake errors using your suggestions (the other task). |
All the information is in the dump I posted, specifically the beginning (OS) and the end (Mac model). I installed Qt5. You might want to look at some sample QT5 MacOS preferences code for how to implement it. It's non-standard in that the storage is more like an ini file that the OS manages for you. Apple doesn't make it easy unfortunately. |
Is it possible to release a build to make sure everyone is building properly? |
Will do. Qt is usually pretty good at handling the settings. But I'll check some MacOS examples. |
Yes, it is. I'll test it on my existing hardware first (OpenSuse, debian, Ubunto, gentoo, freebsd) before committing it, though. |
Here's what I've been able to find using LLDB debugger attached to VSCode. At first, I thought the error was related to IO. I figured the error occurred when it was trying to either create or write to the configuration file due to permissions or some IO issue. It crashes, however, immediately after assigning to keySequenceEdit. It's QT related, but I would expect the crash also happens on other platforms.
In the meantime, I will need to modify the configuration to use the arm-eabi-gdb for Ada. Where are the configuration settings stored? I'm hoping to edit the configuration in the file directly. |
Hi Joe, I wonder if this is a problem with initial installs of seer. I'll do some tests (with valgrind). I can also add a check if the dynamic_cast fails. The config file, at least on Linux, is :
Here's a sane list of key settings. (A subset of seergdb.conf file). I'm hoping MacOS is the same as Linux as far as this file goes.
|
If you clone the latest, I've put a check in the KeyConfigPage if the table isn't fully populated. Not sure if it will fix things but give it a try. |
Hi, Just wondering if you were able to try the fix I put into KeyConfigPage? Thanks. |
Yes. It appears to be fixed. |
It turns out in order to build Seer for MacOS, you need to set the cmake qt5 environment variable manually. You might want to make a note of it in the build instructions with an example:
|
Thanks for the tip. I'll add it to the build instructions. Closing this task. |
The MacOS build crashes whenever I tried to save the preferences i\
The text was updated successfully, but these errors were encountered: