system-config-printer.py crashed with SIGSEGV in g_object_freeze_notify() on renaming a printer

Bug #1229337 reported by Giuseppe Pistola
28
This bug affects 4 people
Affects Status Importance Assigned to Milestone
system-config-printer (Ubuntu)
Confirmed
High
Unassigned

Bug Description

multiple windows were opened so... i didn't view if the printer configuration window was... i can't wait at the momet. sorry!

ProblemType: Crash
DistroRelease: Ubuntu 13.10
Package: system-config-printer-gnome 1.4.2+20130920-0ubuntu1
ProcVersionSignature: Ubuntu 3.11.0-8.15-generic 3.11.1
Uname: Linux 3.11.0-8-generic x86_64
ApportVersion: 2.12.4-0ubuntu1
Architecture: amd64
CrashCounter: 1
Date: Mon Sep 23 19:09:28 2013
ExecutablePath: /usr/share/system-config-printer/system-config-printer.py
InstallationDate: Installed on 2013-09-23 (0 days ago)
InstallationMedia: Ubuntu 13.10 "Saucy Salamander" - Alpha amd64 (20130922)
InterpreterPath: /usr/bin/python2.7
MachineType: Hewlett-Packard G5310it
MarkForUpload: True
PackageArchitecture: all
Papersize: a4
ProcCmdline: /usr/bin/python /usr/share/system-config-printer/system-config-printer.py
ProcEnviron:
 LANGUAGE=it
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=it_IT.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.11.0-8-generic root=UUID=002e780d-3209-41fe-8215-819c138b65ae ro quiet splash vt.handoff=7
SegvAnalysis:
 Segfault happened at: 0x7fe2dcae9c81 <g_object_freeze_notify+17>: cmpq $0x50,(%rax)
 PC (0x7fe2dcae9c81) ok
 source "$0x50" ok
 destination "(%rax)" (0xaaaaaaaaaaaaaaaa) not located in a known VMA region (needed writable region)!
SegvReason: writing unknown VMA
Signal: 11
SourcePackage: system-config-printer
StacktraceTop:
 g_object_freeze_notify () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
 ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
 g_hash_table_foreach () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
 ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
 ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
Title: system-config-printer.py crashed with SIGSEGV in g_object_freeze_notify()
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
dmi.bios.date: 11/05/2010
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 6.14
dmi.board.name: 2A9C
dmi.board.vendor: MSI
dmi.board.version: 1.1
dmi.chassis.asset.tag: CZC1026F2D
dmi.chassis.type: 3
dmi.chassis.vendor: Hewlett-Packard
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr6.14:bd11/05/2010:svnHewlett-Packard:pnG5310it:pvrxxx0204GRxxxxxxxx0:rvnMSI:rn2A9C:rvr1.1:cvnHewlett-Packard:ct3:cvr:
dmi.product.name: G5310it
dmi.product.version: xxx0204GRxxxxxxxx0
dmi.sys.vendor: Hewlett-Packard

Revision history for this message
Giuseppe Pistola (sheldon) wrote :
Revision history for this message
Apport retracing service (apport) wrote :

StacktraceTop:
 g_object_freeze_notify (object=0x346df80) at /build/buildd/glib2.0-2.37.93/./gobject/gobject.c:1089
 apply_cell_attributes (renderer=0x346df80, info=0x7fe2c4315560, data=0x7fffae826480) at /build/buildd/gtk+3.0-3.8.4/./gtk/gtkcellarea.c:1257
 g_hash_table_foreach (hash_table=0x33a9aa0, func=func@entry=0x7fe2d62e23d0 <apply_cell_attributes>, user_data=user_data@entry=0x7fffae826480) at /build/buildd/glib2.0-2.37.93/./glib/ghash.c:1526
 gtk_cell_area_real_apply_attributes (area=<optimized out>, tree_model=0x2f69d60, iter=0x38a8780, is_expander=<optimized out>, is_expanded=<optimized out>) at /build/buildd/gtk+3.0-3.8.4/./gtk/gtkcellarea.c:1313
 gtk_cell_area_box_apply_attributes (area=<optimized out>, tree_model=<optimized out>, iter=<optimized out>, is_expander=<optimized out>, is_expanded=<optimized out>) at /build/buildd/gtk+3.0-3.8.4/./gtk/gtkcellareabox.c:1317

Revision history for this message
Apport retracing service (apport) wrote : Stacktrace.txt
Revision history for this message
Apport retracing service (apport) wrote : StacktraceSource.txt
Revision history for this message
Apport retracing service (apport) wrote : ThreadStacktrace.txt
Changed in system-config-printer (Ubuntu):
importance: Undecided → Medium
tags: removed: need-amd64-retrace
Revision history for this message
Launchpad Janitor (janitor) wrote : Re: system-config-printer.py crashed with SIGSEGV in g_object_freeze_notify()

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

Changed in system-config-printer (Ubuntu):
status: New → Confirmed
information type: Private → Public
Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

This bug I can reproduce when renaming printers (the poster of the duplicate bug has this problem on printer renaming).

If I left-click a printer, then right-click it, and after that choose "rename", system-config-printer immediately crashes, not giving me the possibility to modify the printer's name.

If I immediately right-click the printer I can actually rename it and system-config-printer keeps running. If I right-click the printer again and choose "rename" immediately after that, my rename request is simply ignored and I can repeat an arbitrary amount of times and the requests keep being ignored. If I left-click another printer and then right-click my first printer and choose "rename" I can rename the printer again, but system-config-printer crashes immediately afterwards.

For me it looks like that the GUI entry for the renamed printer does not get updated correctly and renaming again based on the broken GUI entry makes system-config-printer crash.

Tim, can you have a look?

summary: system-config-printer.py crashed with SIGSEGV in
- g_object_freeze_notify()
+ g_object_freeze_notify() on renaming a printer
Changed in system-config-printer (Ubuntu):
importance: Medium → High
Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

Calling self.populateList() in the end of printer_name_editing_done() does not fix the problem.

Revision history for this message
Tim Waugh (twaugh) wrote :

OK, I see the same thing. Putting a "return" immediately after this section doesn't make the problem go away:

    def on_rename_activate(self, *UNUSED):
        tuple = self.dests_iconview.get_cursor ()
        if tuple == None:
            return

        return # <-- here

...but putting it immediately before the self.dests_iconview.get_cursor() call *does* make the problem go away. Why would a get_cursor() call cause a problem?

Revision history for this message
Donarsson (benjamin-schwarz) wrote :

Is there a space between get_cursor and the () in the source like you posted above?
Cause I think this would likely explain the problem.

Revision history for this message
Tim Waugh (twaugh) wrote :

How would that explain the problem?

Revision history for this message
Donarsson (benjamin-schwarz) wrote :

It would be a syntax error afaik. There should be no whitespace between a method name and the brackets.
So if you return immediately before the syntax error, it never fires.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.