Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash (probably on disconnect?) #24

Open
ailin-nemui opened this issue Aug 29, 2017 · 3 comments
Open

Crash (probably on disconnect?) #24

ailin-nemui opened this issue Aug 29, 2017 · 3 comments

Comments

@ailin-nemui
Copy link
Contributor

got this backtrace.

#1  0x0000000040695ea3 in g_strdup () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x0000000045914111 in sig_conn_copy (dest=0x7fbfc30c58, src=0x552bd58b90) at xep/muc-reconnect.c:38
#3  0x000000552ab46962 in signal_emit_real (rec=rec@entry=0x552adbcf90, params=params@entry=2, va=va@entry=0x7fbfc30b58, first_hook=<optimized out>) at signals.c:242
#4  0x000000552ab46ea0 in signal_emit (signal=signal@entry=0x552ab5ee5e "server connect copy", params=params@entry=2) at signals.c:286
#5  0x000000552ab412e2 in server_connect_copy_skeleton (src=0x552bd58b90, connect_info=connect_info@entry=0) at servers-reconnect.c:154
#6  0x000000552ab418f7 in sig_reconnect (server=0x552bd81850) at servers-reconnect.c:230
#7  0x000000552ab46962 in signal_emit_real (rec=rec@entry=0x552adb6610, params=params@entry=1, va=va@entry=0x7fbfc30d38, first_hook=<optimized out>) at signals.c:242
#8  0x000000552ab46ea0 in signal_emit (signal=signal@entry=0x552ab54dfb "server disconnected", params=params@entry=1) at signals.c:286
#9  0x000000552ab40ec0 in server_disconnect (server=0x552bd81850) at servers.c:481
#10 0x0000000045908154 in lm_close_cb (connection=0x552bd8c160, reason=LM_DISCONNECT_REASON_PING_TIME_OUT, user_data=0x552bd81850) at xmpp-servers.c:272
#11 0x0000000045b293ff in ?? () from /usr/lib/x86_64-linux-gnu/libloudmouth-1.so.0
#12 0x0000000043032f75 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#13 0x0000000043044f82 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#14 0x000000004304dbdc in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#15 0x000000004304dfbf in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#16 0x0000000045b32532 in ?? () from /usr/lib/x86_64-linux-gnu/libloudmouth-1.so.0
#17 0x0000000040677123 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00000000406766aa in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x0000000040676a60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x0000000040676b0c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x000000552aac7813 in main (argc=<optimized out>, argv=<optimized out>) at irssi.c:329
@cdidier
Copy link
Owner

cdidier commented Aug 29, 2017

As g_strdup simply returns NULL on NULL pointer, so it seems that the string is not '\0' terminated and strdup is reading past the end of the string.
This means that for some reason channel->get_join_data(CHANNEL(channel)) doesn't return a valid string (in the save_channels function).

@ailin-nemui
Copy link
Contributor Author

the list contains some odd values like 0x23,0x1b,... so something seems to go entirely wrong -- this is not a valid memory address for storing of a string. (or I am misreading the dump)

@ab3ju
Copy link

ab3ju commented Oct 7, 2017

Seems it's the GSList itself that's bad - my latest crash was because src->channel_list->next was invalid (data was a valid pointer, but a garbage string)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants