[Vortex] BUG: vortex_connection_is_tlsficated logs a "Critical" warning

Jens Alfke jens at mooseyard.com
Tue May 6 22:02:34 CEST 2008


Calling vortex_connection_is_tlsficated within the connection's  
onClose callback, while it's transferring to TLS, results in a  
critical-level log message:
	Expresion 'hash_table' have failed, returning: NULL at  
vortex_hash_lookup

The immediate reason for the warning is that the VortexConnection's  
"data" field has been set to NULL. This seems to be an invalid state,  
because vortex_connection_get_data doesn't check for it.

"data" must have been set to NULL in  
vortex_connection_new_empty_from_connection, when it does this  
(vortex_connection:883):
		/* creates the user space data */
		if (__connection != NULL) {
			connection->data       = __connection->data;
			__connection->data     = NULL;

Either the above lines should copy the hashtable instead of moving it,  
or vortex_connection_get_data should check for NULL.

Here are the relevant portions of the backtrace:

...
#3  0x001af462 in _vortex_log_common (domain=0x1f1ce0 "",  
log_level=VORTEX_LEVEL_CRITICAL, message=0x1ee350 "Expresion '%s' have  
failed, returning: %s at %s (%s:%d)", args=0xb01566ac "\256h\037") at  
vortex/src/vortex.c:603
#4  0x001af710 in _vortex_log (domain=0x1f1ce0 "",  
log_level=VORTEX_LEVEL_CRITICAL, message=0x1ee350 "Expresion '%s' have  
failed, returning: %s at %s (%s:%d)") at vortex/src/vortex.c:694
#5  0x001c75bb in vortex_hash_lookup (hash_table=0x0, key=0x1f403f) at  
vortex/src/vortex_hash.c:247
#6  0x001c154d in vortex_connection_get_data (connection=0xda8ab20,  
key=0x1f403f "tls-fication:status") at vortex/src/vortex_connection.c: 
4185
#7  0x001c2923 in vortex_connection_is_tlsficated  
(connection=0xda8ab20) at vortex/src/vortex_connection.c:4957
...
#18 0x0001fab6 in onCloseCallback (vortexConnection=0xda8ab20,  
user_data=0xda90ae0)
#19 0x001c08d5 in __vortex_connection_invoke_on_close  
(connection=0xda8ab20, is_full=1) at vortex/src/vortex_connection.c:3524
#20 0x001c10d9 in __vortex_connection_set_not_connected  
(connection=0xda8ab20, message=0x1fbab8 "connection instance being  
closed, without closing session, due to underlaying TLS negoctiation")  
at vortex/src/vortex_connection.c:3887
#21 0x001d4606 in vortex_tls_prepare_listener (connection=0xda8ab20)  
at vortex/src/vortex_tls.c:1372
#22 0x001c299b in vortex_connection_invoke_preread_handler  
(connection=0xda8ab20) at vortex/src/vortex_connection.c:4987
#23 0x001cc44f in __vortex_reader_process_socket (ctx=0x891800,  
connection=0xda8ab20) at vortex/src/vortex_reader.c:305
#24 0x001cd5ac in __vortex_reader_check_connection_list (ctx=0x891800,  
on_reading=0xda68550, con_cursor=0x3e8a30, changed=1) at vortex/src/ 
vortex_reader.c:1027
#25 0x001cdb0d in __vortex_reader_run (ctx=0x891800) at vortex/src/ 
vortex_reader.c:1260
#26 0x94679c55 in _pthread_start ()
#27 0x94679b12 in thread_start ()

—Jens
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 1875 bytes
Desc: not available
Url : http://lists.aspl.es/pipermail/vortex/attachments/20080506/d8c6d405/attachment-0001.bin 


More information about the Vortex mailing list