Hi,
    The problem is located. The root cause is that 
esxConnectToHost/esxConnectToVCenter method defined in esx_driver.c will 
collect the username and password. JNA will allocate the memory for username 
and password. But esxConnectToHost/esxConnectToVCenter will free the memory 
allocated by Java as following defined in esxConnectToHost/esxConnectToVCenter:

VIR_FREE(username);
VIR_FREE(unescapedPassword);

When JVM run the GC, it will crash because of dual free. If I comment these two 
lines, the system works well. But I think this is not a good solution. What 
about your opinion?

B.R.
Benjamin Wang




-----Original Message-----
From: Benjamin Wang (gendwang) 
Sent: 2012年9月6日 21:43
To: '[email protected]'
Cc: [email protected]
Subject: RE: [libvirt] Libvir JNA report SIGSEGV

Hi,
   I have looked into the code for several days. But I didn't find the root 
cause. Because even if I only call "new Connect", the problem will occur. So 
this should be related to Connect.java or ConnectAuthDefault.java. Would you 
take a quick at the issue and give some prompt?
Then I can try to fix this. Thanks!

B.R.
Benjamin Wang

-----Original Message-----
From: Daniel Veillard [mailto:[email protected]]
Sent: 2012年9月6日 19:05
To: Benjamin Wang (gendwang)
Cc: [email protected]
Subject: Re: [libvirt] Libvir JNA report SIGSEGV

On Thu, Sep 06, 2012 at 09:06:14AM +0000, Benjamin Wang (gendwang) wrote:
> Hi,
>   Actually I also did another test as following. When I comment the 
> "new Connet", the program works well. So this is the problem related 
> to Libvirt JNA. If I manually run the garbage collection for this program, it 
> still works well. But if I run the garbage collection for the last problem, 
> It will crash. I guess this problem is caused by ConnectAuth callback. When 
> garbage collection is executed, the callback memory is moved.

  Okay, maybe some memory need to be pinned in some ways, I take patches !

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
[email protected]  | Rpmfind RPM search engine http://rpmfind.net/ 
http://veillard.com/ | virtualization library  http://libvirt.org/

--
libvir-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to