Opened 5 years ago

Closed 5 years ago

#3341 closed defect (fixed)

Memory error in libqsvg.so on exit

Reported by: Tristan Croll Owned by: Greg Couch
Priority: moderate Milestone:
Component: Platform Version:
Keywords: Cc: chimera-programmers
Blocked By: Blocking:
Notify when closed: Platform: Linux64 (X11)
Project: ChimeraX

Description

I've been seeing occasional segmentation faults (maybe 1 time in 20) on closing ChimeraX (CentOS 7 builds) for the last month or two. Was assuming it was something I'd done, but it doesn't look like that's the case. Finally managed to capture one under gdb, but it wasn't very helpful:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffee6ffd700 (LWP 10493)]
0x00007fffb30ed3a4 in ?? ()
(gdb) bt
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffee6ffd700 (LWP 10493)]
0x00007fffb30ed3a4 in ?? ()
(gdb) bt
#0  0x00007fffb30ed3a4 in  ()
#1  0x00007ffee6ffcdb0 in  ()
#2  0x00007ffee6ffcda0 in  ()
#3  0x000000005ed22d77 in  ()
#4  0x0000000000026f11 in  ()
#5  0x000000005ed22d77 in  ()
#6  0x000000000f77bb68 in  ()
#7  0x0000000000000001 in  ()
#8  0x0000000002d78da0 in  ()
#9  0x00007fffb3ff69e0 in  ()
#10 0x0000000002d78da0 in  ()
#11 0x00007fffb3ff6200 in  ()
#12 0x00007fffb3ff6200 in  ()
#13 0x00007fffb3ff69e0 in  ()
#14 0x00007fffb315efcc in  ()
#15 0x0000000000000001 in  ()
#16 0x00007ffee6ffd700 in  ()
#17 0x0000000000000000 in  ()


Running the same scenario with ChimeraX.valgrind gives some better info:

==9625== Thread 39:
==9625== Jump to the invalid address stated on the next line
==9625==    at 0x3C80D3A4: ???
==9625==    by 0x6A988DAF: ???
==9625==    by 0x6A988D9F: ???
==9625==    by 0x5ED23702: ??? (in
/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/PyQt5/Qt/plugins/imageformats/libqsvg.so)
==9625==    by 0x92F6: ???
==9625==    by 0x5ED23702: ??? (in
/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/PyQt5/Qt/plugins/imageformats/libqsvg.so)
==9625==    by 0x833F5D7: ??? (in /usr/lib/locale/locale-archive)
==9625==  Address 0x3c80d3a4 is not stack'd, malloc'd or (recently)
free'd
==9625==
{
    <insert_a_suppression_name_here>
    Memcheck:Jump
    obj:*
    obj:*
    obj:*

obj:/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/PyQt5/Qt/plugins/imageformats/libqsvg.so
    obj:*

obj:/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/PyQt5/Qt/plugins/imageformats/libqsvg.so
    obj:/usr/lib/locale/locale-archive
}
==9625==
==9625== Process terminating with default action of signal 11 (SIGSEGV)
==9625==  Access not within mapped region at address 0x3C80D3A4
==9625==    at 0x3C80D3A4: ???
==9625==    by 0x6A988DAF: ???
==9625==    by 0x6A988D9F: ???
==9625==    by 0x5ED23702: ??? (in
/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/PyQt5/Qt/plugins/imageformats/libqsvg.so)
==9625==    by 0x92F6: ???
==9625==    by 0x5ED23702: ??? (in
/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/PyQt5/Qt/plugins/imageformats/libqsvg.so)
==9625==    by 0x833F5D7: ??? (in /usr/lib/locale/locale-archive)
==9625==  If you believe this happened as a result of a stack
==9625==  overflow in your program's main thread (unlikely but
==9625==  possible), you can try to increase the size of the
==9625==  main thread stack using the --main-stacksize= flag.
==9625==  The main thread stack size used in this run was 8388608.

Looks suspiciously similar to https://github.com/lxqt/lxqt/issues/1193.

Change History (4)

comment:1 by pett, 5 years ago

Cc: chimera-programmers added
Component: CorePlatform
Owner: changed from pett to Greg Couch
Priority: majormoderate

comment:2 by Greg Couch, 5 years ago

Are you still seeing this error?

in reply to:  3 ; comment:3 by Tristan Croll, 5 years ago

Now that you ask, no - I can't recall seeing a segmentation fault on 
close since moving to 1.0.

On 2020-08-21 23:02, ChimeraX wrote:

comment:4 by Greg Couch, 5 years ago

Resolution: fixed
Status: assignedclosed

Great! I assuming that the switch to building all Linux binary wheels on CentOS 7 fixed it.

Note: See TracTickets for help on using tickets.