Bug#968372: sylpheed: crash on startup

Bernhard Übelacker bernhardu at mailbox.org
Fri Aug 14 18:45:05 BST 2020


Dear Maintainer,
I could reproduce it inside a i386 VM and found the crash
happens in [1], when it tries to dereference the "state".

This state is retrieved from the renderer of type _PangoRendererPrivate.


I tried to follow where this state is last set and found
this memory is last written in location [2].

But here this memory is used as _GdkPangoRendererPrivate,
which looks quite different.


Kind regards,
Bernhard

	

[1]
    (rr) bt
    #0  0xb7391ebf in handle_line_state_change (part=PANGO_RENDER_PART_OVERLINE, renderer=0x10470c0) at ../pango/pango-renderer.c:315
    #1  pango_renderer_part_changed (renderer=0x10470c0, part=PANGO_RENDER_PART_OVERLINE) at ../pango/pango-renderer.c:1414
    #2  0xb7392194 in pango_renderer_set_alpha (renderer=0x10470c0, part=PANGO_RENDER_PART_OVERLINE, alpha=0) at ../pango/pango-renderer.c:1357
    #3  0xb7392335 in pango_renderer_default_prepare_run (renderer=0x10470c0, run=0xf55a98) at ../pango/pango-renderer.c:1525
    #4  0xb756b7cd in gdk_pango_renderer_prepare_run (renderer=0x10470c0, run=0xf55a98) at ../../../../gdk/gdkpango.c:456
    #5  0xb73925f9 in pango_renderer_prepare_run (run=0xf55a98, renderer=0x10470c0) at ../pango/pango-renderer.c:1435
    #6  pango_renderer_draw_layout_line (renderer=0x10470c0, line=0xf50e08, x=34816, y=51200) at ../pango/pango-renderer.c:611
    ...

    (rr) list
    296 handle_line_state_change (PangoRenderer  *renderer,
    297 			  PangoRenderPart part)
    298 {
    299   LineState *state = renderer->priv->line_state;
    ...
    314
    315       if (part == PANGO_RENDER_PART_OVERLINE &&
    316           state->overline != PANGO_OVERLINE_NONE)
    317         {

    https://sources.debian.org/src/pango1.0/1.46.0-1/pango/pango-renderer.c/#L315


[2]
    (rr) bt
    #0  gdk_pango_renderer_prepare_run (renderer=0x10470c0, run=0xf55a98) at ../../../../gdk/gdkpango.c:443
    #1  0xb73925f9 in pango_renderer_prepare_run (run=0xf55a98, renderer=0x10470c0) at ../pango/pango-renderer.c:1435
    #2  pango_renderer_draw_layout_line (renderer=0x10470c0, line=0xf50e08, x=34816, y=51200) at ../pango/pango-renderer.c:611
    #3  0xb739301d in pango_renderer_draw_layout (renderer=0x10470c0, layout=0xf379f0, x=34816, y=37888) at ../pango/pango-renderer.c:197
    ...

    (rr) list
    441       if (embossed != gdk_renderer->priv->embossed)
    442         {
    443           gdk_renderer->priv->embossed = embossed;
    444           changed = TRUE;
    445         }

    https://sources.debian.org/src/gtk+2.0/2.24.32-4/gdk/gdkpango.c/#L443
-------------- next part --------------

# Unstable i386 qemu VM 2020-08-14

apt update
apt dist-uprade


apt install systemd-coredump sddm xserver-xorg openbox xterm gdb git sylpheed sylpheed-dbgsym libgtk2.0-0-dbgsym libglib2.0-0-dbgsym libpango-1.0-0-dbgsym
apt build-dep rr


echo 1 > /proc/sys/kernel/perf_event_paranoid




mkdir /home/benutzer/source/libpango-1.0-0/orig -p
cd    /home/benutzer/source/libpango-1.0-0/orig
apt source libpango-1.0-0
cd

mkdir /home/benutzer/source/libgtk2.0-0/orig -p
cd    /home/benutzer/source/libgtk2.0-0/orig
apt source libgtk2.0-0
cd





$ export DISPLAY=:0
$ sylpheed 
Speicherzugriffsfehler (Speicherabzug geschrieben)


# dmesg
...
[   29.789450] sylpheed[992]: segfault at 2d ip b73e0ebf sp bf890760 error 4 in libpango-1.0.so.0.4600.0[b73bd000+29000]
[   29.789458] Code: c4 10 83 c4 1c 5b 5e 5f 5d c3 90 8b 4e 18 85 c9 7e 79 8b 46 20 8b 78 44 85 ff 74 4f 83 fd 02 74 7a 83 fd 04 0f 85 b1 00 00 00 <8b> 47 2c 89 44 24 08 85 c0 74 36 8b 4f 40 8b 57 30 c7 47 2c 00 00


# coredumpctl list
TIME                            PID   UID   GID SIG COREFILE  EXE
Fri 2020-08-14 18:33:29 CEST    992  1000  1000  11 present   /usr/bin/sylpheed

# coredumpctl gdb 992
           PID: 992 (sylpheed)
           UID: 1000 (benutzer)
           GID: 1000 (benutzer)
        Signal: 11 (SEGV)
     Timestamp: Fri 2020-08-14 18:33:29 CEST (2min 10s ago)
  Command Line: sylpheed
    Executable: /usr/bin/sylpheed
 Control Group: /user.slice/user-1000.slice/session-6.scope
          Unit: session-6.scope
         Slice: user-1000.slice
       Session: 6
     Owner UID: 1000 (benutzer)
       Boot ID: 4c238d8aaaba40d19b8c886c81502ce0
    Machine ID: 45f49504b47f4e5690bc479adf67aa5b
      Hostname: debian
       Storage: /var/lib/systemd/coredump/core.sylpheed.1000.4c238d8aaaba40d19b8c886c81502ce0.992.1597422809000000000000.zst
       Message: Process 992 (sylpheed) of user 1000 dumped core.
                
                Stack trace of thread 992:
                #0  0x00000000b73e0ebf pango_renderer_part_changed (libpango-1.0.so.0 + 0x2debf)
                #1  0x00000000b73e1194 pango_renderer_set_alpha (libpango-1.0.so.0 + 0x2e194)
                #2  0x00000000b73e1335 n/a (libpango-1.0.so.0 + 0x2e335)
                #3  0x00000000b75ba7cd n/a (libgdk-x11-2.0.so.0 + 0x247cd)
                #4  0x00000000b73e15f9 pango_renderer_draw_layout_line (libpango-1.0.so.0 + 0x2e5f9)
                #5  0x00000000b73e201d pango_renderer_draw_layout (libpango-1.0.so.0 + 0x2f01d)
                #6  0x00000000b75baf3d gdk_draw_layout_with_colors (libgdk-x11-2.0.so.0 + 0x24f3d)
                #7  0x00000000b75bb1b7 gdk_draw_layout (libgdk-x11-2.0.so.0 + 0x251b7)
                #8  0x00000000b77f900c n/a (libgtk-x11-2.0.so.0 + 0x1a100c)
                #9  0x00000000b776fe58 n/a (libgtk-x11-2.0.so.0 + 0x117e58)
                #10 0x00000000b777c4f7 n/a (libgtk-x11-2.0.so.0 + 0x1244f7)
                #11 0x00000000b7355317 g_closure_invoke (libgobject-2.0.so.0 + 0x10317)
                #12 0x00000000b7368935 n/a (libgobject-2.0.so.0 + 0x23935)
                #13 0x00000000b7374a33 g_signal_emit_valist (libgobject-2.0.so.0 + 0x2fa33)
                #14 0x00000000b7375535 g_signal_emit (libgobject-2.0.so.0 + 0x30535)
                #15 0x00000000b789e8c9 n/a (libgtk-x11-2.0.so.0 + 0x2468c9)
                #16 0x00000000b76fcf06 gtk_container_propagate_expose (libgtk-x11-2.0.so.0 + 0xa4f06)
                #17 0x00000000b76fcf25 n/a (libgtk-x11-2.0.so.0 + 0xa4f25)
                #18 0x00000000b76c5cf7 n/a (libgtk-x11-2.0.so.0 + 0x6dcf7)
                #19 0x00000000b76fb5b7 gtk_container_forall (libgtk-x11-2.0.so.0 + 0xa35b7)
                #20 0x00000000b76fb82d n/a (libgtk-x11-2.0.so.0 + 0xa382d)
                #21 0x00000000b777c4f7 n/a (libgtk-x11-2.0.so.0 + 0x1244f7)
                #22 0x00000000b7355317 g_closure_invoke (libgobject-2.0.so.0 + 0x10317)
                #23 0x00000000b7368935 n/a (libgobject-2.0.so.0 + 0x23935)
                #24 0x00000000b7374a33 g_signal_emit_valist (libgobject-2.0.so.0 + 0x2fa33)
                #25 0x00000000b7375535 g_signal_emit (libgobject-2.0.so.0 + 0x30535)
                #26 0x00000000b789e8c9 n/a (libgtk-x11-2.0.so.0 + 0x2468c9)
                #27 0x00000000b76fcf06 gtk_container_propagate_expose (libgtk-x11-2.0.so.0 + 0xa4f06)
                #28 0x00000000b76fcf25 n/a (libgtk-x11-2.0.so.0 + 0xa4f25)
                #29 0x00000000b76fb5b7 gtk_container_forall (libgtk-x11-2.0.so.0 + 0xa35b7)
                #30 0x00000000b76fb82d n/a (libgtk-x11-2.0.so.0 + 0xa382d)
                #31 0x00000000b76cf5ad n/a (libgtk-x11-2.0.so.0 + 0x775ad)
                #32 0x00000000b777c4f7 n/a (libgtk-x11-2.0.so.0 + 0x1244f7)
                #33 0x00000000b7355317 g_closure_invoke (libgobject-2.0.so.0 + 0x10317)
                #34 0x00000000b7368935 n/a (libgobject-2.0.so.0 + 0x23935)
                #35 0x00000000b7374a33 g_signal_emit_valist (libgobject-2.0.so.0 + 0x2fa33)
                #36 0x00000000b7375535 g_signal_emit (libgobject-2.0.so.0 + 0x30535)
                #37 0x00000000b789e8c9 n/a (libgtk-x11-2.0.so.0 + 0x2468c9)
                #38 0x00000000b76fcf06 gtk_container_propagate_expose (libgtk-x11-2.0.so.0 + 0xa4f06)
                #39 0x00000000b76fcf25 n/a (libgtk-x11-2.0.so.0 + 0xa4f25)
                #40 0x00000000b76fb5b7 gtk_container_forall (libgtk-x11-2.0.so.0 + 0xa35b7)
                #41 0x00000000b76fb82d n/a (libgtk-x11-2.0.so.0 + 0xa382d)
                #42 0x00000000b777c4f7 n/a (libgtk-x11-2.0.so.0 + 0x1244f7)
                #43 0x00000000b7355317 g_closure_invoke (libgobject-2.0.so.0 + 0x10317)
                #44 0x00000000b7368935 n/a (libgobject-2.0.so.0 + 0x23935)
                #45 0x00000000b7374a33 g_signal_emit_valist (libgobject-2.0.so.0 + 0x2fa33)
                #46 0x00000000b7375535 g_signal_emit (libgobject-2.0.so.0 + 0x30535)
                #47 0x00000000b789e8c9 n/a (libgtk-x11-2.0.so.0 + 0x2468c9)
                #48 0x00000000b76fcf06 gtk_container_propagate_expose (libgtk-x11-2.0.so.0 + 0xa4f06)
                #49 0x00000000b784dcfe n/a (libgtk-x11-2.0.so.0 + 0x1f5cfe)
                #50 0x00000000b777c4f7 n/a (libgtk-x11-2.0.so.0 + 0x1244f7)
                #51 0x00000000b7355317 g_closure_invoke (libgobject-2.0.so.0 + 0x10317)
                #52 0x00000000b7368935 n/a (libgobject-2.0.so.0 + 0x23935)
                #53 0x00000000b7374a33 g_signal_emit_valist (libgobject-2.0.so.0 + 0x2fa33)
                #54 0x00000000b7375535 g_signal_emit (libgobject-2.0.so.0 + 0x30535)
                #55 0x00000000b789e8c9 n/a (libgtk-x11-2.0.so.0 + 0x2468c9)
                #56 0x00000000b76fcf06 gtk_container_propagate_expose (libgtk-x11-2.0.so.0 + 0xa4f06)
                #57 0x00000000b76fcf25 n/a (libgtk-x11-2.0.so.0 + 0xa4f25)
                #58 0x00000000b76c5cbb n/a (libgtk-x11-2.0.so.0 + 0x6dcbb)
                #59 0x00000000b76fb5b7 gtk_container_forall (libgtk-x11-2.0.so.0 + 0xa35b7)
                #60 0x00000000b76fb82d n/a (libgtk-x11-2.0.so.0 + 0xa382d)
                #61 0x00000000b777c4f7 n/a (libgtk-x11-2.0.so.0 + 0x1244f7)
                #62 0x00000000b7355317 g_closure_invoke (libgobject-2.0.so.0 + 0x10317)
                #63 0x00000000b7368935 n/a (libgobject-2.0.so.0 + 0x23935)

GNU gdb (Debian 9.2-1) 9.2
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/bin/sylpheed...
(No debugging symbols found in /usr/bin/sylpheed)
[New LWP 992]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
Core was generated by `sylpheed'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0xb73e0ebf in pango_renderer_part_changed () from /usr/lib/i386-linux-gnu/libpango-1.0.so.0
(gdb) set width 0
(gdb) set pagination off
(gdb) bt
#0  0xb73e0ebf in pango_renderer_part_changed () from /usr/lib/i386-linux-gnu/libpango-1.0.so.0
#1  0xb73e1194 in pango_renderer_set_alpha () from /usr/lib/i386-linux-gnu/libpango-1.0.so.0
#2  0xb73e1335 in ?? () from /usr/lib/i386-linux-gnu/libpango-1.0.so.0
#3  0xb75ba7cd in ?? () from /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0
#4  0xb73e15f9 in pango_renderer_draw_layout_line () from /usr/lib/i386-linux-gnu/libpango-1.0.so.0
#5  0xb73e201d in pango_renderer_draw_layout () from /usr/lib/i386-linux-gnu/libpango-1.0.so.0
#6  0xb75baf3d in gdk_draw_layout_with_colors () from /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0
#7  0xb75bb1b7 in gdk_draw_layout () from /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0
#8  0xb77f900c in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#9  0xb776fe58 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#10 0xb777c4f7 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#11 0xb7355317 in g_closure_invoke () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#12 0xb7368935 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#13 0xb7374a33 in g_signal_emit_valist () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#14 0xb7375535 in g_signal_emit () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#15 0xb789e8c9 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#16 0xb76fcf06 in gtk_container_propagate_expose () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#17 0xb76fcf25 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#18 0xb76c5cf7 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#19 0xb76fb5b7 in gtk_container_forall () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#20 0xb76fb82d in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#21 0xb777c4f7 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#22 0xb7355317 in g_closure_invoke () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#23 0xb7368935 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#24 0xb7374a33 in g_signal_emit_valist () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#25 0xb7375535 in g_signal_emit () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#26 0xb789e8c9 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#27 0xb76fcf06 in gtk_container_propagate_expose () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#28 0xb76fcf25 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#29 0xb76fb5b7 in gtk_container_forall () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#30 0xb76fb82d in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#31 0xb76cf5ad in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#32 0xb777c4f7 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#33 0xb7355317 in g_closure_invoke () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#34 0xb7368935 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#35 0xb7374a33 in g_signal_emit_valist () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#36 0xb7375535 in g_signal_emit () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#37 0xb789e8c9 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#38 0xb76fcf06 in gtk_container_propagate_expose () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#39 0xb76fcf25 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#40 0xb76fb5b7 in gtk_container_forall () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#41 0xb76fb82d in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#42 0xb777c4f7 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#43 0xb7355317 in g_closure_invoke () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#44 0xb7368935 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#45 0xb7374a33 in g_signal_emit_valist () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#46 0xb7375535 in g_signal_emit () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#47 0xb789e8c9 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#48 0xb76fcf06 in gtk_container_propagate_expose () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#49 0xb784dcfe in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#50 0xb777c4f7 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#51 0xb7355317 in g_closure_invoke () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#52 0xb7368935 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#53 0xb7374a33 in g_signal_emit_valist () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#54 0xb7375535 in g_signal_emit () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#55 0xb789e8c9 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#56 0xb76fcf06 in gtk_container_propagate_expose () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#57 0xb76fcf25 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#58 0xb76c5cbb in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#59 0xb76fb5b7 in gtk_container_forall () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#60 0xb76fb82d in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#61 0xb777c4f7 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#62 0xb7355317 in g_closure_invoke () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#63 0xb7368935 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#64 0xb7374a33 in g_signal_emit_valist () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#65 0xb7375535 in g_signal_emit () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#66 0xb789e8c9 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#67 0xb76fcf06 in gtk_container_propagate_expose () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#68 0xb76fcf25 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#69 0xb76fb5b7 in gtk_container_forall () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#70 0xb76fb82d in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#71 0xb777c4f7 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#72 0xb7355406 in g_closure_invoke () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#73 0xb7368935 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#74 0xb7374a33 in g_signal_emit_valist () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#75 0xb7375535 in g_signal_emit () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#76 0xb789e8c9 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#77 0xb777a967 in gtk_main_do_event () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#78 0xb75d0fea in ?? () from /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0
#79 0xb7601ddc in ?? () from /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0
#80 0xb75cd7ec in ?? () from /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0
#81 0xb75ce16f in gdk_window_process_all_updates () from /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0
#82 0xb76fb413 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#83 0xb75ab905 in ?? () from /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0
#84 0xb724394c in g_main_context_dispatch () from /usr/lib/i386-linux-gnu/libglib-2.0.so.0
#85 0xb7243d19 in ?? () from /usr/lib/i386-linux-gnu/libglib-2.0.so.0
#86 0xb7244051 in g_main_loop_run () from /usr/lib/i386-linux-gnu/libglib-2.0.so.0
#87 0xb76fe880 in gtk_dialog_run () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#88 0x004f48fc in setup_mailbox ()
#89 0x00448674 in main ()





(gdb) bt
#0  0xb73e0ebf in handle_line_state_change (part=PANGO_RENDER_PART_OVERLINE, renderer=0x10300c0) at ../pango/pango-renderer.c:315
#1  pango_renderer_part_changed (renderer=0x10300c0, part=PANGO_RENDER_PART_OVERLINE) at ../pango/pango-renderer.c:1414
#2  0xb73e1194 in pango_renderer_set_alpha (renderer=0x10300c0, part=PANGO_RENDER_PART_OVERLINE, alpha=0) at ../pango/pango-renderer.c:1357
#3  0xb73e1335 in pango_renderer_default_prepare_run (renderer=0x10300c0, run=0xf9d120) at ../pango/pango-renderer.c:1525
#4  0xb75ba7cd in gdk_pango_renderer_prepare_run (renderer=0x10300c0, run=0xf9d120) at ../../../../gdk/gdkpango.c:456
#5  0xb73e15f9 in pango_renderer_prepare_run (run=0xf9d120, renderer=0x10300c0) at ../pango/pango-renderer.c:1435
#6  pango_renderer_draw_layout_line (renderer=0x10300c0, line=0xf97e08, x=34816, y=51200) at ../pango/pango-renderer.c:611
#7  0xb73e201d in pango_renderer_draw_layout (renderer=0x10300c0, layout=0xf7e1f0, x=34816, y=37888) at ../pango/pango-renderer.c:197
#8  0xb75baf3d in IA__gdk_draw_layout_with_colors (drawable=0xc78230, gc=0xde6568, x=<optimized out>, y=<optimized out>, layout=0xf7e1f0, foreground=0x0, background=0x0) at ../../../../gdk/gdkpango.c:999
#9  0xb75bb1b7 in IA__gdk_draw_layout (drawable=0xc78230, gc=0xde6568, x=34, y=37, layout=0xf7e1f0) at ../../../../gdk/gdkpango.c:1061
#10 0xb77f900c in gtk_default_draw_layout (style=0xdc6938, window=0xc78230, state_type=GTK_STATE_INSENSITIVE, use_text=0, area=0xf7423c, widget=0xf63970, detail=0xb79af27b "label", x=34, y=37, layout=0xe9f6a0) at ../../../../gtk/gtkstyle.c:5311
#11 0xb776fe58 in gtk_label_expose (widget=0xf63970, event=0xf74230) at ../../../../gtk/gtklabel.c:3565
#12 0xb777c4f7 in _gtk_marshal_BOOLEAN__BOXED (closure=0xd39e60, return_value=0xbf890d58, n_param_values=2, param_values=0xbf890da0, invocation_hint=0xbf890d44, marshal_data=0xb776fd70 <gtk_label_expose>) at ../../../../gtk/gtkmarshalers.c:84
#13 0xb7355317 in g_closure_invoke (closure=0xd39e60, return_value=0xbf890d58, n_param_values=2, param_values=0xbf890da0, invocation_hint=0xbf890d44) at ../../../gobject/gclosure.c:810
#14 0xb7368935 in signal_emit_unlocked_R (node=node at entry=0xdb97d0, detail=detail at entry=0, instance=instance at entry=0xf63970, emission_return=<optimized out>, instance_and_params=<optimized out>) at ../../../gobject/gsignal.c:3780
#15 0xb7374a33 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=0xbf890f20 "H\017\211\277\060", <incomplete sequence \336>) at ../../../gobject/gsignal.c:3508
#16 0xb7375535 in g_signal_emit (instance=0xf63970, signal_id=51, detail=0) at ../../../gobject/gsignal.c:3554
#17 0xb789e8c9 in gtk_widget_event_internal (widget=widget at entry=0xf63970, event=event at entry=0xf74230) at ../../../../gtk/gtkwidget.c:5010
#18 0xb789ecac in IA__gtk_widget_send_expose (widget=0xf63970, event=0xf74230) at ../../../../gtk/gtkwidget.c:4839
#19 0xb76fcf06 in IA__gtk_container_propagate_expose (container=0xf6e9c0, child=0xf63970, event=0xf74370) at ../../../../gtk/gtkcontainer.c:2757
#20 0xb76fcf25 in gtk_container_expose_child (child=0xf63970, client_data=0xbf891034) at ../../../../gtk/gtkcontainer.c:2638
#21 0xb76c5cf7 in gtk_box_forall (container=0xf6e9c0, include_internals=1, callback=0xb76fcf10 <gtk_container_expose_child>, callback_data=0xbf891034) at ../../../../gtk/gtkbox.c:1261
#22 0xb76fb5b7 in IA__gtk_container_forall (container=0xf6e9c0, callback=0xb76fcf10 <gtk_container_expose_child>, callback_data=0xbf891034) at ../../../../gtk/gtkcontainer.c:1507
#23 0xb76fb82d in gtk_container_expose (widget=0xf6e9c0, event=0xf74370) at ../../../../gtk/gtkcontainer.c:2661
#24 0xb777c4f7 in _gtk_marshal_BOOLEAN__BOXED (closure=0xd39e60, return_value=0xbf8911b8, n_param_values=2, param_values=0xbf891200, invocation_hint=0xbf8911a4, marshal_data=0xb76fb760 <gtk_container_expose>) at ../../../../gtk/gtkmarshalers.c:84
#25 0xb7355317 in g_closure_invoke (closure=0xd39e60, return_value=0xbf8911b8, n_param_values=2, param_values=0xbf891200, invocation_hint=0xbf8911a4) at ../../../gobject/gclosure.c:810
#26 0xb7368935 in signal_emit_unlocked_R (node=node at entry=0xdb97d0, detail=detail at entry=0, instance=instance at entry=0xf6e9c0, emission_return=<optimized out>, instance_and_params=<optimized out>) at ../../../gobject/gsignal.c:3780
#27 0xb7374a33 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=0xbf891380 "\250\023\211\277\060", <incomplete sequence \336>) at ../../../gobject/gsignal.c:3508
#28 0xb7375535 in g_signal_emit (instance=0xf6e9c0, signal_id=51, detail=0) at ../../../gobject/gsignal.c:3554
#29 0xb789e8c9 in gtk_widget_event_internal (widget=widget at entry=0xf6e9c0, event=event at entry=0xf74370) at ../../../../gtk/gtkwidget.c:5010
#30 0xb789ecac in IA__gtk_widget_send_expose (widget=0xf6e9c0, event=0xf74370) at ../../../../gtk/gtkwidget.c:4839
#31 0xb76fcf06 in IA__gtk_container_propagate_expose (container=0xdd4d98, child=0xf6e9c0, event=0xf889b0) at ../../../../gtk/gtkcontainer.c:2757
#32 0xb76fcf25 in gtk_container_expose_child (child=0xf6e9c0, client_data=0xbf891464) at ../../../../gtk/gtkcontainer.c:2638
#33 0xb76fb5b7 in IA__gtk_container_forall (container=0xdd4d98, callback=0xb76fcf10 <gtk_container_expose_child>, callback_data=0xbf891464) at ../../../../gtk/gtkcontainer.c:1507
#34 0xb76fb82d in gtk_container_expose (widget=0xdd4d98, event=0xf889b0) at ../../../../gtk/gtkcontainer.c:2661
#35 0xb76cf5ad in gtk_button_expose (event=0xf889b0, widget=0xdd4d98) at ../../../../gtk/gtkbutton.c:1569
#36 gtk_button_expose (widget=0xdd4d98, event=0xf889b0) at ../../../../gtk/gtkbutton.c:1557
#37 0xb777c4f7 in _gtk_marshal_BOOLEAN__BOXED (closure=0xd39e60, return_value=0xbf891608, n_param_values=2, param_values=0xbf891650, invocation_hint=0xbf8915f4, marshal_data=0xb76cf540 <gtk_button_expose>) at ../../../../gtk/gtkmarshalers.c:84
#38 0xb7355317 in g_closure_invoke (closure=0xd39e60, return_value=0xbf891608, n_param_values=2, param_values=0xbf891650, invocation_hint=0xbf8915f4) at ../../../gobject/gclosure.c:810
#39 0xb7368935 in signal_emit_unlocked_R (node=node at entry=0xdb97d0, detail=detail at entry=0, instance=instance at entry=0xdd4d98, emission_return=<optimized out>, instance_and_params=<optimized out>) at ../../../gobject/gsignal.c:3780
#40 0xb7374a33 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=0xbf8917d0 "\370\027\211\277\060", <incomplete sequence \336>) at ../../../gobject/gsignal.c:3508
#41 0xb7375535 in g_signal_emit (instance=0xdd4d98, signal_id=51, detail=0) at ../../../gobject/gsignal.c:3554
#42 0xb789e8c9 in gtk_widget_event_internal (widget=widget at entry=0xdd4d98, event=event at entry=0xf889b0) at ../../../../gtk/gtkwidget.c:5010
#43 0xb789ecac in IA__gtk_widget_send_expose (widget=0xdd4d98, event=0xf889b0) at ../../../../gtk/gtkwidget.c:4839
#44 0xb76fcf06 in IA__gtk_container_propagate_expose (container=0xe93840, child=0xdd4d98, event=0xf73c20) at ../../../../gtk/gtkcontainer.c:2757
#45 0xb76fcf25 in gtk_container_expose_child (child=0xdd4d98, client_data=0xbf8918b4) at ../../../../gtk/gtkcontainer.c:2638
#46 0xb76fb5b7 in IA__gtk_container_forall (container=0xe93840, callback=0xb76fcf10 <gtk_container_expose_child>, callback_data=0xbf8918b4) at ../../../../gtk/gtkcontainer.c:1507
#47 0xb76fb82d in gtk_container_expose (widget=0xe93840, event=0xf73c20) at ../../../../gtk/gtkcontainer.c:2661
#48 0xb777c4f7 in _gtk_marshal_BOOLEAN__BOXED (closure=0xd39e60, return_value=0xbf891a38, n_param_values=2, param_values=0xbf891a80, invocation_hint=0xbf891a24, marshal_data=0xb76fb760 <gtk_container_expose>) at ../../../../gtk/gtkmarshalers.c:84
#49 0xb7355317 in g_closure_invoke (closure=0xd39e60, return_value=0xbf891a38, n_param_values=2, param_values=0xbf891a80, invocation_hint=0xbf891a24) at ../../../gobject/gclosure.c:810
#50 0xb7368935 in signal_emit_unlocked_R (node=node at entry=0xdb97d0, detail=detail at entry=0, instance=instance at entry=0xe93840, emission_return=<optimized out>, instance_and_params=<optimized out>) at ../../../gobject/gsignal.c:3780
#51 0xb7374a33 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=0xbf891c00 "(\034\211\277\060", <incomplete sequence \336>) at ../../../gobject/gsignal.c:3508
#52 0xb7375535 in g_signal_emit (instance=0xe93840, signal_id=51, detail=0) at ../../../gobject/gsignal.c:3554
#53 0xb789e8c9 in gtk_widget_event_internal (widget=widget at entry=0xe93840, event=event at entry=0xf73c20) at ../../../../gtk/gtkwidget.c:5010
#54 0xb789ecac in IA__gtk_widget_send_expose (widget=0xe93840, event=0xf73c20) at ../../../../gtk/gtkwidget.c:4839
#55 0xb76fcf06 in IA__gtk_container_propagate_expose (container=0xe8a838, child=0xe93840, event=0xf88960) at ../../../../gtk/gtkcontainer.c:2757
#56 0xb784dcfe in toolbar_content_expose (expose=0xf88960, container=0xe8a838, content=<optimized out>) at ../../../../gtk/gtktoolbar.c:4122
#57 gtk_toolbar_expose (widget=0xe8a838, event=0xf88960) at ../../../../gtk/gtktoolbar.c:889
#58 0xb777c4f7 in _gtk_marshal_BOOLEAN__BOXED (closure=0xd39e60, return_value=0xbf891e48, n_param_values=2, param_values=0xbf891e90, invocation_hint=0xbf891e34, marshal_data=0xb784dc70 <gtk_toolbar_expose>) at ../../../../gtk/gtkmarshalers.c:84
#59 0xb7355317 in g_closure_invoke (closure=0xd39e60, return_value=0xbf891e48, n_param_values=2, param_values=0xbf891e90, invocation_hint=0xbf891e34) at ../../../gobject/gclosure.c:810
#60 0xb7368935 in signal_emit_unlocked_R (node=node at entry=0xdb97d0, detail=detail at entry=0, instance=instance at entry=0xe8a838, emission_return=<optimized out>, instance_and_params=<optimized out>) at ../../../gobject/gsignal.c:3780
#61 0xb7374a33 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=0xbf892010 "8 \211\277\060", <incomplete sequence \336>) at ../../../gobject/gsignal.c:3508
#62 0xb7375535 in g_signal_emit (instance=0xe8a838, signal_id=51, detail=0) at ../../../gobject/gsignal.c:3554
#63 0xb789e8c9 in gtk_widget_event_internal (widget=widget at entry=0xe8a838, event=event at entry=0xf88960) at ../../../../gtk/gtkwidget.c:5010
#64 0xb789ecac in IA__gtk_widget_send_expose (widget=0xe8a838, event=0xf88960) at ../../../../gtk/gtkwidget.c:4839
#65 0xb76fcf06 in IA__gtk_container_propagate_expose (container=0xdf6008, child=0xe8a838, event=0xf88a00) at ../../../../gtk/gtkcontainer.c:2757
#66 0xb76fcf25 in gtk_container_expose_child (child=0xe8a838, client_data=0xbf892124) at ../../../../gtk/gtkcontainer.c:2638
#67 0xb76c5cbb in gtk_box_forall (container=0xdf6008, include_internals=1, callback=0xb76fcf10 <gtk_container_expose_child>, callback_data=0xbf892124) at ../../../../gtk/gtkbox.c:1251
#68 0xb76fb5b7 in IA__gtk_container_forall (container=0xdf6008, callback=0xb76fcf10 <gtk_container_expose_child>, callback_data=0xbf892124) at ../../../../gtk/gtkcontainer.c:1507
#69 0xb76fb82d in gtk_container_expose (widget=0xdf6008, event=0xf88a00) at ../../../../gtk/gtkcontainer.c:2661
#70 0xb777c4f7 in _gtk_marshal_BOOLEAN__BOXED (closure=0xd39e60, return_value=0xbf8922a8, n_param_values=2, param_values=0xbf8922f0, invocation_hint=0xbf892294, marshal_data=0xb76fb760 <gtk_container_expose>) at ../../../../gtk/gtkmarshalers.c:84
#71 0xb7355317 in g_closure_invoke (closure=0xd39e60, return_value=0xbf8922a8, n_param_values=2, param_values=0xbf8922f0, invocation_hint=0xbf892294) at ../../../gobject/gclosure.c:810
#72 0xb7368935 in signal_emit_unlocked_R (node=node at entry=0xdb97d0, detail=detail at entry=0, instance=instance at entry=0xdf6008, emission_return=<optimized out>, instance_and_params=<optimized out>) at ../../../gobject/gsignal.c:3780
#73 0xb7374a33 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=0xbf892470 "\230$\211\277\060", <incomplete sequence \336>) at ../../../gobject/gsignal.c:3508
#74 0xb7375535 in g_signal_emit (instance=0xdf6008, signal_id=51, detail=0) at ../../../gobject/gsignal.c:3554
#75 0xb789e8c9 in gtk_widget_event_internal (widget=widget at entry=0xdf6008, event=event at entry=0xf88a00) at ../../../../gtk/gtkwidget.c:5010
#76 0xb789ecac in IA__gtk_widget_send_expose (widget=0xdf6008, event=0xf88a00) at ../../../../gtk/gtkwidget.c:4839
#77 0xb76fcf06 in IA__gtk_container_propagate_expose (container=0xc78198, child=0xdf6008, event=0xbf892978) at ../../../../gtk/gtkcontainer.c:2757
#78 0xb76fcf25 in gtk_container_expose_child (child=0xdf6008, client_data=0xbf892554) at ../../../../gtk/gtkcontainer.c:2638
#79 0xb76fb5b7 in IA__gtk_container_forall (container=0xc78198, callback=0xb76fcf10 <gtk_container_expose_child>, callback_data=0xbf892554) at ../../../../gtk/gtkcontainer.c:1507
#80 0xb76fb82d in gtk_container_expose (widget=0xc78198, event=0xbf892978) at ../../../../gtk/gtkcontainer.c:2661
#81 0xb777c4f7 in _gtk_marshal_BOOLEAN__BOXED (closure=0xd39e60, return_value=0xbf8926d8, n_param_values=2, param_values=0xbf892720, invocation_hint=0xbf8926c4, marshal_data=0xb78abbb0 <gtk_window_expose>) at ../../../../gtk/gtkmarshalers.c:84
#82 0xb7355406 in g_closure_invoke (closure=0xd39e60, return_value=0xbf8926d8, n_param_values=2, param_values=0xbf892720, invocation_hint=0xbf8926c4) at ../../../gobject/gclosure.c:810
#83 0xb7368935 in signal_emit_unlocked_R (node=node at entry=0xdb97d0, detail=detail at entry=0, instance=instance at entry=0xc78198, emission_return=<optimized out>, instance_and_params=<optimized out>) at ../../../gobject/gsignal.c:3780
#84 0xb7374a33 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=0xbf8928a0 "\310(\211\277\060", <incomplete sequence \336>) at ../../../gobject/gsignal.c:3508
#85 0xb7375535 in g_signal_emit (instance=0xc78198, signal_id=51, detail=0) at ../../../gobject/gsignal.c:3554
#86 0xb789e8c9 in gtk_widget_event_internal (widget=widget at entry=0xc78198, event=event at entry=0xbf892978) at ../../../../gtk/gtkwidget.c:5010
#87 0xb789ecac in IA__gtk_widget_send_expose (widget=0xc78198, event=0xbf892978) at ../../../../gtk/gtkwidget.c:4839
#88 0xb777a967 in IA__gtk_main_do_event (event=0xbf892978) at ../../../../gtk/gtkmain.c:1623
#89 IA__gtk_main_do_event (event=0xbf892978) at ../../../../gtk/gtkmain.c:1503
#90 0xb75d0fea in _gdk_window_process_updates_recurse (window=0xc78230, expose_region=0xfe9280) at ../../../../gdk/gdkwindow.c:5479
#91 0xb7601ddc in _gdk_windowing_window_process_updates_recurse (window=0xc78230, region=0xfe9280) at ../../../../../gdk/x11/gdkwindow-x11.c:5643
#92 0xb75cd7ec in gdk_window_process_updates_internal (window=<optimized out>) at ../../../../gdk/gdkwindow.c:5646
#93 0xb75ce16f in IA__gdk_window_process_all_updates () at ../../../../gdk/gdkwindow.c:5752
#94 0xb76fb413 in gtk_container_idle_sizer (data=0x0) at ../../../../gtk/gtkcontainer.c:1360
#95 0xb75ab905 in gdk_threads_dispatch (data=0xee1c80) at ../../../../gdk/gdk.c:534
#96 0xb724394c in g_main_dispatch (context=0xc7a4e0) at ../../../glib/gmain.c:3309
#97 g_main_context_dispatch (context=0xc7a4e0) at ../../../glib/gmain.c:3974
#98 0xb7243d19 in g_main_context_iterate (context=0xc7a4e0, block=block at entry=1, dispatch=dispatch at entry=1, self=<optimized out>) at ../../../glib/gmain.c:4047
#99 0xb7244051 in g_main_loop_run (loop=<optimized out>) at ../../../glib/gmain.c:4241
#100 0xb76fe880 in IA__gtk_dialog_run (dialog=0xf62938) at ../../../../gtk/gtkdialog.c:1094
#101 0x004f48fc in setup_mailbox () at setup.c:239
#102 0x00448674 in main (argc=<optimized out>, argv=<optimized out>) at main.c:351


(gdb) display/i $pc
1: x/i $pc
=> 0xb73e0ebf <pango_renderer_part_changed+111>:        mov    0x2c(%edi),%eax


(gdb) disassemble 
Dump of assembler code for function pango_renderer_part_changed:
   0xb73e0e50 <+0>:     push   %ebp
   0xb73e0e51 <+1>:     push   %edi
   0xb73e0e52 <+2>:     push   %esi
   0xb73e0e53 <+3>:     push   %ebx
   0xb73e0e54 <+4>:     call   0xb73bdcd0 <__x86.get_pc_thunk.bx>
   0xb73e0e59 <+9>:     add    $0x26e37,%ebx
   0xb73e0e5f <+15>:    sub    $0x1c,%esp
   0xb73e0e62 <+18>:    mov    0x30(%esp),%esi
   0xb73e0e66 <+22>:    mov    0x34(%esp),%ebp
   0xb73e0e6a <+26>:    test   %esi,%esi
   0xb73e0e6c <+28>:    je     0xb73e0f60 <pango_renderer_part_changed+272>
   0xb73e0e72 <+34>:    cmp    $0x4,%ebp
   0xb73e0e75 <+37>:    jbe    0xb73e0ea0 <pango_renderer_part_changed+80>
   0xb73e0e77 <+39>:    sub    $0x4,%esp
   0xb73e0e7a <+42>:    lea    -0x14a22(%ebx),%eax
   0xb73e0e80 <+48>:    push   %eax
   0xb73e0e81 <+49>:    lea    -0x14900(%ebx),%eax
   0xb73e0e87 <+55>:    push   %eax
   0xb73e0e88 <+56>:    lea    -0x1fe8f(%ebx),%eax
   0xb73e0e8e <+62>:    push   %eax
   0xb73e0e8f <+63>:    call   0xb73bd600 <g_return_if_fail_warning at plt>
   0xb73e0e94 <+68>:    add    $0x10,%esp
   0xb73e0e97 <+71>:    add    $0x1c,%esp
   0xb73e0e9a <+74>:    pop    %ebx
   0xb73e0e9b <+75>:    pop    %esi
   0xb73e0e9c <+76>:    pop    %edi
   0xb73e0e9d <+77>:    pop    %ebp
   0xb73e0e9e <+78>:    ret    
   0xb73e0e9f <+79>:    nop
   0xb73e0ea0 <+80>:    mov    0x18(%esi),%ecx
   0xb73e0ea3 <+83>:    test   %ecx,%ecx
   0xb73e0ea5 <+85>:    jle    0xb73e0f20 <pango_renderer_part_changed+208>
   0xb73e0ea7 <+87>:    mov    0x20(%esi),%eax
   0xb73e0eaa <+90>:    mov    0x44(%eax),%edi
   0xb73e0ead <+93>:    test   %edi,%edi
   0xb73e0eaf <+95>:    je     0xb73e0f00 <pango_renderer_part_changed+176>
   0xb73e0eb1 <+97>:    cmp    $0x2,%ebp
   0xb73e0eb4 <+100>:   je     0xb73e0f30 <pango_renderer_part_changed+224>
   0xb73e0eb6 <+102>:   cmp    $0x4,%ebp
   0xb73e0eb9 <+105>:   jne    0xb73e0f70 <pango_renderer_part_changed+288>
=> 0xb73e0ebf <+111>:   mov    0x2c(%edi),%eax
   0xb73e0ec2 <+114>:   mov    %eax,0x8(%esp)
   0xb73e0ec6 <+118>:   test   %eax,%eax
   0xb73e0ec8 <+120>:   je     0xb73e0f00 <pango_renderer_part_changed+176>


(gdb) print state
$1 = (LineState *) 0x1
(gdb) print renderer->priv->line_state
$2 = (LineState *) 0x1

(gdb) print/x $edi
$3 = 0x1
(gdb) print/x $edi + 0x2c
$4 = 0x2d


https://sources.debian.org/src/pango1.0/1.46.0-1/pango/pango-renderer.c/#L315



##############




mkdir /home/benutzer/source/rr/git -p
cd    /home/benutzer/source/rr/git
git clone https://github.com/mozilla/rr.git
cd

cd /home/benutzer/source/rr/git/rr/
mkdir obj && cd obj
cmake ../rr
make -j4


$ /home/benutzer/source/rr/git/obj/bin/rr sylpheed
rr: Saving execution to trace directory `/home/benutzer/.local/share/rr/sylpheed-0'.
Speicherzugriffsfehler



benutzer at debian:~$ /home/benutzer/source/rr/git/obj/bin/rr replay /home/benutzer/.local/share/rr/sylpheed-0
...
Reading symbols from /usr/lib/debug/.build-id/c3/506778ae80f9d00e53b31eb690f8c0febb1d4a.debug...
0xb7f920b0 in _start () from /lib/ld-linux.so.2
(rr) directory /home/benutzer/source/libpango-1.0-0/orig/pango1.0-1.46.0/pango
Source directories searched: /home/benutzer/source/libpango-1.0-0/orig/pango1.0-1.46.0/pango:$cdir:$cwd
(rr) directory /home/benutzer/source/libgtk2.0-0/orig/gtk+2.0-2.24.32/gdk
Source directories searched: /home/benutzer/source/libgtk2.0-0/orig/gtk+2.0-2.24.32/gdk:/home/benutzer/source/libpango-1.0-0/orig/pango1.0-1.46.0/pango:$cdir:$cwd
(rr) cont
Continuing.

Program received signal SIGSEGV, Segmentation fault.
0xb7391ebf in handle_line_state_change (part=PANGO_RENDER_PART_OVERLINE, renderer=0x10470c0) at ../pango/pango-renderer.c:315
315       if (part == PANGO_RENDER_PART_OVERLINE &&

(rr) bt
#0  0xb7391ebf in handle_line_state_change (part=PANGO_RENDER_PART_OVERLINE, renderer=0x10470c0) at ../pango/pango-renderer.c:315
#1  pango_renderer_part_changed (renderer=0x10470c0, part=PANGO_RENDER_PART_OVERLINE) at ../pango/pango-renderer.c:1414
#2  0xb7392194 in pango_renderer_set_alpha (renderer=0x10470c0, part=PANGO_RENDER_PART_OVERLINE, alpha=0) at ../pango/pango-renderer.c:1357
#3  0xb7392335 in pango_renderer_default_prepare_run (renderer=0x10470c0, run=0xf55a98) at ../pango/pango-renderer.c:1525
#4  0xb756b7cd in gdk_pango_renderer_prepare_run (renderer=0x10470c0, run=0xf55a98) at ../../../../gdk/gdkpango.c:456
#5  0xb73925f9 in pango_renderer_prepare_run (run=0xf55a98, renderer=0x10470c0) at ../pango/pango-renderer.c:1435
#6  pango_renderer_draw_layout_line (renderer=0x10470c0, line=0xf50e08, x=34816, y=51200) at ../pango/pango-renderer.c:611
#7  0xb739301d in pango_renderer_draw_layout (renderer=0x10470c0, layout=0xf379f0, x=34816, y=37888) at ../pango/pango-renderer.c:197
#8  0xb756bf3d in IA__gdk_draw_layout_with_colors (drawable=0xbcca30, gc=0xd3a568, x=<optimized out>, y=<optimized out>, layout=0xf379f0, foreground=0x0, background=0x0) at ../../../../gdk/gdkpango.c:999
#9  0xb756c1b7 in IA__gdk_draw_layout (drawable=0xbcca30, gc=0xd3a568, x=34, y=37, layout=0xf379f0) at ../../../../gdk/gdkpango.c:1061
...

(rr) list
310           state->underline = renderer->underline;
311           rect->x = state->logical_rect_end;
312           rect->width = 0;
313         }
314
315       if (part == PANGO_RENDER_PART_OVERLINE &&
316           state->overline != PANGO_OVERLINE_NONE)
317         {
318           PangoRectangle *rect = &state->overline_rect;
319

(rr) print state
$1 = (LineState *) 0x1
(rr) print renderer->priv->line_state
$2 = (LineState *) 0x1

(rr) ptype /o renderer->priv
type = struct _PangoRendererPrivate {
/*    0      |    30 */    PangoColor color[5];
/* XXX  2-byte hole  */
/*   32      |    20 */    gboolean color_set[5];
/*   52      |    10 */    guint16 alpha[5];
/* XXX  2-byte hole  */
/*   64      |     4 */    PangoLayoutLine *line;
/*   68      |     4 */    LineState *line_state;

                           /* total size (bytes):   72 */
                         } *


(rr) print &renderer->priv->line_state
$3 = (LineState **) 0x104705c

(rr) watch *0x104705c
Hardware watchpoint 1: *0x104705c

(rr) reverse-cont
Continuing.

Program received signal SIGSEGV, Segmentation fault.
0xb7391ebf in handle_line_state_change (part=PANGO_RENDER_PART_OVERLINE, renderer=0x10470c0) at ../pango/pango-renderer.c:315
315       if (part == PANGO_RENDER_PART_OVERLINE &&
(rr) reverse-cont
Continuing.

Hardware watchpoint 1: *0x104705c

Old value = 1
New value = -1077207480
gdk_pango_renderer_prepare_run (renderer=0x10470c0, run=0xf55a98) at ../../../../gdk/gdkpango.c:443
443           gdk_renderer->priv->embossed = embossed;

(rr) list
438       gdk_pango_renderer_set_stipple (gdk_renderer, PANGO_RENDER_PART_UNDERLINE, stipple);
439       gdk_pango_renderer_set_stipple (gdk_renderer, PANGO_RENDER_PART_STRIKETHROUGH, stipple);
440
441       if (embossed != gdk_renderer->priv->embossed)
442         {
443           gdk_renderer->priv->embossed = embossed;
444           changed = TRUE;
445         }
446
447       if (!color_equal (&gdk_renderer->priv->emboss_color, &emboss_color))

(rr) bt
#0  gdk_pango_renderer_prepare_run (renderer=0x10470c0, run=0xf55a98) at ../../../../gdk/gdkpango.c:443
#1  0xb73925f9 in pango_renderer_prepare_run (run=0xf55a98, renderer=0x10470c0) at ../pango/pango-renderer.c:1435
#2  pango_renderer_draw_layout_line (renderer=0x10470c0, line=0xf50e08, x=34816, y=51200) at ../pango/pango-renderer.c:611
#3  0xb739301d in pango_renderer_draw_layout (renderer=0x10470c0, layout=0xf379f0, x=34816, y=37888) at ../pango/pango-renderer.c:197
#4  0xb756bf3d in IA__gdk_draw_layout_with_colors (drawable=0xbcca30, gc=0xd3a568, x=<optimized out>, y=<optimized out>, layout=0xf379f0, foreground=0x0, background=0x0) at ../../../../gdk/gdkpango.c:999
#5  0xb756c1b7 in IA__gdk_draw_layout (drawable=0xbcca30, gc=0xd3a568, x=34, y=37, layout=0xf379f0) at ../../../../gdk/gdkpango.c:1061
#6  0xb77aa00c in gtk_default_draw_layout (style=0xd1a938, window=0xbcca30, state_type=GTK_STATE_INSENSITIVE, use_text=0, area=0xf2d63c, widget=0xf1c970, detail=0xb796027b "label", x=34, y=37, layout=0xe556a0) at ../../../../gtk/gtkstyle.c:5311
#7  0xb7720e58 in gtk_label_expose (widget=0xf1c970, event=0xf2d630) at ../../../../gtk/gtklabel.c:3565
#8  0xb772d4f7 in _gtk_marshal_BOOLEAN__BOXED (closure=0xc8e350, return_value=0xbfcb22b8, n_param_values=2, param_values=0xbfcb2300, invocation_hint=0xbfcb22a4, marshal_data=0xb7720d70 <gtk_label_expose>) at ../../../../gtk/gtkmarshalers.c:84
#9  0xb7306317 in g_closure_invoke (closure=0xc8e350, return_value=0xbfcb22b8, n_param_values=2, param_values=0xbfcb2300, invocation_hint=0xbfcb22a4) at ../../../gobject/gclosure.c:810
...

(rr) ptype /o gdk_renderer->priv
type = struct _GdkPangoRendererPrivate {
/*    0      |     4 */    GdkScreen *screen;
/*    4      |    24 */    PangoColor override_color[4];
/*   28      |    16 */    gboolean override_color_set[4];
/*   44      |    16 */    GdkBitmap *stipple[4];
/*   60      |     6 */    PangoColor emboss_color;
/* XXX  2-byte hole  */
/*   68      |     4 */    gboolean embossed;
/*   72      |     4 */    cairo_t *cr;
/*   76      |     4 */    PangoRenderPart last_part;
/*   80      |     4 */    GdkDrawable *drawable;
/*   84      |     4 */    GdkGC *base_gc;
/*   88      |     4 */    gboolean gc_changed;

                           /* total size (bytes):   92 */
                         } *




More information about the pkg-gnome-maintainers mailing list