Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

app.py crashed with SIGSEGV in PyCFunction_Type() #1271

Closed
SkyGolem opened this issue Aug 19, 2022 · 10 comments
Closed

app.py crashed with SIGSEGV in PyCFunction_Type() #1271

SkyGolem opened this issue Aug 19, 2022 · 10 comments

Comments

@SkyGolem
Copy link

Title: app.py crashed with SIGSEGV in PyCFunction_Type()

DistroRelease: Ubuntu 22.04

StacktraceAddressSignature: /usr/share/backintime/qt/app.py:11:/usr/bin/python3.10+98a0:/usr/lib/python3/dist-packages/PyQt5/QtCore.abi3.so+16c3db:/usr/lib/python3/dist-packages/PyQt5/sip.cpython-310-x86_64-linux-gnu.so+10d40:/usr/lib/python3/dist-packages/PyQt5/QtCore.abi3.so+16c33d:/usr/bin/python3.10+ec13e:/usr/bin/python3.10+1f7868:/usr/bin/python3.10+1f65ee:/usr/bin/python3.10+1e5a23:/usr/bin/python3.10+1bbe6d:/us
r/lib/x86_64-linux-gnu/libc.so.6+1d90:/usr/lib/x86_64-linux-gnu/libc.so.6+1e40:/usr/bin/python3.10+1bbd65

