Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1175662 - [abrt] gnome-abrt: XCloseDisplay(): cannot open and close a display
[abrt] gnome-abrt: XCloseDisplay(): cannot open and close a display
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: gnome-abrt (Show other bugs)
7.1
ppc64 Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Jakub Filak
Martin Kyral
abrt_hash:670d554600ddde07d58f7547e78...
: Patch
: 1175643 (view as bug list)
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2014-12-18 05:03 EST by Jakub Filak
Modified: 2016-11-03 23:05 EDT (History)
4 users (show)

See Also:
Fixed In Version: gnome-abrt-0.3.4-7.el7
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-11-03 23:05:41 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
File: backtrace (48.88 KB, text/plain)
2014-12-18 05:03 EST, Jakub Filak
no flags Details
File: cgroup (169 bytes, text/plain)
2014-12-18 05:03 EST, Jakub Filak
no flags Details
File: core_backtrace (4.56 KB, text/plain)
2014-12-18 05:03 EST, Jakub Filak
no flags Details
File: dso_list (3.91 KB, text/plain)
2014-12-18 05:03 EST, Jakub Filak
no flags Details
File: environ (3.08 KB, text/plain)
2014-12-18 05:03 EST, Jakub Filak
no flags Details
File: limits (1.29 KB, text/plain)
2014-12-18 05:03 EST, Jakub Filak
no flags Details
File: maps (14.31 KB, text/plain)
2014-12-18 05:03 EST, Jakub Filak
no flags Details
File: open_fds (145 bytes, text/plain)
2014-12-18 05:03 EST, Jakub Filak
no flags Details
File: proc_pid_status (843 bytes, text/plain)
2014-12-18 05:03 EST, Jakub Filak
no flags Details
File: var_log_messages (410 bytes, text/plain)
2014-12-18 05:03 EST, Jakub Filak
no flags Details
File: sosreport.tar.xz (5.50 MB, application/octet-stream)
2014-12-18 05:03 EST, Jakub Filak
no flags Details
Test program in plain C (939 bytes, text/plain)
2015-06-18 10:45 EDT, Olivier Fourdan
no flags Details
Patch (5.79 KB, patch)
2016-02-17 04:42 EST, Jakub Filak
no flags Details | Diff


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2016:2307 normal SHIPPED_LIVE abrt, gnome-abrt, and libreport bug fix and enhancement update 2016-11-03 09:40:24 EDT

  None (edit)
Description Jakub Filak 2014-12-18 05:03:36 EST
Description of problem:
I run a python script testing whether it is possible to open and close display while I was logged via ssh -X into a ppc64 machine. See bug #1020505 for more details.

Version-Release number of selected component:
gnome-abrt-0.3.4-6.el7

Additional info:
reporter:       libreport-2.1.11
backtrace_rating: 4
cmdline:        /usr/bin/python /usr/bin/gnome-abrt
crash_function: XCloseDisplay
executable:     /usr/bin/python2.7
kernel:         3.10.0-210.el7.ppc64
machineid:      systemd=cd2dd5749b584a59ab5f52d6bfd3f560
runlevel:       N 3
type:           CCpp
uid:            0

Truncated backtrace:
Thread no. 1 (10 frames)
 #0 XCloseDisplay at ClDisplay.c:51
 #1 .ffi_call_LINUX64 at ../src/powerpc/linux64.S:116
 #2 ffi_call at ../src/powerpc/ffi.c:985
 #3 _call_function_pointer at /usr/src/debug/Python-2.7.5/Modules/_ctypes/callproc.c:832
 #4 _ctypes_callproc at /usr/src/debug/Python-2.7.5/Modules/_ctypes/callproc.c:1179
 #5 PyCFuncPtr_call at /usr/src/debug/Python-2.7.5/Modules/_ctypes/_ctypes.c:3929
 #6 PyObject_Call at /usr/src/debug/Python-2.7.5/Objects/abstract.c:2529
 #7 do_call at /usr/src/debug/Python-2.7.5/Python/ceval.c:4316
 #8 call_function at /usr/src/debug/Python-2.7.5/Python/ceval.c:4121
 #9 PyEval_EvalFrameEx at /usr/src/debug/Python-2.7.5/Python/ceval.c:2740
