Bug 2187737

Summary: [abrt] pax-utils: module(): lddtree:60:<module>:ModuleNotFoundError: No module named 'elftools'
Product: [Fedora] Fedora Reporter: Soeren Grunewald <soeren.grunewald>
Component: pax-utilsAssignee: Dominik 'Rathann' Mierzejewski <dominik>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 38CC: dominik, jean, matthias.andree, soeren.grunewald
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
URL: https://retrace.fedoraproject.org/faf/reports/bthash/a4c745d1a5dd3e1d1e77e5d3088635a8598872a
Whiteboard: abrt_hash:1e902901858f85d26f344b7a1f4b9be780414cd7;VARIANT_ID=workstation;
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-08-22 23:25:31 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
File: open_fds
none
File: namespaces
none
File: environ
none
File: backtrace
none
File: cpuinfo
none
File: os_info
none
File: mountinfo none

Description Soeren Grunewald 2023-04-18 14:59:12 UTC
Description of problem:
The dependency python3-pyelftools was missing

Version-Release number of selected component:
pax-utils-1.3.7-1.fc38

Additional info:
reporter:       libreport-2.17.9
kernel:         6.2.11-300.fc38.x86_64
executable:     /usr/bin/lddtree
cgroup:         0::/user.slice/user-1000.slice/user/app.slice/vte-spawn-8abfab12-bead-4f24-8f79-dbae4ef6c081.scope
comment:        The dependency python3-pyelftools was missing
reason:         lddtree:60:<module>:ModuleNotFoundError: No module named 'elftools'
exception_type: ModuleNotFoundError
interpreter:    python3-3.11.3-1.fc38.x86_64
cmdline:        /usr/bin/python3 /usr/bin/lddtree /home/grunewal/dev/git/desy.de/doocs/Linux/obj/server/camera/camera_server/camera_server
runlevel:       N 5
package:        pax-utils-1.3.7-1.fc38
crash_function: module
uid:            1000
type:           Python3

Truncated backtrace:
lddtree:60:<module>:ModuleNotFoundError: No module named 'elftools'

Traceback (most recent call last):
  File "/usr/bin/lddtree", line 60, in <module>
    from elftools.common import exceptions
ModuleNotFoundError: No module named 'elftools'

Local variables in innermost frame:
__name__: '__main__'
__doc__: "Read the ELF dependency tree and show it\n\nThis does not work like `ldd` in that we do not execute/load code (only read\nfiles on disk), and we show the ELFs as a tree rather than a flat list.\n\nPaths may be globs that lddtree will take care of expanding.\nUseful when you want to glob a path under the ROOT path.\n\nWhen using the --root option, all paths are implicitly prefixed by that.\n  e.g. lddtree -R /my/magic/root /bin/bash\nThis will load up the ELF found at /my/magic/root/bin/bash and then resolve\nall libraries via that path.  If you wish to actually read /bin/bash (and\nso use the ROOT path as an alternative library tree), you can specify the\n--no-auto-root option.\n\nWhen pairing --root with --copy-to-tree, the ROOT path will be stripped.\n  e.g. lddtree -R /my/magic/root --copy-to-tree /foo /bin/bash\nYou will see /foo/bin/bash and /foo/lib/libc.so.6 and not paths like\n/foo/my/magic/root/bin/bash.  If you want that, you'll have to manually\nadd the ROOT path to the output path.\n\nThe --bindir and --libdir flags are used to normalize the output subdirs\nwhen used with --copy-to-tree.\n  e.g. lddtree --copy-to-tree /foo /bin/bash /usr/sbin/lspci /usr/bin/lsof\nThis will mirror the input paths in the output.  So you will end up with\n/foo/bin/bash and /foo/usr/sbin/lspci and /foo/usr/bin/lsof.  Similarly,\nthe libraries needed will be scattered among /foo/lib/ and /foo/usr/lib/\nand perhaps other paths (like /foo/lib64/ and /usr/lib/gcc/...).  You can\ncollapse all that down into nice directory structure.\n  e.g. lddtree --copy-to-tree /foo /bin/bash /usr/sbin/lspci /usr/bin/lsof \\\n               --bindir /bin --libdir /lib\nThis will place bash, lspci, and lsof into /foo/bin/.  All the libraries\nthey need will be placed into /foo/lib/ only.\n"
__package__: None
__loader__: <_frozen_importlib_external.SourceFileLoader object at 0x7fb219bf6d50>
__spec__: None
__annotations__: {}
__builtins__: <module 'builtins' (built-in)>
__file__: '/usr/bin/lddtree'
__cached__: None
argparse: <module 'argparse' from '/usr/lib64/python3.11/argparse.py'>
errno: <module 'errno' (built-in)>
functools: <module 'functools' from '/usr/lib64/python3.11/functools.py'>
glob: <module 'glob' from '/usr/lib64/python3.11/glob.py'>
mmap: <module 'mmap' from '/usr/lib64/python3.11/lib-dynload/mmap.cpython-311-x86_64-linux-gnu.so'>
os: <module 'os' (frozen)>
shutil: <module 'shutil' from '/usr/lib64/python3.11/shutil.py'>
sys: <module 'sys' (built-in)>
Any: typing.Any
Iterable: typing.Iterable
Optional: typing.Optional
Union: typing.Union
argcomplete: <module 'argcomplete' from '/usr/lib/python3.11/site-packages/argcomplete/__init__.py'>

Comment 1 Soeren Grunewald 2023-04-18 14:59:15 UTC
Created attachment 1958022 [details]
File: open_fds

Comment 2 Soeren Grunewald 2023-04-18 14:59:16 UTC
Created attachment 1958023 [details]
File: namespaces

Comment 3 Soeren Grunewald 2023-04-18 14:59:18 UTC
Created attachment 1958024 [details]
File: environ

Comment 4 Soeren Grunewald 2023-04-18 14:59:19 UTC
Created attachment 1958025 [details]
File: backtrace

Comment 5 Soeren Grunewald 2023-04-18 14:59:21 UTC
Created attachment 1958026 [details]
File: cpuinfo

Comment 6 Soeren Grunewald 2023-04-18 14:59:22 UTC
Created attachment 1958027 [details]
File: os_info

Comment 7 Soeren Grunewald 2023-04-18 14:59:24 UTC
Created attachment 1958028 [details]
File: mountinfo

Comment 8 kapsh 2023-05-15 04:58:53 UTC
1. Install pax-utils on clean system
2. Launch lddtree

Manually installing python3-elftools allows running it.


reporter:       libreport-2.17.10
kernel:         6.2.14-300.fc38.x86_64
cgroup:         0::/user.slice/user-2222.slice/user/app.slice/app-konsole-9b09280e02f84e5a8d0c954861a1c45a.scope
reason:         lddtree:60:<module>:ModuleNotFoundError: No module named 'elftools'
interpreter:    python3-3.11.3-1.fc38.x86_64
uid:            2222
cmdline:        /usr/bin/python3 /usr/bin/lddtree
package:        pax-utils-1.3.7-1.fc38
crash_function: module
exception_type: ModuleNotFoundError
runlevel:       N 5
executable:     /usr/bin/lddtree
type:           Python3

Comment 9 Matthias Andree 2023-05-30 21:21:24 UTC
This is a duplicate of #2175285

Comment 10 Michael Catanzaro 2023-06-26 15:37:41 UTC
Tried to run lddtree and it crashed due to a missing dependency:

Traceback (most recent call last):
  File "/usr/bin/lddtree", line 60, in <module>
    from elftools.common import exceptions
ModuleNotFoundError: No module named 'elftools'


reporter:       libreport-2.17.10
kernel:         6.3.8-200.fc38.x86_64
cmdline:        /usr/bin/python3 /usr/bin/lddtree /usr/bin/gdb
cgroup:         0::/user.slice/user-1000.slice/user/app.slice/vte-spawn-349ba201-4103-4a9d-91f8-fffc8bd8d3df.scope
uid:            1000
reason:         lddtree:60:<module>:ModuleNotFoundError: No module named 'elftools'
executable:     /usr/bin/lddtree
type:           Python3
package:        pax-utils-1.3.7-1.fc38
runlevel:       N 5
exception_type: ModuleNotFoundError
crash_function: module
interpreter:    python3-3.11.3-2.fc38.x86_64

Comment 11 Jean Abou Samra 2023-08-07 20:47:23 UTC
Same problem here. I think the solution is as easy as adding python3-pyelftools as dependency to pax-utils, right?

Comment 12 Dominik 'Rathann' Mierzejewski 2023-08-22 23:25:31 UTC

*** This bug has been marked as a duplicate of bug 2175285 ***