Kstars 3.6.0 MacOS find Object crash
Jasem Mutlaq
mutlaqja at ikarustech.com
Sun Aug 21 07:40:31 BST 2022
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/c1432eef/attachment-0001.htm>
More information about the Kstars-devel
mailing list