[yocto] QEmu Script Error Checking

Jack Mitchell ml at communistcode.co.uk
Wed Oct 12 03:12:09 PDT 2011


On 11/10/2011 19:02, Scott Garman wrote:
> On 10/11/2011 08:41 AM, Jack Mitchell wrote:
>> I have run into the following issue where the tap device is in use due
>> to the QEmu machine unexpectedly crashing. The error I recieve is here:
>>
>> http://i.imgur.com/5t9U1.png (appologies for the screenshot but it
>> wouldn't let me copy the text)
>>
>> Is there any leaway for more robust error checking or a way to forcibly
>> destroy the tap node to allow a new one to be created?
>
> Hi Jack,
>
> Since qemu is being run from a parent shell script (runqemu), if qemu 
> were to crash, I would think the parent shell script would continue on 
> and destroy the tap device normally. Might you be killing the runqemu 
> process instead of qemu itself?
>
> I'm not sure if there is a way we could reliably force a cleanup of 
> tap devices when runqemu starts, because we need to support the case 
> where multiple instances of qemu sessions are running simultaneously 
> (each with their own tap device). Off the top of my head I think this 
> would make the state of tap devices non-deterministic.
>
> Furthermore, we support a mode where an administrator can set up one 
> or more tap devices, allowing the runqemu user to not need sudo 
> privileges. So checking for the case where a tap device exists but no 
> qemu process is running wouldn't work.
>
> Scott
>

Ok, thank you for the information Scott. I think I found the issue today 
which is causing the QEmu script to terminate pre-maturely.

I am using the eclipse-poky master branch as my eclipse plugin and it 
threw an error today when I tried to debug - which coincided with the 
QEmu and terminal window terminating. The errror I recieved was:

!SESSION 2011-10-12 09:22:49.135 
-----------------------------------------------
eclipse.buildId=I20110613-1736
java.version=1.6.0_22
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_GB
Framework arguments:  -product org.eclipse.sdk.ide
Command-line arguments:  -product org.eclipse.sdk.ide -data 
/home/developer/jackdaw/../runtime-EclipseApplication -dev 
file:/home/developer/jackdaw/.metadata/.plugins/org.eclipse.pde.core/Eclipse 
Application/dev.properties -os linux -ws gtk -arch x86_64 -consoleLog

!ENTRY org.eclipse.cdt.debug.mi.core 4 42 2011-10-12 09:24:47.192
!MESSAGE Internal Error
!STACK 0
org.eclipse.cdt.debug.mi.core.cdi.MI2CDIException: Inferior terminated[]
     at 
org.eclipse.cdt.debug.mi.core.cdi.SharedLibraryManager.getMIShareds(SharedLibraryManager.java:123)
     at 
org.eclipse.cdt.debug.mi.core.cdi.SharedLibraryManager.updateState(SharedLibraryManager.java:188)
     at 
org.eclipse.cdt.debug.mi.core.cdi.SharedLibraryManager.update(SharedLibraryManager.java:136)
     at 
org.eclipse.cdt.debug.mi.core.cdi.EventManager.processSuspendedEvent(EventManager.java:326)
     at 
org.eclipse.cdt.debug.mi.core.cdi.EventManager.update(EventManager.java:100)
     at java.util.Observable.notifyObservers(Observable.java:159)
     at 
org.eclipse.cdt.debug.mi.core.MISession.notifyObservers(MISession.java:791)
     at org.eclipse.cdt.debug.mi.core.EventThread.run(EventThread.java:46)

Which looks like a CDT bug or the interfacing with CDT. I could file a 
bug report if you think it is related to the poky-eclipse plugin?

Cheers,
Jack.



More information about the yocto mailing list