RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1441231 - The tdb robust mutexes runtime check is not thread safe and ends in a deadlock
Summary: The tdb robust mutexes runtime check is not thread safe and ends in a deadlock
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: libtdb
Version: 7.4
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Jakub Hrozek
QA Contact: Petr Sklenar
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-04-11 13:11 UTC by Petr Sklenar
Modified: 2017-08-01 18:19 UTC (History)
8 users (show)

Fixed In Version: libtdb-1.3.12-2.el7
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-08-01 18:19:35 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
strace log (1.92 MB, text/plain)
2017-04-11 13:13 UTC, Petr Sklenar
no flags Details
journal-good (2.31 KB, text/plain)
2017-04-11 19:35 UTC, Zdenek Dohnal
no flags Details
journal-bad (1.54 KB, text/plain)
2017-04-11 19:36 UTC, Zdenek Dohnal
no flags Details
GDB output (15.69 KB, text/plain)
2017-04-12 13:21 UTC, Zdenek Dohnal
no flags Details
Strace when s-c-p freezes (2.47 MB, text/plain)
2017-04-26 20:21 UTC, Zdenek Dohnal
no flags Details
Strace when s-c-p works ok (1.20 MB, text/plain)
2017-04-26 20:22 UTC, Zdenek Dohnal
no flags Details
Threads backtrace of s-c-p (34.37 KB, text/plain)
2017-04-27 07:48 UTC, Zdenek Dohnal
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2017:1948 0 normal SHIPPED_LIVE libtdb bug fix update 2017-08-01 18:09:09 UTC
Samba Project 12593 0 None None None 2019-01-08 16:15:31 UTC

Description Petr Sklenar 2017-04-11 13:11:27 UTC
Description of problem:
s-c-printer freezes when 'Find Network Printer'

Version-Release number of selected component (if applicable):

rpm -q cups system-config-printer gnome-shell
cups-1.6.3-28.el7.x86_64
system-config-printer-1.4.1-19.el7.x86_64
gnome-shell-3.22.3-8.el7.x86_64


How reproducible:
deterministic

Steps to Reproduce:
1. have a fresh rhel74.nightly machine
2. start cups
3. start system-config-printer ( I tried root over vncserver)
4. Network printer > Find Network printer > click 'find'

Actual results:
it freezes, gui doesn't respond
when I try to add some real cups server, it finds but after that it freezes again

Expected results:
I can add network printer

Additional info:
when I add latest cups on rhel73 it works fine.
There could be some issue in gnome rebase
or some changed dependent components

Comment 2 Petr Sklenar 2017-04-11 13:13:32 UTC
Created attachment 1270780 [details]
strace log

attachment created as:
DISPLAY=:1 strace -f system-config-printer &> /tmp/s-c-printer.log

---
there is very strange behavior, when strace is WITHOUT '-f' its not reproduced!

Comment 3 Petr Sklenar 2017-04-11 13:16:52 UTC
for the first view between rhel73 and rhel74 there are more of these lines with "Operation not supported"

[pid  5129] ioctl(18, SIOCETHTOOL, 0x7fa2d37fd0a0) = -1 EOPNOTSUPP (Operation not supported)

anyway starce log is not

Comment 5 Tomas Pelka 2017-04-11 15:14:54 UTC
It won't freeze for me, all I can see is:

/usr/share/system-config-printer/system-config-printer.py:30: PyGIWarning: GdkPixbuf was imported without specifying a version first. Use gi.require_version('GdkPixbuf', '2.0') before import to ensure that the right version gets loaded.
  from gi.repository import GdkPixbuf
/usr/share/system-config-printer/system-config-printer.py:32: PyGIWarning: Gdk was imported without specifying a version first. Use gi.require_version('Gdk', '3.0') before import to ensure that the right version gets loaded.
  from gi.repository import Gdk
/usr/share/system-config-printer/system-config-printer.py:33: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded.
  from gi.repository import Gtk
/usr/share/system-config-printer/jobviewer.py:27: PyGIWarning: Notify was imported without specifying a version first. Use gi.require_version('Notify', '0.7') before import to ensure that the right version gets loaded.
  from gi.repository import Notify
/usr/share/system-config-printer/jobviewer.py:54: PyGIWarning: GnomeKeyring was imported without specifying a version first. Use gi.require_version('GnomeKeyring', '1.0') before import to ensure that the right version gets loaded.
  from gi.repository import GnomeKeyring
Error creating proxy: The connection is closed (g-io-error-quark, 18)
Error creating proxy: The connection is closed (g-io-error-quark, 18)
Error creating proxy: The connection is closed (g-io-error-quark, 18)
Error creating proxy: The connection is closed (g-io-error-quark, 18)
Caught non-fatal exception.  Traceback:
File "/usr/share/system-config-printer/probe_printer.py", line 255, in _do_find
    fn ()
File "/usr/share/system-config-printer/probe_printer.py", line 367, in _probe_hplip
    stderr=null)
File "/usr/lib64/python2.7/subprocess.py", line 711, in __init__
    errread, errwrite)
File "/usr/lib64/python2.7/subprocess.py", line 1327, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory
Continuing anyway..

What is you version of python-gobject?

Comment 8 Zdenek Dohnal 2017-04-11 19:35:22 UTC
Created attachment 1270932 [details]
journal-good

Journal from VM, where system-config-printer works.

Comment 9 Zdenek Dohnal 2017-04-11 19:36:18 UTC
Created attachment 1270934 [details]
journal-bad

Journal from 1minutetip machine, where system-config-printer hangs.

Comment 11 Tomas Pelka 2017-04-11 19:42:19 UTC
yeah both cups-pk-helper and zenity were rebased in 7.4 too

Comment 17 Zdenek Dohnal 2017-04-12 13:21:09 UTC
Created attachment 1271150 [details]
GDB output

Adding gdb output, which was got by attaching to running system-config-printer. It stays on futex.

Comment 18 Marek Kašík 2017-04-13 14:13:18 UTC
I'm still not able to reproduce it locally but looking at the available machine it seems that it is a problem related to samba. If I call "thread apply all bt" in gdb attached to the process it is stuck in samba's opendir().
Looking at it again, it is not stuck anymore :(.

Comment 19 Marek Kašík 2017-04-13 14:14:55 UTC
Btw clicking on the "Windows printer via SAMBA" and then "Browse" froze the tool too.

Comment 20 Marek Kašík 2017-04-13 14:21:55 UTC
(In reply to Marek Kašík from comment #18)
> Looking at it again, it is not stuck anymore :(.

It freezes again.

Comment 21 Marek Kašík 2017-04-19 08:50:39 UTC
I still can not reproduce it locally. I would recommend you to try to find minimal example which reproduces this. It should be something which calls the "_probe_smb()" in similar environment (glib's loop, etc.) and then cut all the pieces of code which don't change the resulting behaviour. After that you will hopefully have a small set of operations for which you have to check whether they are used correctly.
Good luck.

Comment 22 Zdenek Dohnal 2017-04-20 08:16:02 UTC
Thanks, Marek. I will try to reproduce it as you say. I will ask Andreas about Samba, if its rebase could be the source of this problem.

Comment 23 Zdenek Dohnal 2017-04-20 08:35:40 UTC
Andreas, do you have any ideas about this issue?

Comment 25 Zdenek Dohnal 2017-04-26 20:20:08 UTC
 After cooperation with Andreas I found out the component which causes this issue - libtdb. I attached two strace outputs - one when everything is ok, other when freeze happens. This issue appeared after libtdb's rebase to 1.3.12 from 1.3.8. I can see that thread, which is using libtdb, stays on rt_sigsuspend call, which probably causes start of main thread of s-c-p, which freeze on futex after that.
I tried RHEL version of s-c-p in Fedora and there worked fine. Same with python-smbc package. The fact that libtdb causes this bug, I found out when I updated this package and issue appeared.
I reassign this bugzilla to libtdb due facts mentioned earlier. Kuba, as Petr wrote in comment #24, you can reproduce the issue on that machine.

Comment 26 Zdenek Dohnal 2017-04-26 20:21:37 UTC
Created attachment 1274386 [details]
Strace when s-c-p freezes

Comment 27 Zdenek Dohnal 2017-04-26 20:22:33 UTC
Created attachment 1274387 [details]
Strace when s-c-p works ok

Comment 28 Zdenek Dohnal 2017-04-27 07:48:05 UTC
Created attachment 1274517 [details]
Threads backtrace of s-c-p

Comment 29 Andreas Schneider 2017-04-27 12:12:43 UTC
Jakub, I'm doing a 'git bisect' with Zdenek.

Comment 30 Jakub Hrozek 2017-04-27 12:18:00 UTC
(In reply to Andreas Schneider from comment #29)
> Jakub, I'm doing a 'git bisect' with Zdenek.

Thank you very much.

Comment 31 Stefan Metzmacher 2017-04-27 12:20:18 UTC
This looks like:
https://bugzilla.samba.org/show_bug.cgi?id=12593

Comment 32 Andreas Schneider 2017-04-27 12:30:52 UTC
Patch tested and works, pushed to Samba master.

Comment 41 errata-xmlrpc 2017-08-01 18:19:35 UTC
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://access.redhat.com/errata/RHEA-2017:1948


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