Skip to content

Regression: rpm --eval "%dump" segfaults #3588

Open
@pmatilai

Description

Somewhere since 4.20 %dump has regressed (because it's not tested, sigh), almost certainly in the STL conversion but didn't chase:

$ rpm --eval "%dump"
Segmentation fault (core dumped)

The backtrace:

__GI__IO_fwrite (buf=buf@entry=0x7ffff7f504c8, size=size@entry=1,               
    count=count@entry=25, fp=fp@entry=0x0) at iofwrite.c:37
37	  _IO_acquire_lock (fp);
(gdb) bt
#0  __GI__IO_fwrite (buf=buf@entry=0x7ffff7f504c8, size=size@entry=1, 
    count=count@entry=25, fp=fp@entry=0x0) at iofwrite.c:37
#1  0x00007ffff7e62bcf in fprintf (__stream=0x0, 
    __fmt=0x7ffff7f504c8 '=' <repeats 24 times>, "\n")
    at /usr/include/bits/stdio2.h:111
#2  rpm::macros::dump (this=this@entry=0x7fffffffd290, fp=fp@entry=0x0)
    at /home/pmatilai/repos/rpm/rpmio/macro.cc:2033
#3  0x00007ffff7e63396 in rpmDumpMacroTable (mc=<optimized out>, 
    fp=fp@entry=0x0) at /home/pmatilai/repos/rpm/rpmio/macro.cc:1906
#4  0x00007ffff7e6341b in doDump (mb=0x532d00, me=<optimized out>, 
    argv=<optimized out>, parsed=<optimized out>)
    at /home/pmatilai/repos/rpm/rpmio/macro.cc:771
#5  0x00007ffff7e65bc6 in doMacro (mb=mb@entry=0x532d00, me=me@entry=0x432350, 
    args=0x422460, parsed=parsed@entry=0x0)
    at /home/pmatilai/repos/rpm/rpmio/macro.cc:1428
#6  0x00007ffff7e669b8 in expandMacro (mb=mb@entry=0x532d00, 
    src=<optimized out>, slen=<optimized out>, slen@entry=0)
    at /home/pmatilai/repos/rpm/rpmio/macro.cc:1674
#7  0x00007ffff7e6733a in doExpandMacros (mc=<optimized out>, src="%dump", 
    flags=flags@entry=0, target=target@entry=0x7fffffffd450)
    at /home/pmatilai/repos/rpm/rpmio/macro.cc:1744
#8  0x00007ffff7e67600 in rpm::macros::expand (this=this@entry=0x7fffffffd4c0, 
    src="%dump", flags=flags@entry=0)
    at /home/pmatilai/repos/rpm/rpmio/macro.cc:2052
#9  0x00007ffff7e6770d in rpmExpandMacros (mc=<optimized out>, 
    sbuf=0x421200 "%dump", obuf=0x7fffffffd550, flags=0)
    at /home/pmatilai/repos/rpm/rpmio/macro.cc:1881
#10 0x00007ffff7a93f9b in rpmcliAllArgCallback (con=<optimized out>, 
    reason=<optimized out>, opt=0x7ffff7da2db0 <rpmcliAllPoptTable+240>, 
    arg=0x421200 "%dump", data=<optimized out>)
    at /home/pmatilai/repos/rpm/lib/poptALL.cc:131
#11 0x00007ffff79d43b0 in invokeCallbacksOPTION (con=con@entry=0x420600, 
    opt=0x7ffff7da2db0 <rpmcliAllPoptTable+240>, 
    myOpt=myOpt@entry=0x7ffff7da2db0 <rpmcliAllPoptTable+240>, 
--Type <RET> for more, q to quit, c to continue without paging--
    myData=myData@entry=0x4058c8, shorty=shorty@entry=0)
    at /usr/src/debug/popt-1.19-7.fc41.x86_64/src/popt.c:143
#12 0x00007ffff79d4433 in invokeCallbacksOPTION (con=con@entry=0x420600, 
    opt=0x408000 <optionsTable+288>, 
    myOpt=myOpt@entry=0x7ffff7da2db0 <rpmcliAllPoptTable+240>, 
    myData=0x4058c8, shorty=shorty@entry=0)
    at /usr/src/debug/popt-1.19-7.fc41.x86_64/src/popt.c:127
#13 0x00007ffff79d8f3a in poptGetNextOpt (con=0x420600)
    at /usr/src/debug/popt-1.19-7.fc41.x86_64/src/popt.c:1430
#14 0x00007ffff7a94552 in rpmcliInit (argc=<optimized out>, 
    argv=0x7fffffffd868, optionsTable=<optimized out>)
    at /home/pmatilai/repos/rpm/lib/poptALL.cc:332
#15 0x0000000000401665 in main (argc=3, argv=<optimized out>)
    at /home/pmatilai/repos/rpm/tools/rpm.cc:73

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Type

    Projects

    • Status

      Backlog

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions