Hi,
    I'm starting to test ntlm functionality in RC7 and I've found some
bugs...
    I'm trying to execute the ntlm_post sample to test ntlm functionality
and it seg faults...
  This is the output

debug] phase.c(121) axis2_handler_t *request_uri_based_dispatcher added to
the index 0 of the phase Transport
[debug] phase.c(121) axis2_handler_t *addressing_based_dispatcher added to
the index 1 of the phase Transport
[debug] phase.c(121) axis2_handler_t *rest_dispatcher added to the index 0
of the phase Dispatch
[debug] phase.c(121) axis2_handler_t *soap_message_body_based_dispatcher
added to the index 1 of the phase Dispatch
[debug] phase.c(121) axis2_handler_t *soap_action_based_dispatcher added to
the index 2 of the phase Dispatch
[debug] phase.c(121) axis2_handler_t *dispatch_post_conditions_evaluator
added to the index 0 of the phase PostDispatch
[debug] phase.c(121) axis2_handler_t *context_handler added to the index 1
of the phase PostDispatch
[debug] conf_builder.c(227) No custom dispatching order found. Continue
with the default dispatching order
[debug] conf_builder.c(351) Module addressing found in axis2.xml
[error] class_loader.c(152) Loading shared library
/usr/local/axis2c/lib/libaxis2_http_sender.so  Failed. DLERROR IS
libaxis2_ntlm.so.0: cannot open shared object file: No such file or
directory
[error] conf_builder.c(848) Transport sender is NULL for transport http,
unable to continue
[error] conf_builder.c(250) Processing transport senders failed, unable to
continue
[error] dep_engine.c(929) Populating Axis2 Configuration failed
[error] conf_init.c(225) Loading deployment engine failed for client
repository /usr/local/axis2c
Segmentation fault

Upon closer examination there seem to be 2 errors. Somehow it doesn't find
the libntlm module, and while freeing the resources it segfaults...

I'm still working on the first one. But I think I've found a solution for
the second...

It seems the the conf_free method has a reference to dep_engine, and
dep_engine has a reference to conf... When someone releases conf in case of
error it frees the dep_engine,
but the dep_engine is also freed elswere causing segfault...
I think that dep_engine should be in charge of releasing conf, and not the
other way around... Can someone please confirm this? In that case the patch
would be very simple: just delete conf.c fom line 352 to line 355... I've
tried it and it stops the segfault and in all the samples it doesn't
increase the memory leak...

Thanks

-- 
-- 
Mantaut Alex
Intraway Corp.

+54 (11) 6040-4000
MSN: alex.mant...@intraway.com

Visit our website at http://www.intraway.com
Proud to be an ISO 9001:2008 certified company

Reply via email to