[Vortex] BUG: vortex_connection_is_tlsficated logs a "Critical" warning
Francis Brosnan Blazquez
francis.brosnan at aspl.es
Wed May 7 14:14:51 CEST 2008
Hi Jens,
vortex_connection_get_data should show a critical message if a null
reference is found for the internal hash (I've updated this), but at the
same time we can't copy the hash since it contains destroy handlers that
would be called twice for the same reference...
I've updated the portion you point to move the hash and to create a new
empty one so the connection internal hash keeps consistent.
Thanks for reporting. Cheers!
> 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
--
Francis Brosnan Blazquez <francis.brosnan at aspl.es>
Advanced Software Production Line, S.L.
More information about the Vortex
mailing list