1.1.4: unaligned access following silc_server_purge_expired_clients:1260: Expire timeout
Stuart Henderson
stu at spacehopper.org
Fri Apr 18 00:53:00 CEST 2008
My server running 1.1.4 (openbsd/sparc64) just died like this:
23:31:28 silc_server_command_send_status_reply:491: Sending command status 0
23:31:28 silc_server_packet_send:47: Sending COMMAND REPLY packet
23:31:28 silc_server_command_free:307: Command context 0x48c54f40 refcnt 1->0
23:31:29 silc_server_packet_parse_type:299: Received COMMAND packet [flags 0]
23:31:29 silc_server_command_process_timeout:179: Calling PING command
23:31:29 silc_server_command_send_status_reply:491: Sending command status 0
23:31:29 silc_server_packet_send:47: Sending COMMAND REPLY packet
23:31:29 silc_server_command_free:307: Command context 0x4e4a0f80 refcnt 1->0
23:31:30 silc_server_packet_parse_type:299: Received COMMAND packet [flags 0]
23:31:30 silc_server_command_process_timeout:179: Calling PING command
23:31:30 silc_server_command_send_status_reply:491: Sending command status 0
23:31:30 silc_server_packet_send:47: Sending COMMAND REPLY packet
23:31:30 silc_server_command_free:307: Command context 0x4e4a0f80 refcnt 1->0
23:31:35 silc_server_packet_parse_type:299: Received COMMAND packet [flags 0]
23:31:36 silc_server_command_process_timeout:179: Calling PING command
23:31:36 silc_server_command_send_status_reply:491: Sending command status 0
23:31:36 silc_server_packet_send:47: Sending COMMAND REPLY packet
23:31:36 silc_server_command_free:307: Command context 0x48c54f40 refcnt 1->0
23:31:43 silc_server_packet_parse_type:299: Received COMMAND packet [flags 0]
23:31:43 silc_server_command_process_timeout:179: Calling PING command
23:31:43 silc_server_command_send_status_reply:491: Sending command status 0
23:31:43 silc_server_packet_send:47: Sending COMMAND REPLY packet
23:31:43 silc_server_command_free:307: Command context 0x48c55680 refcnt 1->0
23:31:47 silc_server_purge_expired_clients:1260: Expire timeout
=== Window terminated (Thu Apr 17 23:31:47 2008) ===
ah well, an opportunity to move onto newer code with today's commits
included, I'm not sure whether or not they would have prevented this.
<sthen at pyxis:/usr/obj/ports/silc-server-1.1.4-operops/silc-server-1.1.4/apps/silcd:21>$ sudo gdb ./silcd /var/log/cores/silcd.core.20080417
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "sparc64-unknown-openbsd4.3"...
Core was generated by `silcd'.
Program terminated with signal 10, Bus error.
Reading symbols from /usr/local/lib/libiconv.so.4.0...done.
Loaded symbols for /usr/local/lib/libiconv.so.4.0
Reading symbols from /usr/lib/libpthread.so.10.0...done.
Loaded symbols for /usr/lib/libpthread.so.10.0
Reading symbols from /usr/lib/libc.so.44.0...done.
Loaded symbols for /usr/lib/libc.so.44.0
Reading symbols from /usr/libexec/ld.so...done.
Loaded symbols for /usr/libexec/ld.so
#0 0x00000000001b8c84 in silc_hash_free (hash=0x10000073) at silchash.c:267
267 silc_free(hash->context);
(gdb) bt full
#0 0x00000000001b8c84 in silc_hash_free (hash=0x10000073) at silchash.c:267
No locals.
#1 0x000000000010fa74 in silc_idlist_del_data (entry=0x48c59400) at idlist.c:57
idata = 0x48c59400
#2 0x000000000011da6c in silc_server_purge_expired_clients (schedule=0x47986f00, app_context=0x4d620400, type=SILC_TASK_EXPIRE, fd=0, context=0x4d620400)
at server.c:1276
server = 0x4d620400
client = 0x48c59400
id_list = 0x4fc16080
curtime = 1208471507
#3 0x0000000000198f50 in silc_schedule_dispatch_timeout (schedule=0x47986f00, dispatch_all=0 '\0') at silcschedule.c:114
t = 0x41491280
task = 0x41491280
curtime = {tv_sec = 1208471507, tv_usec = 583396}
count = 0
#4 0x00000000001993f8 in silc_schedule_iterate (schedule=0x47986f00, timeout_usecs=-1) at silcschedule.c:449
timeout = {tv_sec = 3957091890884542292, tv_usec = 1333265280}
ret = 0
#5 0x0000000000196784 in silc_schedule (schedule=0x47986f00) at silcschedule.c:499
No locals.
#6 0x000000000011d688 in silc_server_run (server=0x4d620400) at server.c:1190
No locals.
#7 0x000000000010dcb4 in main (argc=3, argv=0xfffffffffffd7a98) at silcd.c:753
ret = 1
opt = -1
option_index = 1060152
foreground = 1 '\001'
opt_create_keypair = 0 '\0'
silcd_config_file = 0x4fc16020 "/etc/silcd/silcd.conf"
sa = {__sigaction_u = {__sa_handler = 0x1, __sa_sigaction = 0x1}, sa_mask = 0, sa_flags = 0}
(gdb)
Thanks for the fixes so far, stability of 1.1.x is definitely
improving.
More information about the silc-devel
mailing list