After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 467791 - crash in html_map_add_shape (map=0x0) at htmlmap.c:49
crash in html_map_add_shape (map=0x0) at htmlmap.c:49
Status: RESOLVED FIXED
Product: GtkHtml
Classification: Other
Component: Parsing
3.17.x
Other All
: High critical
: ---
Assigned To: Milan Crha
Evolution QA team
: 441262 492314 492324 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2007-08-17 20:26 UTC by Jon Schewe
Modified: 2008-02-26 14:24 UTC
See Also:
GNOME target: ---
GNOME version: 2.21/2.22


Attachments
bad-email (14.33 KB, text/plain)
2007-08-17 20:30 UTC, Jon Schewe
  Details
patch to workaround broken html messages (385 bytes, patch)
2007-12-28 16:10 UTC, André Klapper
committed Details | Review
proposed gtkhtml patch (1.11 KB, patch)
2008-02-25 17:55 UTC, Milan Crha
committed Details | Review

Description Jon Schewe 2007-08-17 20:26:03 UTC
What were you doing when the application crashed?
Deleting a mail message and then reading a message from nova-online-h@franz.wgbh.org


Distribution: openSUSE 10.2 (X86-64)
Gnome Release: 2.16.1 2006-11-28 (SUSE)
BugBuddy Version: 2.16.0

Memory status: size: 787431424 vsize: 787431424 resident: 116404224 share: 24645632 rss: 141049856 rss_rlim: -774895616
CPU usage: start_time: 1187272855 rtime: 23701 utime: 22210 stime: 1491 cutime:120 cstime: 59 timeout: 0 it_real_value: 0 frequency: 100

Backtrace was generated from '/opt/gnome/bin/evolution-2.8'

(no debugging symbols found)
Using host libthread_db library "/lib64/libthread_db.so.1".
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 47754835161824 (LWP 14174)]
[New Thread 1225075008 (LWP 15690)]
[New Thread 1191504192 (LWP 14723)]
[New Thread 1157933376 (LWP 14203)]
[New Thread 1149540672 (LWP 14202)]
[New Thread 1141147968 (LWP 14200)]
[New Thread 1140881728 (LWP 14199)]
[New Thread 1132489024 (LWP 14198)]
[New Thread 1124096320 (LWP 14193)]
[New Thread 1115703616 (LWP 14192)]
[New Thread 1098918208 (LWP 14188)]
[New Thread 1090525504 (LWP 14186)]
[New Thread 1082132800 (LWP 14185)]
0x00002b6ec7666c5f in waitpid () from /lib64/libpthread.so.0

Thread 1 (Thread 47754835161824 (LWP 14174))

  • #0 waitpid
    from /lib64/libpthread.so.0
  • #1 gnome_gtk_module_info_get
    from /opt/gnome/lib64/libgnomeui-2.so.0
  • #2 <signal handler called>
  • #3 html_map_add_shape
    from /opt/gnome/lib64/libgtkhtml-3.8.so.15
  • #4 html_engine_add_object_with_id
    from /opt/gnome/lib64/libgtkhtml-3.8.so.15
  • #5 html_engine_add_object_with_id
    from /opt/gnome/lib64/libgtkhtml-3.8.so.15
  • #6 html_engine_update_focus_if_necessary
    from /opt/gnome/lib64/libgtkhtml-3.8.so.15
  • #7 html_engine_set_editable
    from /opt/gnome/lib64/libgtkhtml-3.8.so.15
  • #8 gtk_html_stream_close
    from /opt/gnome/lib64/libgtkhtml-3.8.so.15
  • #9 em_html_stream_new
    from /opt/gnome/lib64/evolution/2.8/components/libevolution-mail.so
  • #10 em_sync_stream_get_type
    from /opt/gnome/lib64/evolution/2.8/components/libevolution-mail.so
  • #11 g_main_context_dispatch
    from /opt/gnome/lib64/libglib-2.0.so.0
  • #12 g_main_context_prepare
    from /opt/gnome/lib64/libglib-2.0.so.0
  • #13 g_main_loop_run
    from /opt/gnome/lib64/libglib-2.0.so.0
  • #14 bonobo_main
    from /opt/gnome/lib64/libbonobo-2.so.0
  • #15 main
  • #0 waitpid
    from /lib64/libpthread.so.0

