Bug 368328 - plugin spawned process hangs in eclipse plugin debug session
Summary: plugin spawned process hangs in eclipse plugin debug session
Status: NEW
Alias: None
Product: CDT
Classification: Tools
Component: cdt-build-managed (show other bugs)
Version: 8.1.0   Edit
Hardware: PC Windows XP
: P3 minor (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact: Jonah Graham CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-01-11 05:39 EST by Eeghem Mising name CLA
Modified: 2020-09-04 15:24 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Eeghem Mising name CLA 2012-01-11 05:39:31 EST
Build Identifier: 20110916-0149

First, I'm not really sure this is a CDT bug. It could be a bug for the Eclipse platform itself. However, I'm experiencing it in the development of a CDT-based plugin so I report it here.

The following occurs:

I'm developing a CDT-based plugin for a compiler toolchain based on the ARM-arhictecture. The toolchain has an emulator that can run a binary produced by the toolchain. In the plugin I've added support for creating launch configuration that executes the plugin and the compiled binary. This works fine. The emulator shows up and the binary is correctly emulated.

However, the following happens when I quit the emulator. If the Eclipse process launched to test the plugin is still active, the emulator process hangs and in windows I have to manually stop it using the taks manager. If I quit the Eclipse process used to test the plugin manually before I quit the emulator process, the emulator terminates normally.

Important: if the plugin being developed is exported and installed in a clean eclipse/cdt environment and then used, the effect is not found and the emulator spawned closes normally. So it somehow seems to be related to the second JVM created by the eclipse plugin workbench.

Reproducible: Always

Steps to Reproduce:
First, develop a cdt-based plugin with a launch delegate: 
1. create a cdt-plugin
2. create a launch configuration delegate class
3. from within the launch configuration delegate class create code to spawn the emulator program
4. run the plugin from within the eclipse IDE
5. a second ide (debug session) is started with the new plugin loaded
6. activate the launch configuration delegate and wait until the emulator
is spawned
7. close the emulator (now it hangs and must be terminated using the windows task manager)

alternate path:
7. close the eclipse debug session
8. close the emulator program (now the emulator terminates normally)