[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kstars-devel
Subject:    Re: Kstars 3.6.0 MacOS find Object crash
From:       Peter Amerl <pvamerl () gmail ! com>
Date:       2022-08-21 2:43:55
Message-ID: C0824747-64AB-4D79-831B-1E5F12B6CD42 () gmail ! com
[Download RAW message or body]

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@kde.org wrote:
> 
> Send Kstars-devel mailing list submissions to
> kstars-devel@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@kde.org
> 
> You can reach the person managing the list at
> kstars-devel-owner@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@gmail.com>
> To: Jasem Mutlaq <mutlaqja@ikarustech.com>
> Cc: KStars Development Mailing List <kstars-devel@kde.org>
> Subject: Re: Kstars 3.6.0 MacOS find Object crash
> Message-ID: <5B5B9058-0EFD-4F8F-BE25-B329CC3ED597@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@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@gmail.com \
> > <mailto:rlancaste@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@gmail.com \
> > > > <mailto:akarshsimha@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@gmail.com \
> > > > <mailto:rlancaste@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@gmail.com \
> > > > <mailto:john.e.evans.email@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@gmail.com \
> > > > <mailto:akarshsimha@gmail.com>> wrote: 
> > > > 
> > > > On Sat, Aug 13, 2022 at 01:27 Peter Amerl <pvamerl@gmail.com \
> > > > <mailto:pvamerl@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@kde.org
> https://mail.kde.org/mailman/listinfo/kstars-devel
> 
> 
> ------------------------------
> 
> End of Kstars-devel Digest, Vol 223, Issue 9
> ********************************************


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic