Re: [Sofia-sip-devel] release debug version of test_nua.exe run differently (sofia-sip-1.12.11)

2011-03-29 Thread Pekka Pessi
Hi Allen,

2011/3/25 Allen alleng...@gmail.com:
 Thanks a lot for your reply.

 I have tried the --no-nat setting, the results are the same.

 Actually the log information I provided in my original email for Visual
 studio 2003 release version is already the result with BOTH --no-nat AND
 --no-proxy setting, otherwise it halts even earlier with the following
 log information:

OK. The problem is, test_nua test cases may suffer from some nasty
timing issues, but the newer check-based tests do not work at all on
Windows.

 
 TEST NUA-2.6.1: REGISTER b to c
 test_nua: testing b_call-nh = nua_handle(b-nua, b_call, (tag_type_t)0,
 (tag_value_t)0)
 test_nua: ok: (b_call-nh = nua_handle(b-nua, b_call, (tag_type_t)0,
 (tag_value_t)0))
 nta: REGISTER (10166550): Connection refused (10061) with
 tcp/[192.168.1.5]:1685
 

 I have test these release version of test_nua.exe on XP SP3, Vista
 business, and Windows 7 Home Preminum, all all have same results as the
 log shown in my original email. All these three operation systems have
 the latest patches installed.

 I have checked the su_init() function, it's the su_init(void) at the
 line 304 of su.c, it DOES include the code to load the _DisconnectEx
 function pointer, and I have checked the log information, the loading
 function call didn't fail.

OK, so that is not an issue.

 I am confused why the release version runs differently from debug
 version, the debug version just passes all the test cases.

The optimization has a tendency to change the work flow slightly and
exposing weaknesses and bugs not present in unoptimized versions. Of
course, the compilers always have bugs, most of them show up when
optimizing.

I wonder if the latest MSVCs allow you to debug optimized versions. If
so, please try to increase optimization level in debug version and try
to see if that helps.

 According to
 my limited experiences, it might caused by not initializing some
 varibles before using them since the debug version always set the
 varibles to zero when they are declared.

Compiler should warn about not initializing some variables. The
project files disable quite a many warnings on MSVC, please see if
enabling them reveals something.

 Would you please give me some more advices to dig into this issue? Thanks!

First, try test_nua with -s option. If it works with that, the issue
is most probably in the test suite.

You can also run test_nua with various logging options, using -e with
--log=a, --log=b or --log=c might reveal something. I'm mostly
interested in the logs from the runs that stop at test case 9.1.4 ...

-- 
Pekka.Pessi mail at nokia.com

--
Enable your software for Intel(R) Active Management Technology to meet the
growing manageability and security demands of your customers. Businesses
are taking advantage of Intel(R) vPro (TM) technology - will your software 
be a part of the solution? Download the Intel(R) Manageability Checker 
today! http://p.sf.net/sfu/intel-dev2devmar
___
Sofia-sip-devel mailing list
Sofia-sip-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sofia-sip-devel


Re: [Sofia-sip-devel] release debug version of test_nua.exe run differently (sofia-sip-1.12.11)

2011-03-24 Thread Pekka Pessi
Hi Allen,

2011/3/23 Allen Guan alleng...@gmail.com:
 I am new to this mail list. I have built sofia-sip-1.12.11 under XP
 SP3 and tried the test programs.

 I have noticed strange behaviors of the test program test_nua.exe when
 running in release version. I have tried to compiled with Visual
 studio 2003, visual studio 2005 and visual studio 2010 express. All
 the debug versions of test_nua.exe compiled with these three compilers
 run well; but the release versions hang in the middle of the running,
 I have attached the log information got when I ran these programs in
 verbose mode. Please take a look at it and give me some advices on the
 possible reasons why these release versions have issues and how to
 tune them up to make them work.

The test_nua has some problems in the way some WinSock implementations
route the local TCP/IP traffic. You can try to run it with command
line option --no-nat, and see if the problem persists.

You could also check if the su_init() manages to load the
_DisconnectEx function pointer. I was under the impression that it
should work in later XP SPs, too, but it is not first time I have made
a mistake.

-- 
Pekka.Pessi mail at nokia.com

--
Enable your software for Intel(R) Active Management Technology to meet the
growing manageability and security demands of your customers. Businesses
are taking advantage of Intel(R) vPro (TM) technology - will your software 
be a part of the solution? Download the Intel(R) Manageability Checker 
today! http://p.sf.net/sfu/intel-dev2devmar
___
Sofia-sip-devel mailing list
Sofia-sip-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sofia-sip-devel


