hyOzd / serialplot

Small and simple software for plotting data from serial port in realtime.
https://hackaday.io/project/5334-serialplot-realtime-plotting-software
GNU General Public License v3.0
739 stars 182 forks source link

Crashes like crazy on Ubuntu 22.04 #63

Open michaelalex94536 opened 9 months ago

michaelalex94536 commented 9 months ago

Tried ver 0.12 on Ubuntu 22.04 and it worked fine at first. I was able to create several *.ini files for different Arduino sketches. Next day (next reboot perhaps?) it crashed spontaneously - the GUI would appear for a second or two, and then close by itself. I uninstalled it and installed ver 0.11, and this worked fine until I rebooted the computer. This was observed on two PCs, both using Ubunto 22.04 and in all cases using the "AppImage" version of serialplot.

So now, on both PCs, serialplot won't stay open for more than a second or two. If you want it to close faster, try to load an ini file - kapow!

Its a great app; I really want to use it! Thank you.

hyOzd commented 9 months ago

~/.config/serialplot/serialplot.conf should be the default config file of the app on ubuntu. If you delete it maybe you can open the app.

Can you share one of the ini files that crashes the application?

hyOzd commented 9 months ago

Because you said application crashes after a few seconds, maybe it is crashing because of the update check. In the config file can you try setting update check to false:

[UpdateCheck]
lastCheck=2022-05-28
periodicCheck=false
michaelalex94536 commented 9 months ago

Hi Hasan,

Actually, the program crashes once I hit the menu bar and try to locate an ini file. Or it crashes long before that. So, the crashes are not related to the ini files, unfortunately.

I see a Windows user saw the same thing on several of their computers. In their case, the program worked initially but seemed to become unstable after the system was restarted. In my case, I was so happy to see it work after rolling back to ver 0.11 on two different computers, but then the very next day it "broke" on both computers. In the back of my mind, it seemed to be associated with restarting the system, which I found very hard to understand...

Thank you very much for your prompt follow-up!

Regards, Michael

On Fri, Feb 2, 2024 at 12:02 PM Hasan Yavuz ÖZDERYA < @.***> wrote:

~/.config/serialplot/serialplot.conf should be the default config file of the app on ubuntu. If you delete it maybe you can open the app.

Can you share one of the ini files that crashes the application?

— Reply to this email directly, view it on GitHub https://github.com/hyOzd/serialplot/issues/63#issuecomment-1924595779, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGJZ7ITJXE3MM2KHTM4J3SLYRVA4JAVCNFSM6AAAAABCXG6ERKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRUGU4TKNZXHE . You are receiving this because you authored the thread.Message ID: @.***>

michaelalex94536 commented 9 months ago

Hi Hasan,

Deleting the conf file didn't help; the app (ver 0.11.0) closed quickly after starting it, and the new conf file had one extremely long line of stuff like this: \0\0\0\x43\x1\xff\xff\xff\xff\0 - and no sections with key-value pairs. I then deleted this stuff and set "periodicCheck=false" in an UpdateCheck section as you suggested in a new conf file, rebooted the PC and the app now stays open and doesn't crash. Seems like this is the key. I'll try on the other computer later today; I'm sure it will work.

Thank you once again.

Best regards, Michael

On Fri, Feb 2, 2024 at 12:02 PM Hasan Yavuz ÖZDERYA < @.***> wrote:

~/.config/serialplot/serialplot.conf should be the default config file of the app on ubuntu. If you delete it maybe you can open the app.

Can you share one of the ini files that crashes the application?

— Reply to this email directly, view it on GitHub https://github.com/hyOzd/serialplot/issues/63#issuecomment-1924595779, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGJZ7ITJXE3MM2KHTM4J3SLYRVA4JAVCNFSM6AAAAABCXG6ERKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRUGU4TKNZXHE . You are receiving this because you authored the thread.Message ID: @.***>

michaelalex94536 commented 9 months ago

Just a follow-up and confirmation:

I started up another Ubuntu machine today and serial plot crashed like it did last night. But I then modified the config file, setting "periodicCheck=false" and rebooted the system, and now serialplot runs fine, just like it did on the other machine I am using. So the issue was seen on two systems and repaired on both using the same solution.

michaelalex94536 commented 9 months ago

Yikes! On my two Ubuntu systems today Serialplot crashed and I found that in the config file [UpdateCheck] section that the value of "periodicCheck" was once again set back to "true." I changed it back to "false" but after closing SerialPlot it was reset again to "true". I prevented any writing to the config file, but Serialplot doesn't close gracefully when you do this... Is there a way to insure this option always stays set to "false?"

Thanks, Michael

michaelalex94536 commented 9 months ago

Is there a way to prevent the config file [UpdateCheck] section from being modified by the application? The "periodicCheck" field is still being set to "true" when I close the app, causing a crash when I restart the software the next time. I disabled all writing to the config file using "chmod", but SerialPlot didn't like that - it won't close gracefully once you disable writing to the file, which makes sense...

Thanks, Michael

On Fri, Feb 2, 2024 at 12:02 PM Hasan Yavuz ÖZDERYA < @.***> wrote:

~/.config/serialplot/serialplot.conf should be the default config file of the app on ubuntu. If you delete it maybe you can open the app.

Can you share one of the ini files that crashes the application?

— Reply to this email directly, view it on GitHub https://github.com/hyOzd/serialplot/issues/63#issuecomment-1924595779, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGJZ7ITJXE3MM2KHTM4J3SLYRVA4JAVCNFSM6AAAAABCXG6ERKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRUGU4TKNZXHE . You are receiving this because you authored the thread.Message ID: @.***>

hyOzd commented 9 months ago

I think application fails to read the periodicCheck field so it overwrites it with the default value. Can you make sure it looks like this:

periodicCheck=false

Update checks are disabled by default in the latest code, but it is not released yet. So you might try building from the latest source.

hyOzd commented 9 months ago

Can you also make sure the Check updates periodically is checked off before closing the application.

michaelalex94536 commented 9 months ago

Yes, the syntax is correct for the statement:

periodicCheck=false

I'm not sure how to build from source.

.

On Wed, Feb 7, 2024 at 10:33 AM Hasan Yavuz ÖZDERYA < @.***> wrote:

I think application fails to read the periodicCheck field so it overwrites it with the default value. Can you make sure it looks like this:

periodicCheck=false

Update checks are disabled by default in the latest code, but it is not released yet. So you might try building from the latest source.

— Reply to this email directly, view it on GitHub https://github.com/hyOzd/serialplot/issues/63#issuecomment-1932642027, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGJZ7IUYWVLBQPMIVW227NTYSPCIPAVCNFSM6AAAAABCXG6ERKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMZSGY2DEMBSG4 . You are receiving this because you modified the open/close state.Message ID: @.***>

michaelalex94536 commented 9 months ago

Q: Can you also make sure the Check updates periodically is checked off before closing the application.

A: Yeah, I do this and it still crashes, even before I can gracefully close the application.

I don't understand. The problem is very time dependent. It went away for a few days after making sure periodicCheck=false is set in the config file, and this flag stayed false for a few days - I didn't need to edit the conf file anymore; I just looked at it to confirm the flag was set to false. This was the case on both of my systems. But now, the periodicCheck is being set to true once again starting from yesterday - on both systems. I think the update check should not even be an option in the config file. The user should manually click a button somewhere and make the update a manual operation, not occur behind the scenes and causing unexpected crashes. At least if I click an "update" button and the app crashes, I know - for some reason - to avoid clicking that button, and the app still works fine.