SegvAnalysis:
Segfault happened at: 0x557b65db38a0 <PyCFunction_Type>: sbb (%rax),%al
PC (0x557b65db38a0) in non-executable VMA region: 0x557b65daa000-0x557b65de9000 rw-p /usr/bin/python3.10
source "(%rax)" (0x557b65db38a0) ok
destination "%al" ok
SegvReason: executing writable VMA /usr/bin/python3.10
SourcePackage: backintime
Stacktrace:
#0 0x0000557b65db38a0 in PyCFunction_Type ()
No symbol table info available.
#1 0x00007f637c0613db in ?? () from /usr/lib/python3/dist-packages/PyQt5/QtCore.abi3.so
No symbol table info available.
#2 0x00007f637c16ed40 in ?? () from /usr/lib/python3/dist-packages/PyQt5/sip.cpython-310-x86_64-linux-gnu.so
No symbol table info available.
#3 0x00007f637c06133d in ?? () from /usr/lib/python3/dist-packages/PyQt5/QtCore.abi3.so
No symbol table info available.
#4 0x0000557b659a013e in ?? ()
No symbol table info available.
#5 0x0000557b65aab868 in ?? ()
No symbol table info available.
#6 0x0000557b65aaa5ee in Py_FinalizeEx ()
No symbol table info available.
#7 0x0000557b65a99a23 in Py_RunMain ()
No symbol table info available.
#8 0x0000557b65a6fe6d in Py_BytesMain ()
No symbol table info available.
#9 0x00007f63807ddd90 in __libc_start_call_main (main=main@entry=0x557b65a6fe30, argc=argc@entry=3, argv=argv@entry=0x7ffe36d92b28) at ../sysdeps/nptl/libc_start_call_main.h:58
self =
result =
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -8827312333837685579, 140729818622760, 93988474781232, 93988478138488, 140065337909312, 8828035491785354421, 8914900511411416245}, mask_was_saved = 0}}, pr
iv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call =
#10 0x00007f63807dde40 in __libc_start_main_impl (main=0x557b65a6fe30, argc=3, argv=0x7ffe36d92b28, init=, fini=, rtld_fini=, stack_end=0x7ffe36d92b18) at ../csu/lib
c-start.c:392
No locals.
#11 0x0000557b65a6fd65 in _start ()
No symbol table info available.
StacktraceAddressSignature: /usr/share/backintime/qt/app.py:11:/usr/bin/python3.10+98a0:/usr/lib/python3/dist-packages/PyQt5/QtCore.abi3.so+16c3db:/usr/lib/python3/dist-packages/PyQt5/sip.cpython-310-x86_64-linu
x-gnu.so+10d40:/usr/lib/python3/dist-packages/PyQt5/QtCore.abi3.so+16c33d:/usr/bin/python3.10+ec13e:/usr/bin/python3.10+1f7868:/usr/bin/python3.10+1f65ee:/usr/bin/python3.10+1e5a23:/usr/bin/python3.10+1bbe6d:/us
r/lib/x86_64-linux-gnu/libc.so.6+1d90:/usr/lib/x86_64-linux-gnu/libc.so.6+1e40:/usr/bin/python3.10+1bbd65
StacktraceTop:
PyCFunction_Type ()
?? () from /usr/lib/python3/dist-packages/PyQt5/QtCore.abi3.so
?? () from /usr/lib/python3/dist-packages/PyQt5/sip.cpython-310-x86_64-linux-gnu.so
?? () from /usr/lib/python3/dist-packages/PyQt5/QtCore.abi3.so
?? ()
Tags: third-party-packages jammy
ThreadStacktrace:
.
Thread 3 (Thread 0x7f637a313640 (LWP 20099)):
#0 0x00007f63808ccd7f in __GI___poll (fds=0x7f637a312cc8, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
sc_ret = -516
sc_cancel_oldtype = 0
sc_ret =
#1 0x00007f637c1db7e2 in ?? () from /lib/x86_64-linux-gnu/libxcb.so.1
No symbol table info available.
#2 0x00007f637c1dd22c in xcb_wait_for_event () from /lib/x86_64-linux-gnu/libxcb.so.1
No symbol table info available.
#3 0x00007f637a562d08 in ?? () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
No symbol table info available.
#4 0x00007f637ee1bca1 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#5 0x00007f6380848b43 in start_thread (arg=) at ./nptl/pthread_create.c:442
ret =
pd =
out =
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140729818618560, -8827312333838078795, 140065228535360, 2, 140065334659152, 140729818618912, 8915405778247494837, 8914901002514738357}, mask_was_saved = 0}},
priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call =
#6 0x00007f63808daa00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
No locals.
.
Thread 2 (Thread 0x7f6379980640 (LWP 20100)):
#0 0x00007f63808ccd7f in __GI___poll (fds=0x7f636c004ed0, nfds=3, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
sc_ret = -516
sc_cancel_oldtype = 0
sc_ret =
#1 0x00007f637e260696 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#2 0x00007f637e2093c3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#3 0x00007f637f0620a8 in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#4 0x00007f637f00774b in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#5 0x00007f637ee1aaf2 in QThread::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#6 0x00007f637a42af0b in ?? () from /lib/x86_64-linux-gnu/libQt5DBus.so.5
No symbol table info available.
#7 0x00007f637ee1bca1 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#8 0x00007f6380848b43 in start_thread (arg=) at ./nptl/pthread_create.c:442
ret =
pd =
out =
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140729818618256, -8827312333838078795, 140065218496064, 2, 140065334659152, 140729818618608, 8915408847538498741, 8914901002514738357}, mask_was_saved = 0}},
priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call =
#9 0x00007f63808daa00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
No locals.
.
Thread 1 (Thread 0x7f63807b3000 (LWP 20097)):
#0 0x0000557b65db38a0 in PyCFunction_Type ()
No symbol table info available.
#1 0x00007f637c0613db in ?? () from /usr/lib/python3/dist-packages/PyQt5/QtCore.abi3.so
No symbol table info available.
#2 0x00007f637c16ed40 in ?? () from /usr/lib/python3/dist-packages/PyQt5/sip.cpython-310-x86_64-linux-gnu.so
No symbol table info available.
#3 0x00007f637c06133d in ?? () from /usr/lib/python3/dist-packages/PyQt5/QtCore.abi3.so
No symbol table info available.
#4 0x0000557b659a013e in ?? ()
No symbol table info available.
#5 0x0000557b65aab868 in ?? ()
No symbol table info available.
#6 0x0000557b65aaa5ee in Py_FinalizeEx ()
No symbol table info available.
#7 0x0000557b65a99a23 in Py_RunMain ()
No symbol table info available.
#8 0x0000557b65a6fe6d in Py_BytesMain ()
No symbol table info available.
#9 0x00007f63807ddd90 in __libc_start_call_main (main=main@entry=0x557b65a6fe30, argc=argc@entry=3, argv=argv@entry=0x7ffe36d92b28) at ../sysdeps/nptl/libc_start_call_main.h:58
self =
result =
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -8827312333837685579, 140729818622760, 93988474781232, 93988478138488, 140065337909312, 8828035491785354421, 8914900511411416245}, mask_was_saved = 0}}, pr
iv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call =
#10 0x00007f63807dde40 in __libc_start_main_impl (main=0x557b65a6fe30, argc=3, argv=0x7ffe36d92b28, init=, fini=, rtld_fini=, stack_end=0x7ffe36d92b18) at ../csu/lib
c-start.c:392
No locals.
#11 0x0000557b65a6fd65 in _start ()
No symbol table info available.

@aryoda
Copy link
Contributor

aryoda commented Aug 22, 2022

Is this a reproducible crash? What are the steps to reproduce it?

@SkyGolem
Copy link
Author

It happens randomly. Just happened again now, on closing backintime.

@buhtz
Copy link
Member

buhtz commented Aug 30, 2022

I am willing to learn how to read such stacktraces. ;)

@aryoda
Copy link
Contributor

aryoda commented Aug 30, 2022

@SkyGolem Which BiT version is installed on Ubuntu 22.04? 1.2.1?

I have no Ubuntu 22.04 up and running and a non-reproducible error is difficult to debug - but in the stacktrace I can see at least:

#0 0x0000557b65db38a0 in PyCFunction_Type ()
No symbol table info available.

  1. Install the [lib]python3*-dbg packages to get symbol information in the traceback (symbol = variable or function name)
  2. If the crash happens again please re-post the traceback here (hopefully it contains more debug information then)

Since the error is a SEGFAULT I'd suspect an error in the Python runtime (see below -> search Cython bug tracker)

/usr/bin/python3.10+1f65ee

Python 3.10 is used (maybe there is a known bug in their tracker for this).

/usr/lib/python3/dist-packages/PyQt5/QtCore.abi3.so

Qt5 is used, there was another ticket with issues using Qt5 AFAIR (not sure if it was already solved).

@aryoda
Copy link
Contributor

aryoda commented Aug 31, 2022

I propose to open a new (additional) issue to improve the documentation:

  • How to collect required diagnostic information about crashes (tracebacks with symbols) for an issue
  • How to diagnose sporadic (non-reproducible) crashes (eg. by enabling logging and tracing)

Perhaps someone should also sketch an issue template with the minimal required environment information and
links to docs for collecting further diagnostics..

@buhtz
Copy link
Member

buhtz commented Sep 1, 2022

Good idea. I vote for yes.

It was still back in my head to add some more information's about how to deal/interact/communicate with the project. This could go in an extra md-file (linked from README and CONTRIBUTE file of course) or into the wiki. I don't assume that users will read this by them self. But we can link to it in issues and save us from repeat writing things.

I also have in mind to add some more information's about the used environment and dependencies in the debug output. Have seen that in other projects. ;)

@aryoda
Copy link
Contributor

aryoda commented Sep 1, 2022

I have opened #1278 to request issue templates for the repo as starting point...
Required documentation for the templates could be created when implementing this issue (or as a separate issue if it is to much work).

@aryoda
Copy link
Contributor

aryoda commented Sep 1, 2022

@SkyGolem Which BiT version is installed on Ubuntu 22.04? 1.2.1?

@SkyGolem How did you install BiT? From the standard package "backintime-qt" in Synaptics/"Ubuntu Software"?

If yes: Looking at the dependencies the (IMHO) required debugging symbols can be installed via the packages

  • python3-pyqt5-dbg
  • python3-dbg
  • libpython3.10-dbg

eg. via sudo apt install python3-dbg python3-pyqt5-dbg libpython3.10-dbg

where "-dbg" indicates that it contains the debugging symbols ("function and variable names") to translate memory addresses in tracebacks into source code references.

Please note I have no Ubuntu 22.04 available so my proposed packages are an "educated guess" only and may fail.

If the crash happens again then post the traceback here again. Thanks :-)

@emtiu
Copy link
Member

emtiu commented Sep 7, 2022

Thank you for your report, @SkyGolem! I'm closing this as a duplicate of #1095, but we will hopefully be able to use your stacktrace :)

@emtiu emtiu closed this as completed Sep 7, 2022
@SkyGolem
Copy link
Author

SkyGolem commented Oct 27, 2022 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants