I frequently open and run several Lazarus at the same time, two and sometimes three. I need it because I often need to copy/paste, improve, test and merge code between older and newer versions of my code. I know I can use Meld (a visual diff tool) or open the others using a text editor. But using Lazarus really has its advantages.
Weird thing happens when running several Lazarus + playing YouTube video (for music). If I switch task between opened Lazarus, sometimes the mouse pointer move randomly for 3 seconds or less. If I'm lucky, nothing bad will happen later. But sometimes, the active-task Lazarus will close immediately. Such weird case happened on me at least 3 times in this month.
Yes weird..., strange.
I have run up to 3 IDE (though that was on Windows):
IDE-1 debugging IDE-2 which is debugging IDE-3. And IDE 3 then sometimes debugging a normal project. Needs a lot of monitors.
I did note, that if any of the task that are being debugged is paused, the clipboard on Windows may get blocked. The block will timeout, but copying/pasting will hang for maybe 10 secs.
But anyway, that is debugging.
There are reports that Gtk or Linux can also act sensitive if an debugged app is paused in certain events. Again, debugging, not the case you described...
If it is multiple IDE, try menu: Tools > Options: Environment > IDE Startup: Lazurus Instances.
Just test diff settings.
Though, afaik, the IDE will always create the IPC stuff, needed to check for other Instances. Not sure if that could affect you.
Just throwing in some more ideas (completely talking through of my hat / wild guesses):
Is that just one PC? Could the mouse driver be sensitive to something caused by applications?
Like, if any app would be very slow handling a mouse related event? In case that there is any slowdown in the IDE or other open apps (such as one might get from CPU or memory exhaustion?).
Just random ideas...
I found, disabling the debugger would allow that 'cursed' project to run. I re-enabled the debugger, reset debugger, exited Lazarus. Couldn't fixed it, got the same error.
The already-run-correctly code became not able to run from Lazarus-IDE unless I disable the debugger. I was sure I had not made any changes. After several (5 times maybe) enable/disable, reset, exit/start Lazarus, the problem was gone.
I have seen similar issues when debugging some multithreaded apps (using CEF4Delphi).
There could be timing sensitive code in the 3rd party parts. In the debugger timing is different. Inter-process communication (if not 100% properly done, and that 100% target is so easy to miss) can react to this.
I never got to really nail the cause. Well in quite some case, it was my fault: unhandled errors, in async/synchronize callbacks had left other code hanging for events never to occur....
But IIRC, there were some unexplained cases. And, also some of the errors did not cause the same lock-down outside the debugger, why ever that might have been.
Out of interest, which debugger were you using? Gdb or FpDebug or tested with both?
I need it because I often need to copy/paste, improve, test and merge code between older and newer versions of my code.
Just a note, if you haven't found it, the package "LazProjectGroups" may help, switching quickly between projects.
You can also see files listed from each of the projects, and open those sources while keeping your current project.
That way you could have sources from diff versions open within one project. Using several source editors, you can then compare them.
Not sure if it suits your needs, but I thought it was worth a mention.