I think it has nothing to do with serial or the laser, because the app crashes also without any laser connected to the computer.
I have been doing some debugging, I saw you’re using QtSerialPort and tried to replicate the problem in a python script. But the closest I could get is to confirm that after a fresh reboot, calling QSerialPortInfo::availablePorts() is a normal call that returns as fast as you would expect, but if at some point I open Lightburn, from that point on calls to QSerialPortInfo::availablePorts() take about 20s (rough estimate) to return. Same behavior that I saw for Lightburn under gdb.However, in my script I can still open the serial port after that.
However, this indicates that this issue is somehow related with something going wrong in Qt.
I also saw that you’re ending the process with SIGABRT, if that helps.
In any case, I got tired of trying to find the issue and tried using lightburn from virtualbox running windows and that seems to be working.
In Linux I still didn’t find any other suitable software to try with laser cutters, but I did manage to connect to the laser with screen and send g code commands which behaved as expected.
Interesting that you support tty0tty, I also thought of using that in between Lightburn and the ttyACM0 to isolate them a bit and see if that makes a difference.