Bug 437760

Summary: NULL dereference when closing a print dialog with no printers chosen
Product: [Fedora] Fedora Reporter: Jay Turner <jturner>
Component: evinceAssignee: Kristian Høgsberg <krh>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: 8CC: srevivo
Target Milestone: ---Keywords: EasyFix
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-01-09 01:12:21 EST Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Bug Depends On:    
Bug Blocks: 235705    

Description Lubomir Kundrak 2008-03-17 05:54:28 EDT
Description of problem:

If no printer is chosen (probably due to the fact that previously selected one
was removed, or cups is not running), program crashes due to NULL pointer
dereference.

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

gtk2-2.12.5-1.fc8

How reproducible:

Always

Steps to Reproduce:
1. run evince, open printing dialog, select an installed printer and close it
2. stop cups
3. open printing dialog and close it
  
Actual results:

Crash.

Expected results:

No crash.

Additional info:

Core was generated by `evince Prakticke_cviceni_c.3.pdf'.
Program terminated with signal 11, Segmentation fault.
#0  0x000000328135312f in _gtk_printer_prepare_for_print (printer=0x0,
print_job=0xbbfe70, settings=0x2aaab4301ae0, page_setup=0x7e5050) at
gtkprinter.c:795
795       GtkPrintBackendClass *backend_class = GTK_PRINT_BACKEND_GET_CLASS
(printer->priv->backend);

The obvious cause is printer being 0x0. Here's the backtrace, in case it matters:

(gdb) bt
#0  0x000000328135312f in _gtk_printer_prepare_for_print (printer=0x0,
print_job=0xbbfe70, settings=0x2aaab4301ae0, page_setup=0x7e5050) at
gtkprinter.c:795
#1  0x000000328135672d in gtk_print_job_constructor (type=10678176,
n_construct_properties=4, construct_params=0xbbac00) at gtkprintjob.c:232
#2  0x000000327ec0fe74 in IA__g_object_newv (object_type=10678176,
n_parameters=4, parameters=0xbbbdc0) at gobject.c:937
#3  0x000000327ec1094e in IA__g_object_new_valist (object_type=10678176,
first_property_name=0x0, var_args=0x7fff99626280) at gobject.c:1027
#4  0x000000327ec10af1 in IA__g_object_new (object_type=10678176,
first_property_name=0x3281439fba "title") at gobject.c:795
#5  0x00000032813568fb in IA__gtk_print_job_new (title=0x4666d0 "evince-print",
printer=0x0, settings=0x2aaab4301d00, page_setup=0x7e5050) at gtkprintjob.c:297
#6  0x00000000004332c5 in ev_window_print_job_cb (job=<value optimized out>,
window=0x704160) at ev-window.c:2238
#7  0x000000327ec0b1a9 in IA__g_closure_invoke (closure=0x9885e0,
return_value=0x0, n_param_values=1, param_values=0x7fff996266a0,
invocation_hint=0x7fff99626570) at gclosure.c:490
#8  0x000000327ec1a831 in signal_emit_unlocked_R (node=0x991e00, detail=0,
instance=0xb039f0, emission_return=0x0, instance_and_params=0x7fff996266a0) at
gsignal.c:2440
#9  0x000000327ec1bc73 in IA__g_signal_emit_valist (instance=0xb039f0,
signal_id=<value optimized out>, detail=0, var_args=0x7fff99626920) at
gsignal.c:2199
#10 0x000000327ec1be43 in IA__g_signal_emit (instance=0x0, signal_id=12320368,
detail=3023051488) at gsignal.c:2243
#11 0x000000000041c9fc in notify_finished (job=0xb039f0) at ev-job-queue.c:84
#12 0x000000327e42ef53 in IA__g_main_context_dispatch (context=0x6bbae0) at
gmain.c:2061
#13 0x000000327e43224d in g_main_context_iterate (context=0x6bbae0, block=1,
dispatch=1, self=<value optimized out>) at gmain.c:2694
#14 0x000000327e43255a in IA__g_main_loop_run (loop=0x6cb9a0) at gmain.c:2898
#15 0x000000328119cbfe in IA__gtk_main () at gtkmain.c:1163
#16 0x0000000000442f90 in main (argc=6967432, argv=<value optimized out>) at
main.c:383
#17 0x0000003d3a61e074 in __libc_start_main (main=0x442a40 <main>, argc=2,
ubp_av=0x7fff99626cf8, init=<value optimized out>, fini=<value optimized out>, 
    rtld_fini=<value optimized out>, stack_end=0x7fff99626ce8) at libc-start.c:220
#18 0x0000000000419839 in _start ()
(gdb)
Comment 1 Marek Kašík 2008-05-16 10:32:32 EDT
Hi,
this is Evince bug. Because Evince handles printing in its own way (using some
widgets from gtk2).
It is related to bug #429543 (Evince prints even when I hit escape in print dialog).

  Marek Kasik
Comment 3 Bug Zapper 2008-11-26 05:11:42 EST
This message is a reminder that Fedora 8 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 8.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '8'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 8's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 8 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping
Comment 4 Bug Zapper 2009-01-09 01:12:21 EST
Fedora 8 changed to end-of-life (EOL) status on 2009-01-07. Fedora 8 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.