FreeEMS Issues - EMStudio
View Issue Details
0000722EMStudioFreeEMS Pluginpublic2012-09-28 04:082012-10-03 13:57
0000722: EMStudio crashes on window close during ECU interrogation
EMStudio (fa5aaf3-DEV) will segfault in Linux or crash in Windows if the "Form" window is closed during ECU interrogation.

Of note: Clicking the Cancel button and then closing the window work as intended.
Open EMStudio
Close the window called "Form" using the closebox as it actively reports ECU sync
GDB pastebin of Linux run: [^]

DeuceEFI was able to reproduce this.
No tags attached.

2012-09-28 19:18   
Fixed in 0a89be8a8042229fe4b7a3aabfb346993a3bd1b9

Please verify
2012-09-28 23:47   
Problem still exists for me on 0a89be and newer in Ubuntu.
Pastebin: [^]

Tested as fixed with 0a89be in Windows.
2012-09-29 04:14   
I have tested commit 0a89be8 in Lubuntu 12.04 32bit and it no longer crashes EMStudio upon closing the "Form" window without clicking the "Cancel" button.

I have tested commit 0a89be8 in Windows 7 64bit and it no longer crashes EMStudio up closing the "Form" window without clicking the "Cancel" button...
HOWEVER; the interrogation of the ECU stops at "ECU Build Information" at 25%, the "Get Firmware Version" says OK, the "Get Interface Version" says OK, but the rest of the "Get" items in the lower portion of the "Form" window all say "In progress".

I uninstalled EMStudio and re-installed 3 times with commit 0a89be8 to make sure I wasn't having other issues, but then I installed commit 49de0a1 and it completed the "Form" ECU interrogation without any issue.
2012-10-03 04:21   
Here's the process I go through from fresh repo to segfault: [^]

I'm issuing a reset against the hash (which is likely what's throwing -DEV into the title) usually due to a delay in testing on my part. Let me know if I should approach this differently.
2012-10-03 04:41   
Here's the bt: [^]
2012-10-03 10:04   
kubble:/tmp/emstudio> git reset 0a89be8a8042229fe4b7a3aabfb346993a3bd1b9
Unstaged changes after reset:
M src/freeemscomms.cpp
M src/mainwindow.cpp
M src/mainwindow.ui
M src/serialthread.cpp
M src/table2ddata.cpp
M src/table2ddata.h
M src/table3ddata.cpp
M src/table3ddata.h
M src/tableview2d.cpp
M src/tableview2d.h
M src/tableview3d.cpp
M src/tableview3d.h
M src/tableview3d.ui

Jeff, you need to 'git reset --hard <ref/hash>' or you're just on the same commit as before the reset, but with the hash and -DEV of the one you reset to.

In future, don't reset at all, just 'git checkout hash' and be on it. 'git status' to show that it's all clean, and 'git reset --hard HEAD' to remove changes if it's not, 'git clean -dfx' to remove all build files (and any other non git files, so be VERY careful with it).
2012-10-03 13:39   
Will do and thanks.

Tested as fixed in Ubuntu using hash 0a89be8.