Comment 1 Jon Schewe 2007-08-17 20:30:08 UTC
Created attachment 93871 [details]
bad-email

This is the email that caused the crash.  Whenever I select this email in evolution it crashes.
Comment 2 André Klapper 2007-08-18 11:39:19 UTC
*** Bug 441262 has been marked as a duplicate of this bug. ***
Comment 3 André Klapper 2007-08-18 11:44:40 UTC
ho jon,
the email also crashes my evolution 2.11.5 here (i should fix my setup to provide a useful stacktrace, sigh).

could you please install some debugging packages [1], start the application as normal, and reproduce the crash, if possible?
once bug-buddy pops up, you can find the stacktrace in the details, now containing way more information. please copy that stacktrace and paste it as a comment here. thanks in advance for helping to fix this!

[1] debugging packages for gtkhtml, evolution, evolution-data-server, gtk, and glib (as far as those packages are provided by your distribution). More details can be found here: http://live.gnome.org/GettingTraces
Comment 4 Jon Schewe 2007-08-18 12:53:41 UTC
I've got the evolution debuginfo files (I even built the evolution package myself this time so that gpilot would work):
>rpm -qa | grep evolution
evolution-data-server-devel-1.8.2-11
evolution-sharp-debuginfo-0.12.0-5
evolution-exchange-debuginfo-2.8.2-4
evolution-debuginfo-2.8.2-7.1
evolution-devel-2.8.2-7.1
evolution-sharp-0.12.0-5
evolution-data-server-1.8.2-11
evolution-2.8.2-7.1
evolution-webcal-2.8.0-26
evolution-exchange-2.8.2-5
evolution-data-server-32bit-1.8.2-11
libopensync-plugin-evolution2-debuginfo-0.20-9
evolution-webcal-debuginfo-2.8.0-26
libopensync-plugin-evolution2-0.20-9
evolution-data-server-debuginfo-1.8.2-5
evolution-pilot-2.8.2-7.1

I added some more debug packages, I'll try again shortly.
Comment 5 Jon Schewe 2007-08-18 13:00:08 UTC
Here's my second try:
Distribution: openSUSE 10.2 (X86-64)
Gnome Release: 2.16.1 2006-11-28 (SUSE)
BugBuddy Version: 2.16.0

Memory status: size: 540831744 vsize: 540831744 resident: 17707008 share: 21229568 rss: 38936576 rss_rlim: 1737231360
CPU usage: start_time: 1187441890 rtime: 460 utime: 434 stime: 26 cutime:0 cstime: 0 timeout: 0 it_real_value: 0 frequency: 100

Backtrace was generated from '/opt/gnome/bin/evolution-2.8'

Using host libthread_db library "/lib64/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 47718487985376 (LWP 31390)]
[New Thread 1124362560 (LWP 31441)]
[New Thread 1124096320 (LWP 31440)]
[New Thread 1115703616 (LWP 31439)]
[New Thread 1107310912 (LWP 31417)]
[New Thread 1098918208 (LWP 31416)]
[New Thread 1090525504 (LWP 31410)]
[New Thread 1082132800 (LWP 31404)]
0x00002b665110dc5f in waitpid () from /lib64/libpthread.so.0

Thread 1 (Thread 47718487985376 (LWP 31390))

  • #0 waitpid
    from /lib64/libpthread.so.0
  • #1 gnome_gtk_module_info_get
    from /opt/gnome/lib64/libgnomeui-2.so.0
  • #2 <signal handler called>
  • #3 html_map_add_shape
    at htmlmap.c line 49
  • #4 element_parse_a
    at htmlengine.c line 1806
  • #5 parse_one_token
    at htmlengine.c line 3759
  • #6 html_engine_timer_event
    at htmlengine.c line 1356
  • #7 html_engine_stream_end
    at htmlengine.c line 4728
  • #8 gtk_html_stream_close
    at gtkhtml-stream.c line 137
  • #9 emhs_sync_close
    at em-html-stream.c line 140
  • #10 emcs_gui_received
    at em-sync-stream.c line 164
  • #11 g_main_context_dispatch
    at gmain.c line 2045
  • #12 g_main_context_iterate
    at gmain.c line 2677
  • #13 g_main_loop_run
    at gmain.c line 2881
  • #14 bonobo_main
    from /opt/gnome/lib64/libbonobo-2.so.0
  • #15 main
    at main.c line 614
  • #0 waitpid
    from /lib64/libpthread.so.0