Comment 1 Jakub Filak 2014-12-18 05:03:38 EST
Created attachment 970466 [details]
File: backtrace
Comment 2 Jakub Filak 2014-12-18 05:03:39 EST
Created attachment 970467 [details]
File: cgroup
Comment 3 Jakub Filak 2014-12-18 05:03:39 EST
Created attachment 970468 [details]
File: core_backtrace
Comment 4 Jakub Filak 2014-12-18 05:03:40 EST
Created attachment 970469 [details]
File: dso_list
Comment 5 Jakub Filak 2014-12-18 05:03:41 EST
Created attachment 970470 [details]
File: environ
Comment 6 Jakub Filak 2014-12-18 05:03:41 EST
Created attachment 970471 [details]
File: limits
Comment 7 Jakub Filak 2014-12-18 05:03:42 EST
Created attachment 970472 [details]
File: maps
Comment 8 Jakub Filak 2014-12-18 05:03:43 EST
Created attachment 970473 [details]
File: open_fds
Comment 9 Jakub Filak 2014-12-18 05:03:44 EST
Created attachment 970474 [details]
File: proc_pid_status
Comment 10 Jakub Filak 2014-12-18 05:03:44 EST
Created attachment 970475 [details]
File: var_log_messages
Comment 11 Jakub Filak 2014-12-18 05:03:55 EST
Created attachment 970476 [details]
File: sosreport.tar.xz
Comment 12 Jakub Filak 2014-12-18 05:06:55 EST
*** Bug 1175643 has been marked as a duplicate of this bug. ***
Comment 14 Olivier Fourdan 2015-06-18 08:10:13 EDT
While I can reproduce the crash, I am not entirely convinced the problem really lies in libX11/libxcb.

According to the backtrace in comment #0, the segfault occurs in XCloseDisplay() at line 51 of ClDisplay.c which reads:

44    int
45    XCloseDisplay (
46    	register Display *dpy)
47    {
48    	register _XExtension *ext;
49    	register int i;
50    
51 ==>  if (!(dpy->flags & XlibDisplayClosing))
52    	{

We can reasonably think that dpy is pointing to either 0 or a wrong address, thus the segfault when trying to access dpy->flags

That would mean the problem lies in the caller instead, not in the library, or else XOpenDisplay() does not return a valid display address, in which case all X11 programs would fail on PPC (which is not the case, AFAIK).

So it could be a problem with Python and dlopen() of a library on ppc64.
Comment 15 Olivier Fourdan 2015-06-18 08:13:26 EDT
The core file shows dpy is not null, so most likely pointing to a wrong address.

#0  XCloseDisplay (dpy=0x283b1dd0) at ClDisplay.c:51
Comment 16 Olivier Fourdan 2015-06-18 10:45:04 EDT
Created attachment 1040519 [details]
Test program in plain C

I think it's a problem with Python, the exact same program written in plain C (using dlopen on libX11) works just fine.
Comment 17 Jakub Filak 2015-06-18 10:53:32 EDT
We have fixed the crash in gnome-abrt upstream by moving the check from Python code to C wrappers:
https://github.com/abrt/gnome-abrt/commit/5dcf9097cdfa68087569e13f9e8c2eb2eba8250f
because the crash started appearing in Fedora Rawhide (bug #1188002).

If there is no interest in finding out the root cause of this crash, we can re-assign this bug report to gnome-abrt.
Comment 24 Jakub Filak 2016-02-17 04:42 EST
Created attachment 1127897 [details]
Patch

I backported the upstream patch https://github.com/abrt/gnome-abrt/commit/5dcf9097cdfa68087569e13f9e8c2eb2eba8250f
Comment 29 errata-xmlrpc 2016-11-03 23:05:41 EDT
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2016-2307.html

Note You need to log in before you can comment on or make changes to this bug.