GNOME Bugzilla – Bug 478552
Crash trying to print a spreadsheet
Last modified: 2007-10-28 15:01:17 UTC
Version: 1.7.11 What were you doing when the application crashed? Trying to print a spreadsheet. Distribution: Unknown Gnome Release: 2.18.3 2007-08-14 (FreeBSD GNOME Project) BugBuddy Version: 2.18.1 System: FreeBSD 6.2-STABLE FreeBSD 6.2-STABLE #0: Wed Apr 18 21:57:44 CEST 2007 root@ses2.uni.to:/usr/obj/usr/src/sys/GENERIC i386 X Vendor: The X.Org Foundation X Vendor Release: 70200000 Selinux: No Accessibility: Disabled GTK+ Theme: Clearlooks Icon Theme: gnome Memory status: size: 39188 vsize: 39188 resident: 28280 share: 33512666 rss: 28280 rss_rlim: 7070 CPU usage: start_time: 0 rtime: 133 utime: 0 stime: 0 cutime:0 cstime: 0 timeout: 0 it_real_value: 0 frequency: 133 Backtrace was generated from '/usr/local/bin/gnumeric' (no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...[New LWP 100173] (no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...[Switching to LWP 100173] 0x2934c4d9 in wait4 () from /lib/libc.so.6
+ Trace 164100
Thread 1 (LWP 100173)
----------- .xsession-errors --------------------- (gnumeric:82231): Pango-CRITICAL **: pango_layout_get_single_paragraph_mode: assertion `PANGO_IS_LAYOUT (layout)' failed (gnumeric:82231): Pango-CRITICAL **: pango_layout_get_wrap: assertion `PANGO_IS_LAYOUT (layout)' failed (gnumeric:82231): Pango-CRITICAL **: pango_layout_get_auto_dir: assertion `PANGO_IS_LAYOUT (layout)' failed (gnumeric:82231): Pango-CRITICAL **: pango_layout_get_ellipsize: assertion `PANGO_IS_LAYOUT (layout)' failed (gnumeric:82231): Pango-CRITICAL **: pango_layout_get_font_description: assertion `PANGO_IS_LAYOUT (layout)' failed Pango-ERROR **: file pango-layout.c: line 3557 (pango_layout_check_lines): assertion failed: (!layout->log_attrs) aborting... warning: Unable to get location for thread creation breakpoint: generic error --------------------------------------------------
Does this happen with any sheet or a specific one? If specific, may we have a copy?
You cannot get the sheet since it contains confidential information. It only happens sometimes and with different sheets. Would it help if I build gnumeric with debugging symbols and tried to produce another crash?
That might help, or perhaps you could prune the sheet down to whatever cell it is that is causing problems. I.e., 1 make a copy of the file and work on the copy. 2 delete half of the contents. 3 try printing 4 if crash, go to step 1 5 if no crash, restore the previous sheet and try deleting the other half etc... That should, hopefully, leave you with a single cell or two that has some strange formatting which we don't get right during printing.
According to this:
+ Trace 164167
you should be getting some warnings printed if you run gnumeric from a terminal window. What are those warnings. (It also looks to me that gnumeric only crashes because you seem to have made warnings critical. Why did you do that?) In any case this happens inside pango not gnumeric.
Andreas: there are 5 pango criticals listed above. I am fairly certain that we are throwing a NULL layout at pango.
Morten: sorry, apparently I can't read.
Any progress on a sample file to help reproduce this ? If possible you could also send the file to me directly in encrypted form and I would apply our standard confidentiality protocols.
I believe I'm seeing this same crash with gnumeric/samples/excel12/cellstyle.xlsx. Version: r16026 Steps to reproduce: - Run Gnumeric - Import gnumeric/samples/excel12/cellstyle.xlsx - Press the Print Preview toolbar button to crash Gnumeric Console output: (gnumeric:28599): Pango-CRITICAL **: pango_layout_get_text: assertion `PANGO_IS_LAYOUT (layout)' failed (gnumeric:28599): Pango-CRITICAL **: pango_layout_set_text: assertion `length == 0 || text != NULL' failed (gnumeric:28599): Pango-CRITICAL **: pango_layout_get_attributes: assertion `PANGO_IS_LAYOUT (layout)' failed (gnumeric:28599): Pango-CRITICAL **: pango_layout_get_single_paragraph_mode: assertion `PANGO_IS_LAYOUT (layout)' failed (gnumeric:28599): Pango-CRITICAL **: pango_layout_get_wrap: assertion `PANGO_IS_LAYOUT (layout)' failed (gnumeric:28599): Pango-CRITICAL **: pango_layout_get_auto_dir: assertion `PANGO_IS_LAYOUT (layout)' failed (gnumeric:28599): Pango-CRITICAL **: pango_layout_get_ellipsize: assertion `PANGO_IS_LAYOUT (layout)' failed (gnumeric:28599): Pango-CRITICAL **: pango_layout_get_font_description: assertion `PANGO_IS_LAYOUT (layout)' failed
Confirmed. It is also triggered by ./ssconvert ../samples/excel12/cellstyle.xlsx /tmp/ppp.pdf The trace is:
+ Trace 173440
It is not a NULL layout problem. ==15487== Invalid read of size 2 ==15487== at 0x40E3DA7: gnm_rendered_value_recontext (rendered-value.c:459) ==15487== by 0x41592E6: print_cell_gtk (print-cell.c:96) ==15487== by 0x415A082: gnm_gtk_print_cell_range (print-cell.c:490) ==15487== by 0x4158016: gnm_draw_page_cb (print.c:177) ==15487== by 0x472E030: (within /usr/lib/libgtk-x11-2.0.so.0.1200.0) ==15487== by 0x538B918: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.140 0.1) ==15487== by 0x539E9EC: (within /usr/lib/libgobject-2.0.so.0.1400.1) ==15487== by 0x53A063E: g_signal_emit_valist (in /usr/lib/libgobject-2.0.so.0.1400.1) ==15487== by 0x53A0988: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.1400.1) ==15487== by 0x475FC89: (within /usr/lib/libgtk-x11-2.0.so.0.1200.0) ==15487== by 0x476017C: (within /usr/lib/libgtk-x11-2.0.so.0.1200.0) ==15487== by 0x496A87A: (within /usr/lib/libgdk-x11-2.0.so.0.1200.0) ==15487== Address 0x61CD726 is 22 bytes inside a block of size 24 free'd ==15487== at 0x402243F: free (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so) ==15487== by 0x53F3BD0: g_free (in /usr/lib/libglib-2.0.so.0.1400.1) ==15487== by 0x40E39A8: gnm_rendered_value_destroy (rendered-value.c:450) ==15487== by 0x407BC75: cell_finish_layout (cell-draw.c:262) ==15487== by 0x41592D7: print_cell_gtk (print-cell.c:93) ==15487== by 0x415A082: gnm_gtk_print_cell_range (print-cell.c:490) ==15487== by 0x4158016: gnm_draw_page_cb (print.c:177) ==15487== by 0x472E030: (within /usr/lib/libgtk-x11-2.0.so.0.1200.0) ==15487== by 0x538B918: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.1400.1) ==15487== by 0x539E9EC: (within /usr/lib/libgobject-2.0.so.0.1400.1) ==15487== by 0x53A063E: g_signal_emit_valist (in /usr/lib/libgobject-2.0.so.0.1400.1) ==15487== by 0x53A0988: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.1400.1)
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.