Kstars 3.6.0 MacOS find Object crash

John Evans john.e.evans.email at gmail.com
Sun Aug 21 08:42:43 BST 2022


I just built the latest kstars and the problem is resolved.

On Sun, 21 Aug 2022 at 07:41, Jasem Mutlaq <mutlaqja at ikarustech.com> wrote:

> Robert's bandaid fix was merged until the concurrency issue is resolved.
> Can anyone compile on MacOS and verify?
> --
> Best Regards,
> Jasem Mutlaq
>
>
>
> On Sun, Aug 21, 2022 at 5:32 AM Peter Amerl <pvamerl at gmail.com> wrote:
>
>> Hi All,
>> Just in case it is important, last night I tried out starting the
>> executable from the command line, with the same Application crash whenever
>> I tried the find operation, either by Apple-f or by selecting it through
>> the menu system with the mouse. … sorry if someone already knows this to be
>> the case … just trying to avoid a red herring due to lack of information.
>>
>> Regards,
>> Peter
>>
>> > On 20 Aug 2022, at 20:30, kstars-devel-request at kde.org wrote:
>> >
>> > Send Kstars-devel mailing list submissions to
>> >    kstars-devel at kde.org
>> >
>> > To subscribe or unsubscribe via the World Wide Web, visit
>> >    https://mail.kde.org/mailman/listinfo/kstars-devel
>> > or, via email, send a message with subject or body 'help' to
>> >    kstars-devel-request at kde.org
>> >
>> > You can reach the person managing the list at
>> >    kstars-devel-owner at kde.org
>> >
>> > When replying, please edit your Subject line so it is more specific
>> > than "Re: Contents of Kstars-devel digest..."
>> >
>> >
>> > Today's Topics:
>> >
>> >   1. Re: Kstars 3.6.0 MacOS find Object crash (Robert Lancaster)
>> >
>> >
>> > ----------------------------------------------------------------------
>> >
>> > Message: 1
>> > Date: Sat, 20 Aug 2022 01:01:35 -0400
>> > From: Robert Lancaster <rlancaste at gmail.com>
>> > To: Jasem Mutlaq <mutlaqja at ikarustech.com>
>> > Cc: KStars Development Mailing List <kstars-devel at kde.org>
>> > Subject: Re: Kstars 3.6.0 MacOS find Object crash
>> > Message-ID: <5B5B9058-0EFD-4F8F-BE25-B329CC3ED597 at gmail.com>
>> > Content-Type: text/plain; charset="utf-8"
>> >
>> > Hey guys,
>> >
>> >
>> > 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.
>> >
>> > 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:
>> >
>> > m_asyncDBManager(new
>> CatalogsDB::AsyncDBManager(CatalogsDB::dso_db_path()))
>> >
>> > 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:
>> >
>> > m_thread->start();
>> >
>> > 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!
>> >
>> > QThread::msleep(100);
>> >
>> > 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:
>> >
>> > https://invent.kde.org/education/kstars/-/merge_requests/706 <
>> https://invent.kde.org/education/kstars/-/merge_requests/706>
>> >
>> > Thanks,
>> >
>> > Rob
>> >
>> >
>> >> On Aug 17, 2022, at 2:06 AM, Jasem Mutlaq <mutlaqja at ikarustech.com>
>> wrote:
>> >>
>> >> I received one report for Find Dialog crash as well on Raspberry Pi,
>> so perhaps it's not unique to MacOS?
>> >>
>> >> However, I couldn't reproduce on Raspberry PI, Widows, or any x86-64
>> machine.
>> >>
>> >> --
>> >> Best Regards,
>> >> Jasem Mutlaq
>> >>
>> >>
>> >>
>> >> On Wed, Aug 17, 2022 at 8:52 AM Robert Lancaster <rlancaste at gmail.com
>> <mailto:rlancaste at gmail.com>> wrote:
>> >> Ok I did some more testing.
>> >>
>> >> This commit is when the Find Dialog broke when running KStars on MacOS
>> by double clicking the app:
>> >>
>> >>
>> https://github.com/KDE/kstars/commit/5a2ba9f8e8b275f44b7593a50ca66f09cb2f985d#diff-c2a2ab763404c18a2daee3feb8b31f2ec278034e7cc720870c4e5158081e0ee9
>> <
>> https://github.com/KDE/kstars/commit/5a2ba9f8e8b275f44b7593a50ca66f09cb2f985d#diff-c2a2ab763404c18a2daee3feb8b31f2ec278034e7cc720870c4e5158081e0ee9
>> >
>> >>
>> >> 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.
>> >>
>> >> 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.
>> >>
>> >>>> On Aug 16, 2022, at 2:11 PM, Akarsh Simha <akarshsimha at gmail.com
>> <mailto:akarshsimha at gmail.com>> wrote:
>> >>>
>> >>> 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.
>> >>>
>> >>> 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!
>> >>>
>> >>> Regards
>> >>> Akarsh
>> >>>
>> >>>
>> >>>> On Tue, Aug 16, 2022 at 07:28 Robert Lancaster <rlancaste at gmail.com
>> <mailto:rlancaste at gmail.com>> wrote:
>> >>> Hey guys,
>> >>>
>> >>> 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.
>> >>>
>> >>> 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.
>> >>>
>> >>> Thanks,
>> >>>
>> >>> Rob
>> >>>
>> >>>> On Aug 13, 2022, at 6:09 AM, John Evans <
>> john.e.evans.email at gmail.com <mailto:john.e.evans.email at gmail.com>>
>> wrote:
>> >>>>
>> >>>> I have the same problem with 3.6.0. Crashes everytime the find
>> object dialog is invoked (button, keyboard, etc.)
>> >>>>
>> >>>> Works great when I run it in debug in Qt though.
>> >>>>
>> >>>> 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.
>> >>>>
>> >>>> On Sat, 13 Aug 2022 at 10:05, Akarsh Simha <akarshsimha at gmail.com
>> <mailto:akarshsimha at gmail.com>> wrote:
>> >>>>
>> >>>>
>> >>>> On Sat, Aug 13, 2022 at 01:27 Peter Amerl <pvamerl at gmail.com
>> <mailto:pvamerl at gmail.com>> wrote:
>> >>>> Hi All,
>> >>>> Has anyone else experienced an immediate crash when searching for
>> objects on a Mac using the Apple-f key combination?
>> >>>> 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.
>> >>>> The Crash trace is appended in the zip if anyone wants to have a
>> look.
>> >>>>
>> >>>> Hi Peter
>> >>>>
>> >>>> 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.
>> >>>>
>> >>>> Regards
>> >>>> Akarsh
>> >>>>
>> >>>>
>> >>>> Cheers,
>> >>>> Peter
>> >>>>
>> >>>>
>> >>>
>> >>
>> >
>> > -------------- next part --------------
>> > An HTML attachment was scrubbed...
>> > URL: <
>> http://mail.kde.org/pipermail/kstars-devel/attachments/20220820/4f452c3d/attachment-0001.htm
>> >
>> >
>> > ------------------------------
>> >
>> > Subject: Digest Footer
>> >
>> > _______________________________________________
>> > Kstars-devel mailing list
>> > Kstars-devel at kde.org
>> > https://mail.kde.org/mailman/listinfo/kstars-devel
>> >
>> >
>> > ------------------------------
>> >
>> > End of Kstars-devel Digest, Vol 223, Issue 9
>> > ********************************************
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kstars-devel/attachments/20220821/c0f15c77/attachment-0001.htm>


More information about the Kstars-devel mailing list