WPIRoboticsProjects / GRIP

Program for rapidly developing computer vision applications
http://wpiroboticsprojects.github.io/GRIP
Other
374 stars 108 forks source link

Process does not terminate when UI is closed #297

Closed jkoehring closed 8 years ago

jkoehring commented 8 years ago

I just installed GRIP-0.3.0.exe on Windows 7. When I terminate the program, either by selecting File => Exit or by clicking on the red X in the upper-right corner of the window, the UI closes but the process does not terminate. I am forced to terminate the GRIP.exe process using Windows Task Manager.

JLLeitschuh commented 8 years ago

If you are using a webcam does your webcam light stay on?

jkoehring commented 8 years ago

So far, I have not used a webcam with GRIP. I have just loaded image files from disk.

-------- Original Message -------- Subject: Re: [GRIP] Process does not terminate when UI is closed (#297) From: Jonathan Leitschuh notifications@github.com Date: Thu, January 07, 2016 10:08 am To: WPIRoboticsProjects/GRIP GRIP@noreply.github.com Cc: John Koehring john@koehring.com

If you are using a webcam does your webcam light stay on? —Reply to this email directly or view it on GitHub.

jkoehring commented 8 years ago

I will also add that the orphaned process consumes about 13% of the CPU on a Lenovo W530 laptop with a 2.8 GHz quad-core i7 processor. So, it's not just sitting there doing nothing.

JLLeitschuh commented 8 years ago

@PeterJohnson Could this be a network tables problem???

jkoehring commented 8 years ago

FYI, I was running GRIP.exe standalone. There was no other FRC software running (e.g., Driver Station, Eclipse, ...) nor was there a roboRIO connected to my computer.

JLLeitschuh commented 8 years ago

Ooooooohhhh... v0.3.0 was prior to us adding network tables so that can't be related. @PeterJohnson You're off the hook.

333fred commented 8 years ago

These are some profiles from the application after the main window has been closed on Windows 10. My process was open the application, connect VisualVM (https://visualvm.java.net/), and close the application. I then waited a while and did an export of the application. To enable profiling in Windows, you need to add -Dcom.sun.management.jmxremote to the JVMOptions section (new line) in GRIP.cfg in %APP_DATA%\local\GRIP\app. Other platforms will need similar, not sure where those locations will be. grip_profiles.zip

PaulaRudy commented 8 years ago

I'm encountering this as well on Ubuntu- I will close the window but GRIP keeps spamming the console with Jan 07, 2016 4:52:41 PM edu.wpi.grip.core.operations.networktables.NTManager lambda$new$9 SEVERE: ntcore/src/tcpsockets/TCPConnector.cpp:157 select() to roboio-0-frc.local port 1735 error 111 - Connection refused

and occasionally

Jan 07, 2016 4:52:41 PM edu.wpi.grip.ui.util.GRIPPlatform onJavaFXRunnerEvent WARNING: POTENTIAL DEADLOCK!

JLLeitschuh commented 8 years ago

@jkoehring If I publish another release tonight or tomorrow morning will you have the opportunity to test this out again?

jkoehring commented 8 years ago

I would be happy to test the latest build, but there doesn't seem to be a Windows installer available.

JLLeitschuh commented 8 years ago

I just created another release. We were having problems with our windows build system. This should be fixed in ~ 12 min. v1.0.0-rc4

jkoehring commented 8 years ago

I just installed 1.0.0-rc4. File=>Exit (and its shortcut Ctrl+Q) now work, but clicking on the Close (X) in the upper right-hand corner of the window now hangs the application and changes its status to Not Responding. Clicking the Close (X) again causes Windows to display the "not responding" dialog, letting you to force close the application.

333fred commented 8 years ago

It's stuck on the PlatformImpl.runAndWait() call in Main.java, line 86.

333fred commented 8 years ago

Full Thread Dump: grip_thread_dump.txt

JLLeitschuh commented 8 years ago

The exception that the program is responding to is an IO Exception.

java.lang.RuntimeException: java.io.IOException: Cannot run program "$HOME\AppData\Local\GRIP\runtime/bin/java": CreateProcess error=2, The system cannot find the file specified
    at org.bytedeco.javacpp.Loader$2.run(Loader.java:645)
Caused by: java.io.IOException: Cannot run program "$HOME\AppData\Local\GRIP\runtime/bin/java": CreateProcess error=2, The system cannot find the file specified
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
    at org.bytedeco.javacpp.Loader$2.run(Loader.java:643)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
    at java.lang.ProcessImpl.create(Native Method)
    at java.lang.ProcessImpl.<init>(ProcessImpl.java:386)
    at java.lang.ProcessImpl.start(ProcessImpl.java:137)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
    ... 1 more
JLLeitschuh commented 8 years ago

Opened an issue with bytedeco: https://github.com/bytedeco/javacpp/issues/60