Re: [Sofia-sip-devel] release debug version of test_nua.exe run differently (sofia-sip-1.12.11)

2011-03-24 Thread Allen
Hi, Pekka,

Thanks a lot for your reply.

I have tried the --no-nat setting, the results are the same.

Actually the log information I provided in my original email for Visual
studio 2003 release version is already the result with BOTH --no-nat AND
--no-proxy setting, otherwise it halts even earlier with the following
log information:

TEST NUA-2.6.1: REGISTER b to c
test_nua: testing b_call-nh = nua_handle(b-nua, b_call, (tag_type_t)0,
(tag_value_t)0)
test_nua: ok: (b_call-nh = nua_handle(b-nua, b_call, (tag_type_t)0,
(tag_value_t)0))
nta: REGISTER (10166550): Connection refused (10061) with
tcp/[192.168.1.5]:1685


I have test these release version of test_nua.exe on XP SP3, Vista
business, and Windows 7 Home Preminum, all all have same results as the
log shown in my original email. All these three operation systems have
the latest patches installed.

I have checked the su_init() function, it's the su_init(void) at the
line 304 of su.c, it DOES include the code to load the _DisconnectEx
function pointer, and I have checked the log information, the loading
function call didn't fail.

I am confused why the release version runs differently from debug
version, the debug version just passes all the test cases. According to
my limited experiences, it might caused by not initializing some
varibles before using them since the debug version always set the
varibles to zero when they are declared.

Would you please give me some more advices to dig into this issue? Thanks!

-Allen

On 3/24/2011 5:16 AM, Pekka Pessi wrote:
 Hi Allen,

 2011/3/23 Allen Guan alleng...@gmail.com:
 I am new to this mail list. I have built sofia-sip-1.12.11 under XP
 SP3 and tried the test programs.

 I have noticed strange behaviors of the test program test_nua.exe when
 running in release version. I have tried to compiled with Visual
 studio 2003, visual studio 2005 and visual studio 2010 express. All
 the debug versions of test_nua.exe compiled with these three compilers
 run well; but the release versions hang in the middle of the running,
 I have attached the log information got when I ran these programs in
 verbose mode. Please take a look at it and give me some advices on the
 possible reasons why these release versions have issues and how to
 tune them up to make them work.
 The test_nua has some problems in the way some WinSock implementations
 route the local TCP/IP traffic. You can try to run it with command
 line option --no-nat, and see if the problem persists.

 You could also check if the su_init() manages to load the
 _DisconnectEx function pointer. I was under the impression that it
 should work in later XP SPs, too, but it is not first time I have made
 a mistake.



--
Enable your software for Intel(R) Active Management Technology to meet the
growing manageability and security demands of your customers. Businesses
are taking advantage of Intel(R) vPro (TM) technology - will your software 
be a part of the solution? Download the Intel(R) Manageability Checker 
today! http://p.sf.net/sfu/intel-dev2devmar
___
Sofia-sip-devel mailing list
Sofia-sip-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sofia-sip-devel


[Sofia-sip-devel] release debug version of test_nua.exe run differently (sofia-sip-1.12.11)

2011-03-23 Thread Allen
Hi, all,

I am new to this mail list. I have built sofia-sip-1.12.11 under XP SP3
and tried the test programs.

I have noticed strange behaviors of the test program test_nua.exe when
running in release version. I have tried to compiled with Visual studio
2003, visual studio 2005 and visual studio 2010 express. All the debug
versions of test_nua.exe compiled with these three compilers run well;
but the release versions hang in the middle of the running, I have
attached the log information got when I ran these programs in verbose
mode. Please take a look at it and give me some advices on the possible
reasons why these release versions have issues and how to tune them up
to make them work.

Thanks!

-Allen

-



 visual studio 2003, release version, run as:
test_nua.exe -v --
- the test_nua.exe halt at the last line test_nua: ok:
(!e-next) during performing the test TEST NUA-3.6: Basic call ---
--

TEST NUA-3.6: Basic call
test_nua: testing a_call-nh = nua_handle(a-nua, a_call, siptag_to,
(tag_value_t)(b-to), (tag_type_t)0, (tag_value_t)0)
test_nua: ok: (a_call-nh = nua_handle(a-nua, a_call, siptag_to,
(tag_value_t)(b-to), (tag_type_t)0, (tag_value_t)0))
test_nua: testing !nua_handle_has_active_call(a_call-nh)
test_nua: ok: (!nua_handle_has_active_call(a_call-nh))
test_nua: testing !nua_handle_has_call_on_hold(a_call-nh)
test_nua: ok: (!nua_handle_has_call_on_hold(a_call-nh))
nta: trying to cancel completed request
nua(01884610): INVITE: ignoring duplicate SDP in 200 OK
test_nua: testing nua_handle_has_active_call(a_call-nh)
test_nua: ok: (nua_handle_has_active_call(a_call-nh))
test_nua: testing !nua_handle_has_call_on_hold(a_call-nh)
test_nua: ok: (!nua_handle_has_call_on_hold(a_call-nh))
test_nua: testing nua_handle_has_active_call(b_call-nh)
test_nua: ok: (nua_handle_has_active_call(b_call-nh))
test_nua: testing !nua_handle_has_call_on_hold(b_call-nh)
test_nua: ok: (!nua_handle_has_call_on_hold(b_call-nh))
test_nua: testing e = a-events-head
test_nua: ok: (e = a-events-head)
test_nua: testing nua_event_name(e-data-e_event) is
nua_event_name(nua_i_state)
test_nua: ok: nua_event_name(e-data-e_event) ==
nua_event_name(nua_i_state)
test_nua: testing callstate(e-data-e_tags) == nua_callstate_calling
test_nua: ok: callstate(e-data-e_tags) == nua_callstate_calling
test_nua: testing is_offer_sent(e-data-e_tags)
test_nua: ok: (is_offer_sent(e-data-e_tags))
test_nua: testing e = e-next
test_nua: ok: (e = e-next)
test_nua: testing nua_event_name(e-data-e_event) is
nua_event_name(nua_r_invite)
test_nua: ok: nua_event_name(e-data-e_event) ==
nua_event_name(nua_r_invite)
test_nua: testing e-data-e_status == 180
test_nua: ok: e-data-e_status == 180
test_nua: testing sip = sip_object(e-data-e_msg)
test_nua: ok: (sip = sip_object(e-data-e_msg))
test_nua: testing sip-sip_payload
test_nua: ok: (sip-sip_payload)
test_nua: testing e = e-next
test_nua: ok: (e = e-next)
test_nua: testing nua_event_name(e-data-e_event) is
nua_event_name(nua_i_state)
test_nua: ok: nua_event_name(e-data-e_event) ==
nua_event_name(nua_i_state)
test_nua: testing callstate(e-data-e_tags) == nua_callstate_proceeding
test_nua: ok: callstate(e-data-e_tags) == nua_callstate_proceeding
test_nua: testing is_answer_recv(e-data-e_tags)
test_nua: ok: (is_answer_recv(e-data-e_tags))
test_nua: testing e = e-next
test_nua: ok: (e = e-next)
test_nua: testing nua_event_name(e-data-e_event) is
nua_event_name(nua_r_invite)
test_nua: ok: nua_event_name(e-data-e_event) ==
nua_event_name(nua_r_invite)
test_nua: testing e-data-e_status == 200
test_nua: ok: e-data-e_status == 200
test_nua: testing e = e-next
test_nua: ok: (e = e-next)
test_nua: testing nua_event_name(e-data-e_event) is
nua_event_name(nua_i_state)
test_nua: ok: nua_event_name(e-data-e_event) ==
nua_event_name(nua_i_state)
test_nua: testing callstate(e-data-e_tags) == nua_callstate_ready
test_nua: ok: callstate(e-data-e_tags) == nua_callstate_ready
test_nua: testing !e-next
test_nua: ok: (!e-next)
test_nua: testing e = b-events-head
test_nua: ok: (e = b-events-head)
test_nua: testing nua_event_name(e-data-e_event) is
nua_event_name(nua_i_invite)
test_nua: ok: nua_event_name(e-data-e_event) ==
nua_event_name(nua_i_invite)
test_nua: testing e-data-e_status == 100
test_nua: ok: e-data-e_status == 100
test_nua: testing e = e-next
test_nua: ok: (e = e-next)
test_nua: testing nua_event_name(e-data-e_event) is
nua_event_name(nua_i_state)
test_nua: ok: nua_event_name(e-data-e_event) ==
nua_event_name(nua_i_state)
test_nua: testing callstate(e-data-e_tags) == nua_callstate_received
test_nua: ok: callstate(e-data-e_tags) == nua_callstate_received
test_nua: testing is_offer_recv(e-data-e_tags)
test_nua: ok: (is_offer_recv(e-data-e_tags))
test_nua: testing e = e-next
test_nua: ok: (e = e-next)
test_nua: testing nua_event_name(e-data-e_event) is
nua_event_name(nua_i_state)
test_nua: ok: nua_event_name(e-data-e_event) ==