irssi-import / bugs.irssi.org

bugs.irssi.org archive
https://github.com/irssi/irssi/issues
0 stars 0 forks source link

Random Segfaults on FreeBSD 9.0-RELEASE and 9.1-RC1 #875

Closed irssibot closed 11 years ago

irssibot commented 11 years ago

Irssi 0.8.15 built from FreeBSD Ports segfaults at random times on both FreeBSD 9.0-RELEASE and 9.1-RC1 (arch is i386). The backtrace for each segfault is somewhat similar.

Backtrace #1:

#0  0x0806acf9 in textbuffer_remove ()
#1  0x0805be4c in gui_printtext_deinit ()
#2  0x080dabce in signal_stop ()
#3  0x080db113 in signal_emit_id ()
#4  0x08096d5c in printtext_deinit ()
#5  0x080dabce in signal_stop ()
#6  0x080db113 in signal_emit_id ()
#7  0x08096ff0 in printtext_init ()
#8  0x0809725a in printformat_module_dest_charargs ()
#9  0x08097325 in printformat_module_dest_args ()
#10 0x0809742c in printformat_module_args ()
#11 0x08097477 in printformat_module ()
#12 0x0808cf52 in expand_emphasis ()
#13 0x080dabce in signal_stop ()
#14 0x080db1bf in signal_emit ()
#15 0x08075922 in fe_events_deinit ()
#16 0x080dabce in signal_stop ()
#17 0x080db1bf in signal_emit ()
#18 0x080a2513 in irc_irc_deinit ()
#19 0x080dabce in signal_stop ()
#20 0x080db113 in signal_emit_id ()
#21 0x080a21c3 in irc_irc_deinit ()
#22 0x080dabce in signal_stop ()
#23 0x080db113 in signal_emit_id ()
#24 0x080a23db in irc_irc_deinit ()
#25 0x080cce1e in mask_match ()
#26 0x2836cabd in g_io_channel_unix_get_fd () from /usr/local/lib/libglib-2.0.so.0
#27 0x28326247 in g_main_context_dispatch () from /usr/local/lib/libglib-2.0.so.0
#28 0x2832a2ce in g_main_context_prepare () from /usr/local/lib/libglib-2.0.so.0
#29 0x2832a8f5 in g_main_context_iteration () from /usr/local/lib/libglib-2.0.so.0
#30 0x0806e9a4 in main ()

Backtrace #2:

#0  0x0806acf9 in textbuffer_remove ()
#1  0x0805be4c in gui_printtext_deinit ()
#2  0x080dabce in signal_stop ()
#3  0x080db113 in signal_emit_id ()
#4  0x08096d5c in printtext_deinit ()
#5  0x080dabce in signal_stop ()
#6  0x080db113 in signal_emit_id ()
#7  0x08096ff0 in printtext_init ()
#8  0x080976d2 in printtext_string_window ()
#9  0x0809f550 in window_find_name ()
#10 0x0809f5d7 in window_find_name ()
#11 0x28300c46 in g_source_get_time () from /usr/local/lib/libglib-2.0.so.0
#12 0x28300247 in g_main_context_dispatch () from /usr/local/lib/libglib-2.0.so.0
#13 0x283042ce in g_main_context_prepare () from /usr/local/lib/libglib-2.0.so.0
#14 0x283048f5 in g_main_context_iteration () from /usr/local/lib/libglib-2.0.so.0
#15 0x0806e9a4 in main ()

At one point I also received a perl core dump along with the irssi core dump.

Perl Backtrace:

