<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class="">Hey guys,</div><div class=""><br class=""></div><div class=""> </div>Ok, I dug into this and ran a bunch of tests.  I don’t know why this crash only occurs when running by double clicking the app and not by running from Terminal or QT Creator.  It is very inconvenient to have an error that won’t happen when you run the code in a debugger and then will happen every time if you don’t!  I had thought that maybe it was something with MacOS sandboxing or gatekeeper, or maybe it was something with packaging, or maybe it was something with environment variables.  But as far as I could tell through my tests it is none of those.  I printed the environments in a QMessagebox and they were slightly different, but not in any way that mattered I think.  The packaging was not the culprit because it happened in the app both before and after packaging and I was running it on the same machine, so it should not be the issue.  I haven’t fully ruled out something with MacOS, but I don’t currently think that is what it is since there was no error message or warning that pops up about the app being blocked from doing something it wasn’t supposed to.<div class=""><br class=""></div><div class="">So then I proceeded to experiment with the changes in that one Commit.  I first tried narrowing down where the problem was by copying and pasting code from before or after the commit and testing.  That let me rule out a lot of the commit.  Then I added some Qmessagebox debug dialogs to see exactly when it would fail.  As of now, it seems that the crash is entirely based on what happens when constructing the Find Dialog in find dialog.cpp.  Specifically, it happens here:</div><div class=""><br class=""></div><div class="">
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><!--StartFragment-->m_asyncDBManager(<span style="font-style: italic; color: rgb(120, 86, 45);" class="">new</span><span style="color: rgb(77, 79, 82);" class=""> </span><span style="color: rgb(153, 0, 0);" class="">CatalogsDB</span>::<span style="color: rgb(153, 0, 0);" class="">AsyncDBManager</span>(<span style="color: rgb(153, 0, 0);" class="">CatalogsDB</span>::dso_db_path()))<!--EndFragment--></pre><div class=""><br class=""></div><div class="">On line 65 when it constructs the new Asynch DB Manager. I did try changing the couple of lines of code in find dialog.cpp and find dialog.h so that it would use the old manager code from before this commit to verify if the new AsynchDBManger was really the culprit.  And yes, it worked fine with the old code.  So then I changed it back.  Then I played around with the constructor for that class. Very strangely, I found that when I put my test QMessageBox message in just after line 772:</div><div class=""><br class=""></div><div class="">
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><!--StartFragment-->m_thread<span style="color: rgb(120, 86, 45);" class="">-></span>start();<!--EndFragment--></pre><div class=""><br class=""></div></div><div class="">It didn’t crash when it printed my debug QMessagebox but it did crash when I didn’t have it there!  That got me thinking that maybe for some reason, this object needed a little more time in its constructor for some reason, even though there are no more commands after that.  So I just added a sleep command to see if that would serve the same purpose and it worked!</div><div class=""><br class=""></div><div class="">
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><!--StartFragment--><span style=" color:#ff8080;" class="">QThread</span>::msleep(<span style=" color:#8a602c;" class="">100</span>);<!--EndFragment--></pre><div class=""><br class=""></div></div><div class="">So I would really like to know why this works.  Here is a commit with a band aid for you guys to take a look at:</div><div class=""><br class=""></div><div class=""><a href="https://invent.kde.org/education/kstars/-/merge_requests/706" class="">https://invent.kde.org/education/kstars/-/merge_requests/706</a></div><div class=""><br class=""></div><div class="">Thanks,</div><div class=""><br class=""></div><div class="">Rob</div><div class=""><br class=""></div><div><br class=""><blockquote type="cite" class=""><div class="">On Aug 17, 2022, at 2:06 AM, Jasem Mutlaq <<a href="mailto:mutlaqja@ikarustech.com" class="">mutlaqja@ikarustech.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">I received one report for Find Dialog crash as well on Raspberry Pi, so perhaps it's not unique to MacOS?<div class=""><br class=""></div><div class="">However, I couldn't reproduce on Raspberry PI, Widows, or any x86-64 machine.</div><div class=""><br clear="all" class=""><div class=""><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr" class=""><div class=""><div dir="ltr" class=""><div class="">--</div><div class="">Best Regards,<br class="">Jasem Mutlaq<br class=""></div><div class=""><br class=""></div></div></div></div></div></div><br class=""></div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Aug 17, 2022 at 8:52 AM Robert Lancaster <<a href="mailto:rlancaste@gmail.com" class="">rlancaste@gmail.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;" class="">Ok I did some more testing.<div class=""><br class=""></div><div class="">This commit is when the Find Dialog broke when running KStars on MacOS by double clicking the app:</div><div class=""><br class=""></div><div class=""><a href="https://github.com/KDE/kstars/commit/5a2ba9f8e8b275f44b7593a50ca66f09cb2f985d#diff-c2a2ab763404c18a2daee3feb8b31f2ec278034e7cc720870c4e5158081e0ee9" target="_blank" class="">https://github.com/KDE/kstars/commit/5a2ba9f8e8b275f44b7593a50ca66f09cb2f985d#diff-c2a2ab763404c18a2daee3feb8b31f2ec278034e7cc720870c4e5158081e0ee9</a></div><div class=""><br class=""></div><div class="">I think that is the one you were hoping was not the one.  I still don’t know why it broke it though.  Every time I run it from terminal or qt creator there is no problem.  It is just when running it by double clicking that is the problem.</div><div class=""><br class=""></div><div class="">Note that I did test playing with the environment variables in qt creator and that seemed to have no effect.  And it also didn’t seem to matter whether kstars was packaged up or not, so it doesn’t seem to be a packaging issue.<br class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Aug 16, 2022, at 2:11 PM, Akarsh Simha <<a href="mailto:akarshsimha@gmail.com" target="_blank" class="">akarshsimha@gmail.com</a>> wrote:</div><br class=""><div class=""><div dir="auto" class="">If I am to blame for this, the parallelism introduced in the asynchronous find dialog is my suspect, rather than the comet regex (which was actually Hy and not me). The regex seems unlikely to cause the erratic behavior Robert is observing where it runs fine under a debugger.</div><div dir="auto" class=""><br class=""></div><div dir="auto" class="">But if it works fine when running KStars from a command line, that probably exonerates me and Hy, and is likely an environment issue like Robert points out!</div><div dir="auto" class=""><br class=""></div><div dir="auto" class="">Regards</div><div dir="auto" class="">Akarsh</div><div dir="auto" class=""><br class=""></div><div class=""><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Aug 16, 2022 at 07:28 Robert Lancaster <<a href="mailto:rlancaste@gmail.com" target="_blank" class="">rlancaste@gmail.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;" class="">Hey guys,<div class=""><br class=""></div><div class="">I just got back from my two week trip to the Southwest.  Yesterday I resolved the issue with building a dmg with my script, so now I can build DMGs that will work with older Macs and have all the features we want in the dmg.  </div><div class=""><br class=""></div><div class="">Next we can look into this Find Dialog bug.  I did some experiments today and I found that if I run kstars from the command line or in a debugger, the find dialog works fine, but when running the app by double clicking it crashes when you first access the find dialog.  This seems to me to indicate an environment issue, like maybe an issue with environment variables or maybe a link to a library that isn’t properly in the app.  I will check further.</div><div class=""><br class=""></div><div class="">Thanks,</div><div class=""><br class=""></div><div class="">Rob</div></div><div style="overflow-wrap: break-word;" class=""><div class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Aug 13, 2022, at 6:09 AM, John Evans <<a href="mailto:john.e.evans.email@gmail.com" target="_blank" class="">john.e.evans.email@gmail.com</a>> wrote:</div><br class=""><div class=""><div dir="ltr" class="">I have the same problem with 3.6.0. Crashes everytime the find object dialog is invoked (button, keyboard, etc.)<div class=""><br class=""></div><div class="">Works great when I run it in debug in Qt though.</div><div class=""><br class=""></div><div class="">Workaround is to use the skymap and click on the object you want. In the scheduler enter some text in the object field (doesn't matter what) and hit the + to use sky coordinates from the map.</div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, 13 Aug 2022 at 10:05, Akarsh Simha <<a href="mailto:akarshsimha@gmail.com" target="_blank" class="">akarshsimha@gmail.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class=""><br class=""></div><div class=""><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Aug 13, 2022 at 01:27 Peter Amerl <<a href="mailto:pvamerl@gmail.com" target="_blank" class="">pvamerl@gmail.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi All, <br class="">
Has anyone else experienced an immediate crash when searching for objects on a Mac using the Apple-f key combination?<br class="">
I can confirm that it has worked in the past without a crash. Neither Ctrl-f, nor selecting it from the menu appears to work for me at this time. <br class="">
The Crash trace is appended in the zip if anyone wants to have a look.<br class="">
</blockquote><div dir="auto" class=""><br class=""></div><div dir="auto" class="">Hi Peter</div><div dir="auto" class=""><br class=""></div><div dir="auto" class="">When you say it worked in the past, could you provide the exact version / git commit, and also your current version / git  commit that has the bug? I made several changes to the Find Dialog in the most recent version, notably performing asynchronous database queries through another thread. It never crashed on my Linux system. Also curious if someone else can reproduce it on MacOS or if it is unique to your system.</div><div dir="auto" class=""><br class=""></div><div dir="auto" class="">Regards</div><div dir="auto" class="">Akarsh</div><div dir="auto" class=""><br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br class="">
Cheers, <br class="">
Peter <br class="">
<br class="">
<br class="">
</blockquote></div></div>
</blockquote></div>
</div></blockquote></div><br class=""></div></div></blockquote></div></div>
</div></blockquote></div><br class=""></div></div></blockquote></div>
</div></blockquote></div><br class=""></div></body></html>