Re: [Sofia-sip-devel] release & debug version of test_nua.exe run differently (sofia-sip-1.12.11)
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 : >> 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)
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) == nu
[Sofia-sip-devel] release & debug version of test_nua.exe run differently (sofia-sip-1.12.11)
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_stat