bug (assertion) on connection drop + /quit

Rodolfo Gouveia <[email protected]> Sun, 29 Aug 2010 16:28:24 -0400
Newsgroups gmane.network.silc.devel
Message-ID <[email protected]>
Hi there. Running silc-client 1.1.8 (from ports compiled with --enable-debug)
on OpenBSD 4.7 i386.
I have been having some problems with silc-client when a connection drops.
Normally I get a assertion error like the following:
 assertion "silc_atomic_get_int32(&fsm->u.m.threads) == 0" failed: 
 file "silcfsm.c", line 484, function "silc_fsm_finish_fsm"
 Abort trap (core dumped)

I can reproduce this by connecting to a server, dropping the connection
with the help of tcpdrop(8) (utility native to OpenBSD) and then issuing 
a /quit inside silc-client.
I've gathered a backtrace from gdb as well the last lines of the debug output
from silc -d "*".

Any help to debug this furthermore is appreciated.

--rodolfo

(gdb) bt full
#0  0x07c05a71 in kill () from /usr/lib/libc.so.53.1
No symbol table info available.
#1  0x07c51313 in abort () at /usr/src/lib/libc/stdlib/abort.c:68
        p = (struct atexit *) 0x7dce5000
        cleanup_called = 1
        mask = 4294967263
#2  0x07bdcbb7 in __assert2 (file=0x3c01f0ed "silcfsm.c", line=484, func=0x3c01ef88 "silc_fsm_finish_fsm", 
    failedexpr=0x3c01f340 "silc_atomic_get_int32(&fsm->u.m.threads) == 0") at /usr/src/lib/libc/gen/assert.c:52
No locals.
#3  0x1c0bea63 in silc_fsm_finish_fsm ()
No symbol table info available.
#4  0x1c0b9f2f in silc_schedule_unset_listen_fd ()
No symbol table info available.
#5  0x1c0ba26a in silc_schedule_unset_listen_fd ()
No symbol table info available.
#6  0x1c0ba018 in silc_schedule_unset_listen_fd ()
No symbol table info available.
#7  0x1c0b9bb9 in silc_schedule_one ()
No symbol table info available.
#8  0x1c083e1d in silc_client_run_one ()
No symbol table info available.
#9  0x1c054ce5 in silc_core_deinit ()
No symbol table info available.
#10 0x07a76d73 in g_main_context_is_owner () from /usr/local/lib/libglib-2.0.so.1802.0
No symbol table info available.
#11 0x07a746cd in g_source_is_destroyed () from /usr/local/lib/libglib-2.0.so.1802.0
No symbol table info available.
#12 0x07a756d5 in g_main_context_dispatch () from /usr/local/lib/libglib-2.0.so.1802.0
No symbol table info available.
#13 0x07a759c7 in g_main_context_dispatch () from /usr/local/lib/libglib-2.0.so.1802.0
No symbol table info available.
#14 0x07a75bf8 in g_main_context_iteration () from /usr/local/lib/libglib-2.0.so.1802.0
No symbol table info available.
#15 0x1c032ccd in main ()
No symbol table info available.

20:50:19 silc_fsm_event_signal:703: Signal event 0x88e0b898
20:50:19 silc_schedule_task_add:584: New timeout task 0x88e0c920: sec=0, usec=0
20:50:19 scheduler_notify_cb:126: interval 0 msec
20:50:19 silc_schedule_wakeup:514: Wakeup scheduler
20:50:19 silc_schedule_internal_wakeup:456: Wakeup
20:50:19 my_silc_scheduler_fd:90: I/O event, 9
20:50:19 silc_schedule_iterate:405: In scheduler loop
20:50:19 silc_schedule_dispatch_timeout:90: Running timeout tasks
20:50:19 silc_fsm_signal:686: Signalled FSM 0x88e0b840
20:50:19 silc_fsm_run:425: Running FSM 0x88e0b840
20:50:19 silc_fsm_event_wait:576: Received event 0x88e0b898
20:50:19 silc_client_connection_st_run:243: Event: disconnected
20:50:19 silc_schedule_task_add:584: New timeout task 0x88e0c880: sec=0, usec=0
20:50:19 scheduler_notify_cb:126: interval 0 msec
20:50:19 silc_schedule_wakeup:514: Wakeup scheduler
20:50:19 silc_schedule_internal_wakeup:456: Wakeup
20:50:19 silc_schedule_select_timeout:190: timeout: sec=0, usec=733
20:50:19 silc_schedule_iterate:442: Select
20:50:19 silc_schedule_iterate:454: Running fd tasks
20:50:19 silc_schedule_wakeup_cb:323: Wokeup
20:50:19 silc_schedule_dispatch_timeout:90: Running timeout tasks
20:50:19 silc_fsm_run:425: Running FSM 0x88e0b840
20:50:19 silc_connect_cb:287: Connection callback 0x7f22c300, status 2, error 0, message N/A
20:50:19 silc_client_connection_st_close:433: Closing remote connection
20:50:19 silc_packet_stream_destroy:906: Destroying packet stream 0x7f22c480
20:50:19 scheduler_notify_cb:108: Add fd 6, events 0
20:50:19 silc_schedule_task_del_by_fd:747: Unregister task by fd 6
20:50:19 silc_schedule_task_del_by_fd:755: Deleting task 0x88e0c300
20:50:19 silc_net_close_connection:788: Closing sock 6
20:50:19 silc_schedule_task_del_by_fd:747: Unregister task by fd 6
20:50:19 silc_schedule_task_del_by_fd:755: Deleting task 0x88e0c300
20:50:19 silc_schedule_wakeup:514: Wakeup scheduler
20:50:19 silc_schedule_internal_wakeup:456: Wakeup
20:50:19 silc_client_connection_st_close:439: Finishing connection machine
20:50:19 silc_fsm_run:446: State finish 0x88e0b840
20:50:19 silc_schedule_task_del_by_all:886: Unregister task by fd, callback and context
20:50:19 silc_schedule_task_add:584: New timeout task 0x88e0ca00: sec=0, usec=0
20:50:19 scheduler_notify_cb:126: interval 0 msec
20:50:19 my_silc_scheduler:81: Timeout
20:50:19 silc_schedule_iterate:405: In scheduler loop
20:50:19 silc_schedule_dispatch_timeout:90: Running timeout tasks
20:50:19 silc_fsm_finish_fsm:462: FSM 0x88e0b840, is finished
assertion "silc_atomic_get_int32(&fsm->u.m.threads) == 0" failed: file "silcfsm.c", line 484, function "silc_fsm_finish_fsm"
Abort trap (core dumped) 

_______________________________________________________________________
Info:    https://lists.silcnet.org/mailman/listinfo/silc-announce
Archive: https://lists.silcnet.org/pipermail/silc-announce
FAQ:     http://silcnet.org/support/faq/