[libvirt] Crash when using python-libvirt setSchedulerParameters

Brian Rak brak at gameservers.com
Wed Mar 26 19:52:32 UTC 2014


On 3/25/2014 6:50 AM, Michal Privoznik wrote:
> On 24.03.2014 21:45, Brian Rak wrote:
>> I'm seeing a very weird (and somewhat reproducable) crash in
>> setSchedulerParameters.  The backtrace looks like this:
>>
>> *** glibc detected *** python2.7: free(): invalid pointer:
>> 0x000000000152bc48 ***
>> ======= Backtrace: =========
>> /lib64/libc.so.6(+0x76166)[0x7faa9e991166]
>> /usr/lib64/python2.7/site-packages/libvirtmod.so(virFree+0x29)[0x7faa9887bfe9] 
>>
>>
>> /lib/libvirt.so.0(virTypedParamsClear+0x54)[0x7faa98342fe4]
>> /lib/libvirt.so.0(virTypedParamsFree+0x1e)[0x7faa9834302e]
>> /usr/lib64/python2.7/site-packages/libvirtmod.so(+0x1b4dc)[0x7faa9886c4dc] 
>>
>> /usr/lib64/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5629)[0x7faa9f63a129] 
>>
>> /usr/lib64/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x68e8)[0x7faa9f63b3e8] 
>>
>> /usr/lib64/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x8ae)[0x7faa9f63bd5e]
>> /usr/lib64/libpython2.7.so.1.0(PyEval_EvalCode+0x32)[0x7faa9f63be72]
>> /usr/lib64/libpython2.7.so.1.0(+0xff25c)[0x7faa9f65625c]
>> /usr/lib64/libpython2.7.so.1.0(PyRun_FileExFlags+0x90)[0x7faa9f656330]
>> /usr/lib64/libpython2.7.so.1.0(PyRun_SimpleFileExFlags+0xef)[0x7faa9f6578cf] 
>>
>>
>> /usr/lib64/libpython2.7.so.1.0(Py_Main+0xc56)[0x7faa9f6693f6]
>> /lib64/libc.so.6(__libc_start_main+0xfd)[0x7faa9e939d1d]
>> python2.7[0x400649]
>>
>>
>> I am using:
>> Python2.7
>> Python-Libvirt 1.2.2 with the "[PATCH libvirt-python 1/2]
>> setPyVirTypedParameter: Copy full field name" patch.
>> Libvirt 1.2.1
>
> Is the following patch applied as well?
>
> commit 69c4600d61fa74c4977d2471a29fb73f0fe5edb0
> Author:     Michal Privoznik <mprivozn at redhat.com>
> AuthorDate: Tue Mar 18 09:20:00 2014 +0100
> Commit:     Michal Privoznik <mprivozn at redhat.com>
> CommitDate: Tue Mar 18 14:43:10 2014 +0100
>
>     setPyVirTypedParameter: free whole return variable on error
>
>     The @ret value is built in a loop. However, if in one iteration
>     there's an error, we should free all the fields built so far. For
>     instance, if there's an error and the previous item was
>     type of VIR_TYPED_PARAM_STRING we definitely must free it.
>
>     Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
>
>
> Can you install debuginfo so we see the full stack trace?
>
> Michal
I don't have that patch applied.  I will apply it and give it a shot.

These are all custom builds of python-libvirt and libvirt, so the 
debuginfo package is not immediately available.




More information about the libvir-list mailing list