Bug ID 1195689
Summary libsolv segfault when using python API
Classification openSUSE
Product openSUSE Distribution
Version Leap 15.2
Hardware x86-64
OS openSUSE Leap 15.3
Status NEW
Severity Normal
Priority P5 - None
Component libzypp
Assignee zypp-maintainers@suse.de
Reporter mathias.reitinger@loop0.org
QA Contact qa-bugs@suse.de
Found By ---
Blocker ---

I'm using libsolv via the python bindings and am hitting a segfault when
performing problem resolution.

This is using a custom build of rpm (4.17.0) and libsolv (0.7.20) to verify the
issue persists with the latest version but I can reproduce this with
rpm/libsolv as shipped by Leap 15.2 as well.

This happens when calling element.Job() on the list of solution elements.

relevant pysolv part:
https://github.com/openSUSE/libsolv/blob/master/examples/pysolv#L796

Backtrace from gdb:
(gdb) t a a bt full

Thread 1 (Thread 0x7ffff7fd7540 (LWP 25152) "python3"):
#0  0x00007ffff2c1e69a in solver_solutionelement_extrajobflags
(solv=0x55555589f880, problem=<optimized out>, solution=<optimized out>) at
/usr/src/debug/atikon-bb-libsolv-0.7.20-lp152.35.1.x86_64/src/problems.c:974
        solidx = <optimized out>
#1  0x00007ffff235e9c5 in Solutionelement_Job (self=0x555555ac88c0) at
/usr/src/debug/atikon-bb-libsolv-0.7.20-lp152.35.1.x86_64/bindings/python3/solv_python.c:5673
        extraflags = <optimized out>
        extraflags = <optimized out>
#2  _wrap_Solutionelement_Job (self=<optimized out>, args=<optimized out>) at
/usr/src/debug/atikon-bb-libsolv-0.7.20-lp152.35.1.x86_64/bindings/python3/solv_python.c:18344
        resultobj = 0x0
        arg1 = 0x555555ac88c0
        argp1 = 0x555555ac88c0
        res1 = <optimized out>
        obj0 = <Solutionelement(this=<SwigPyObject at remote 0x7ffff231f330>)
at remote 0x7ffff2334828>
        result = 0x0
        fail = <optimized out>
#3  0x00007ffff79b0bfd in _PyCFunction_FastCallDict (func_obj=<built-in method
Solutionelement_Job of module object at remote 0x7ffff260ddb8>,
args=0x7ffff22d26e0, nargs=<optimized out>, kwargs=<optimized out>) at
Objects/methodobject.c:234
        tuple = (<Solutionelement(this=<SwigPyObject at remote 0x7ffff231f330>)
at remote 0x7ffff2334828>,)
        func = 0x7ffff25d8360
        meth = 0x7ffff235e960 <_wrap_Solutionelement_Job>
        self = <module at remote 0x7ffff260ddb8>
        result = <optimized out>
        flags = <optimized out>
#4  0x00007ffff7a22582 in call_function
(pp_stack=pp_stack@entry=0x7fffffffd778, oparg=<optimized out>,
kwnames=kwnames@entry=0x0) at Python/ceval.c:4851
        tstate = 0x555555609450
        pfunc = 0x7ffff22d26d8
        func = <built-in method Solutionelement_Job of module object at remote
0x7ffff260ddb8>
        x = <optimized out>
        w = <optimized out>
        nkwargs = <optimized out>
        nargs = <optimized out>
        stack = <optimized out>


You are receiving this mail because: