system-config-printer.py crashed with SIGSEGV in __GI_fileno()

Bug #951001 reported by M0Rph3U5
22
This bug affects 2 people
Affects Status Importance Assigned to Milestone
python-cups (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

I get this error on 12.04 beta (fresh installed).

ProblemType: Crash
DistroRelease: Ubuntu 12.04
Package: system-config-printer-gnome 1.3.8+20120201-0ubuntu5
ProcVersionSignature: Ubuntu 3.2.0-17.27-generic 3.2.6
Uname: Linux 3.2.0-17-generic x86_64
NonfreeKernelModules: nvidia
ApportVersion: 1.94.1-0ubuntu1
Architecture: amd64
CupsErrorLog:

Date: Fri Mar 9 18:17:36 2012
ExecutablePath: /usr/share/system-config-printer/system-config-printer.py
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Beta amd64 (20120301)
InterpreterPath: /usr/bin/python2.7
Lpstat: Error: command ['lpstat', '-v'] failed with exit code 1: lpstat: No destinations added.
MachineType: To Be Filled By O.E.M. To Be Filled By O.E.M.
PackageArchitecture: all
Papersize: a4
ProcCmdline: /usr/bin/python /usr/share/system-config-printer/system-config-printer.py
ProcEnviron:
 PATH=(custom, no user)
 LANG=hu_HU.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.2.0-17-generic root=UUID=3b3f6d68-7bc0-4284-beae-e7a4d52b8350 ro quiet splash vt.handoff=7
SegvAnalysis:
 Segfault happened at: 0x7f80893bb010 <fileno_unlocked>: mov (%rdi),%eax
 PC (0x7f80893bb010) ok
 source "(%rdi)" (0x00000000) not located in a known VMA region (needed readable region)!
 destination "%eax" ok
SegvReason: reading NULL VMA
Signal: 11
SourcePackage: system-config-printer
StacktraceTop:
 fileno_unlocked () from /lib/x86_64-linux-gnu/libc.so.6
 ?? () from /usr/lib/python2.7/dist-packages/cups.so
 ?? ()
 PyObject_Call ()
 PyEval_EvalFrameEx ()
Title: system-config-printer.py crashed with SIGSEGV in fileno_unlocked()
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
dmi.bios.date: 02/23/2010
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: P1.00
dmi.board.name: G31M-VS2
dmi.board.vendor: ASRock
dmi.chassis.asset.tag: To Be Filled By O.E.M.
dmi.chassis.type: 3
dmi.chassis.vendor: To Be Filled By O.E.M.
dmi.chassis.version: To Be Filled By O.E.M.
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvrP1.00:bd02/23/2010:svnToBeFilledByO.E.M.:pnToBeFilledByO.E.M.:pvrToBeFilledByO.E.M.:rvnASRock:rnG31M-VS2:rvr:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:
dmi.product.name: To Be Filled By O.E.M.
dmi.product.version: To Be Filled By O.E.M.
dmi.sys.vendor: To Be Filled By O.E.M.

Revision history for this message
M0Rph3U5 (themorpheus) wrote :
Revision history for this message
Apport retracing service (apport) wrote :

StacktraceTop:
 __GI_fileno (fp=0x0) at fileno.c:37
 PPD_dealloc (self=0x7f805dbac090) at cupsppd.c:239
 type_call ()
 PyObject_Call ()
 PyEval_EvalFrameEx ()

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

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

Changed in system-config-printer (Ubuntu):
status: New → Confirmed
visibility: private → public
Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

Missing NULL check in the pycups library.

affects: system-config-printer (Ubuntu) → python-cups (Ubuntu)
Changed in python-cups (Ubuntu):
milestone: none → ubuntu-12.04-beta-2
status: Confirmed → In Progress
Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

Tim, there is a debug output not protected by NULL checks in the PPD_dealloc() function in cupsppd.c. Can you apply my patch upstream? Thanks.

Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

Fixed in python-cups 1.9.61-0ubuntu2:

python-cups (1.9.61-0ubuntu2) precise; urgency=low

  * debian/patches/cupsppd-ppd-dealloc-null-check.patch: Added NULL check
    to the PPD_dealloc() function in cupsppd.c.
  * debian/source/format: Set format 3.0/quilt.

Changed in python-cups (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Tim Waugh (twaugh) wrote :

Thanks. Applied upstream, but with the unnecessary 'if (!self)' part removed -- that function won't be called if the object doesn't exist.

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.