#0  0x28139d11 in Perl_sv_2mortal () from /usr/local/lib/perl5/5.14.2/mach/CORE/libperl.so
#1  0x2815dbba in Perl_leave_scope () from /usr/local/lib/perl5/5.14.2/mach/CORE/libperl.so
#2  0x2818b5d0 in S_regtry () from /usr/local/lib/perl5/5.14.2/mach/CORE/libperl.so
#3  0x28198aa2 in Perl_regexec_flags () from /usr/local/lib/perl5/5.14.2/mach/CORE/libperl.so
#4  0x28132c7f in Perl_pp_subst () from /usr/local/lib/perl5/5.14.2/mach/CORE/libperl.so
#5  0x2812eefb in Perl_runops_standard () from /usr/local/lib/perl5/5.14.2/mach/CORE/libperl.so
#6  0x280c7704 in perl_run () from /usr/local/lib/perl5/5.14.2/mach/CORE/libperl.so
#7  0x08048b11 in main ()
irssibot commented 11 years ago

The latest segafault (backtrace below) looks to have occurred when the screen_away.pl script was marking me as away after detachment of the GNU screen instance irssi was running in.

#0  0x0806acf9 in textbuffer_remove ()
#1  0x0805be4c in gui_printtext_deinit ()
#2  0x080dabce in signal_stop ()
#3  0x080db113 in signal_emit_id ()
#4  0x08096d5c in printtext_deinit ()
#5  0x080dabce in signal_stop ()
#6  0x080db113 in signal_emit_id ()
#7  0x08096ff0 in printtext_init ()
#8  0x0809725a in printformat_module_dest_charargs ()
#9  0x08097325 in printformat_module_dest_args ()
#10 0x0809742c in printformat_module_args ()
#11 0x08097477 in printformat_module ()
#12 0x08076cc1 in fe_events_numeric_deinit ()
#13 0x080dabce in signal_stop ()
#14 0x080db1bf in signal_emit ()
#15 0x080a2513 in irc_irc_deinit ()
#16 0x080dabce in signal_stop ()
#17 0x080db113 in signal_emit_id ()
#18 0x080a21c3 in irc_irc_deinit ()
#19 0x080dabce in signal_stop ()
#20 0x080db113 in signal_emit_id ()
#21 0x080a23db in irc_irc_deinit ()
#22 0x080cce1e in mask_match ()
#23 0x28346abd in g_io_channel_unix_get_fd () from /usr/local/lib/libglib-2.0.so.0
#24 0x28300247 in g_main_context_dispatch () from /usr/local/lib/libglib-2.0.so.0
#25 0x283042ce in g_main_context_prepare () from /usr/local/lib/libglib-2.0.so.0
#26 0x283048f5 in g_main_context_iteration () from /usr/local/lib/libglib-2.0.so.0
#27 0x0806e9a4 in main ()
irssibot commented 11 years ago

Can you please provide a list of your loaded scripts?

TIA.

irssibot commented 11 years ago

Also, are you using irssi from ports? If so, what version? ( pkg_info | grep irssi )

irssibot commented 11 years ago

[Edit: portversion typo]

irssibot commented 11 years ago

Yes, I'm running irssi from ports, version 0.8.15_4. The scripts I normally have loaded are autorejoin.pl, cron.pl, nickcolor.pl, and screen_away.pl.

I've recompiled the port without the utf8 patch and will see if it has any effect.

irssibot commented 11 years ago

I've run both 0.8.15_4 without the utf8 patch and 0.8.15_5 (in which the utf8 patch was removed) for a week now without any segfaults.

irssibot commented 11 years ago

That's good news, thanks for checking.

irssibot commented 11 years ago

Hi Ryan, What encoding do you use?

irssibot commented 11 years ago

I'm currently using UTF-8 as my encoding.

irssibot commented 11 years ago

Hi Ryan, Could you help try this http://kcwu.csie.org/~kcwu/tmp/diff-irssi-utf8-2.txt ?

irssibot commented 11 years ago

I've rebuilt irssi with the patch. I'll give it a week or so to see if any segfaults arise.

irssibot commented 11 years ago

I finally had a chance to run irssi for an extended period of time with the patch, and I have yet to experience any segfaults after around 11 days of uptime.

irssibot commented 11 years ago

Problem was caused by a downstream patch.