cups-browsed crashed with SIGSEGV in g_slist_foreach()

Bug #1435287 reported by Jerry Preissler on 2015-03-23
132
This bug affects 22 people
Affects Status Importance Assigned to Milestone
cups-filters (Ubuntu)
High
Till Kamppeter
glib2.0 (Ubuntu)
High
Unassigned

Bug Description

Daily build from Mar 23rd 2015, booted from USB on Lenovo T440s. Selected 'Try Ubuntu', crash occured during startup

ProblemType: Crash
DistroRelease: Ubuntu 15.04
Package: cups-browsed 1.0.67-0ubuntu1
ProcVersionSignature: Ubuntu 3.19.0-9.9-generic 3.19.1
Uname: Linux 3.19.0-9-generic x86_64
ApportVersion: 2.16.2-0ubuntu4
Architecture: amd64
CasperVersion: 1.355
CupsErrorLog:

Date: Mon Mar 23 11:14:22 2015
ExecutablePath: /usr/sbin/cups-browsed
LiveMediaBuild: Ubuntu 15.04 "Vivid Vervet" - Alpha amd64 (20150323)
Lpstat: Error: command ['lpstat', '-v'] failed with exit code 1: lpstat: No destinations added.
MachineType: LENOVO 20AQ007TGE
Papersize: a4
ProcCmdline: /usr/sbin/cups-browsed
ProcEnviron:
 LANG=en_US.UTF-8
 PATH=(custom, no user)
ProcKernelCmdLine: noprompt cdrom-detect/try-usb=true persistent file=/cdrom/preseed/hostname.seed boot=casper initrd=/casper/initrd.lz quiet splash --- maybe-ubiquity
SegvAnalysis:
 Segfault happened at: 0x7f926f1a2cd0 <g_slist_foreach+16>: mov 0x8(%rdi),%rbx
 PC (0x7f926f1a2cd0) ok
 source "0x8(%rdi)" (0x00000009) not located in a known VMA region (needed readable region)!
 destination "%rbx" ok
SegvReason: reading NULL VMA
Signal: 11
SourcePackage: cups-filters
StacktraceTop:
 g_slist_foreach () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
 g_slist_free_full () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
 ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
 g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
 ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
Title: cups-browsed crashed with SIGSEGV in g_slist_foreach()
UdevLog: Error: [Errno 2] No such file or directory: '/var/log/udev'
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups:

dmi.bios.date: 09/03/2014
dmi.bios.vendor: LENOVO
dmi.bios.version: GJET79WW (2.29 )
dmi.board.asset.tag: Not Available
dmi.board.name: 20AQ007TGE
dmi.board.vendor: LENOVO
dmi.board.version: SDK0E50510 WIN
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: Not Available
dmi.modalias: dmi:bvnLENOVO:bvrGJET79WW(2.29):bd09/03/2014:svnLENOVO:pn20AQ007TGE:pvrThinkPadT440s:rvnLENOVO:rn20AQ007TGE:rvrSDK0E50510WIN:cvnLENOVO:ct10:cvrNotAvailable:
dmi.product.name: 20AQ007TGE
dmi.product.version: ThinkPad T440s
dmi.sys.vendor: LENOVO

StacktraceTop:
 g_slist_foreach (list=list@entry=0x1, func=0x7f926f18a890 <g_free>, user_data=user_data@entry=0x0) at /build/buildd/glib2.0-2.43.92/./glib/gslist.c:877
 g_slist_free_full (list=0x1, free_func=<optimized out>) at /build/buildd/glib2.0-2.43.92/./glib/gslist.c:172
 g_source_unref_internal (source=0x6f72c0, context=0x6eec50, have_lock=1) at /build/buildd/glib2.0-2.43.92/./glib/gmain.c:2027
 g_main_dispatch (context=0x6eec50) at /build/buildd/glib2.0-2.43.92/./glib/gmain.c:3149
 g_main_context_dispatch (context=context@entry=0x6eec50) at /build/buildd/glib2.0-2.43.92/./glib/gmain.c:3737

Changed in cups-filters (Ubuntu):
importance: Undecided → Medium
tags: removed: need-amd64-retrace
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in cups-filters (Ubuntu):
status: New → Confirmed
information type: Private → Public
Till Kamppeter (till-kamppeter) wrote :

Can you please attach your /etc/cups/cups-browsed.conf file. Thanks.

Changed in cups-filters (Ubuntu):
status: Confirmed → Incomplete
importance: Medium → High
Enrico (enricobe) wrote :

Same error on Xubuntu 15.04 at boot of the system.
I have Xubuntu correctly installed on my hard drive, i'm not using it from Live-USB like the user above

Enrico (enricobe) wrote :

This is my cups-browsed.conf file immediately after the crash

Changed in glib2.0 (Ubuntu):
importance: Undecided → High
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in glib2.0 (Ubuntu):
status: New → Confirmed
Changed in cups-filters (Ubuntu):
status: Incomplete → Confirmed
status: Confirmed → Triaged
Changed in glib2.0 (Ubuntu):
status: Confirmed → Triaged
Sebastien Bacher (seb128) wrote :

Till, why do you think it's a glib issue?

Changed in cups-filters (Ubuntu):
assignee: nobody → Till Kamppeter (till-kamppeter)
Changed in glib2.0 (Ubuntu):
status: Triaged → Incomplete

Seb, for me it looks like a problem of glib2 because of the following:

1. In the traceback it does not go throgh the code which I have recently changed.
2. The crash happens only in Ubuntu Vivid, not in Utopic and not in Fedora. Vivid has another (newer) version of glib2 than Fedora.
3. It is less probably Avahi as Fedora and Vivid have the same upstream version of Avahi.

For me it is difficult to investigate the crash by myself as it never happened for me.

The tracebacks are missing the symbols of Avahi if the code execution path goes through Avahi.

To everyone who observed this crash: Are you able to reproduce the crash? If so, can you try to downgrade cups-browsed and/or libglib2.0-0 to older versions and see with which versions the crash goes away?

Changed in cups-filters (Ubuntu):
status: Triaged → Incomplete

Till,

the crash happened when I booted from USB to see if Vivid works on my machine. The USB stick has since been repurposed, but if it helps I can try to recreate it and see if the problem can be reproduced. Which image should I use - the one I originally had the problem with or the current daily?

Enrico (enricobe) wrote :

The same bug happened in my installed version. It's quite hard to reproduce for me because it happens randomly when I boot the PC. Which log should I save when it happens?

If you are able ny repeatedly rebooting your machine to get a sufficient number of crashes, please try the following changes (alway one at a time) to see whether the crashes go away:

1. Modify /etc/cups/cups-browsed.conf, changing the line

BrowseRemoteProtocols dnssd cups

to

BrowseRemoteProtocols dnssd

If this does not improve the situation, try

BrowseRemoteProtocols cups

2. Downgrade to an older version of cups-filters

3. Downgrade to an older version of libglib2.0-0

4. Temporarily make shared print queues on remote machines not being shared.

5. Turn off network printers (printers connected by Ethernet or WiFi, independent whether you have a local print queue for them or not.

Do one or more of these measures eliminate the crashing?

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package cups-filters - 1.0.67-0ubuntu2

---------------
cups-filters (1.0.67-0ubuntu2) vivid; urgency=medium

  * debian/patches/cups-browsed-fix-numeric-ids-of-gsources.patch:
    cups-browsed: Numeric IDs for GSources of the glib event
    loop must be positive integers greater than zero according
    to the documentation of the g_source_get_id() function.
    Taken care of this at all places.
    Hopefully it fixes the recent crashes of cups-browsed: LP: #1435287,
    LP: #1436733, LP: #1436684, LP: #1431041, LP: #1434321
 -- Till Kamppeter <email address hidden> Thu, 9 Apr 2015 22:40:03 -0300

Changed in cups-filters (Ubuntu):
status: Incomplete → Fix Released
To post a comment you must log in.