Comment 6 Jon Schewe 2007-08-18 13:21:45 UTC
Ok, so I see that my evolution-data-server package has a debuginfo package with it, but it's the wrong one.  If this is a problem, let me know and I can rebuild it from source as well.

There is an active bug with SUSE on this.
https://bugzilla.novell.com/show_bug.cgi?id=233122
Comment 7 André Klapper 2007-08-18 15:10:24 UTC
perfect trace *and* an example message, thanks a lot!
Comment 8 André Klapper 2007-12-19 03:43:48 UTC
*** Bug 492314 has been marked as a duplicate of this bug. ***
Comment 9 André Klapper 2007-12-19 03:43:51 UTC
*** Bug 492324 has been marked as a duplicate of this bug. ***
Comment 10 André Klapper 2007-12-28 16:09:09 UTC
bug 467791 on evo 2.21.5:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1209100608 (LWP 3017)]
0x0050d4ff in html_map_add_shape (map=0x0, shape=0xa5430e0) at htmlmap.c:49
49              g_ptr_array_add (map->shapes, shape);
(gdb) thread apply all bt

[...]

Thread 1 (Thread -1209100608 (LWP 3017))

  • #0 html_map_add_shape
    at htmlmap.c line 49
  • #1 element_parse_a
    at htmlengine.c line 1797
  • #2 parse_one_token
    at htmlengine.c line 3750
  • #3 new_parse_body
    at htmlengine.c line 1347
  • #4 html_engine_timer_event
    at htmlengine.c line 4663
  • #5 html_engine_stream_end
    at htmlengine.c line 4724
  • #6 gtk_html_stream_close
    at gtkhtml-stream.c line 137
  • #7 emhs_sync_close
    at em-html-stream.c line 140
  • #8 emss_process_message
    at em-sync-stream.c line 80
  • #9 g_idle_dispatch
    at gmain.c line 4142
  • #10 g_main_dispatch
    at gmain.c line 2064
  • #11 IA__g_main_context_dispatch
    at gmain.c line 2616
  • #12 g_main_context_iterate
    at gmain.c line 2697
  • #13 IA__g_main_loop_run
    at gmain.c line 2905
  • #14 bonobo_main
    at bonobo-main.c line 311
  • #15 main
    at main.c line 700

Comment 11 André Klapper 2007-12-28 16:10:06 UTC
Created attachment 101738 [details] [review]
patch to workaround broken html messages

this fix works for me by avoiding the crash and displaying the message, but a cleaner approach may be more appropriate.
Comment 12 Srinivasa Ragavan 2008-01-01 08:52:26 UTC
Andre, I think, just commit this and leave the bug open to fix the main issue. (Commit to stable/head)
Comment 13 André Klapper 2008-01-02 12:05:31 UTC
workaround committed to svn trunk (revision 8669). the workaround will be included in the next development version (2.21.5) and the upcoming stable version 2.22.0.
Comment 14 Milan Crha 2008-02-25 17:55:20 UTC
Created attachment 105927 [details] [review]
proposed gtkhtml patch

for gtkhtml;

Andre is a coder, wow :)
Andre did it almost right, the only thing was it was leaking. There was misplaced attribute in the "A" element in the message, which caused evo to crash.
Comment 15 Srinivasa Ragavan 2008-02-26 10:56:07 UTC
Nice Milan. Commit it.
Comment 16 Milan Crha 2008-02-26 14:24:59 UTC
Committed to trunk. Committed revision 8757.