No problem Benny. gcc (GCC) 3.4.6 [FreeBSD] 20060305 I did try your suggestion out. Actually, it was one of the first thing that I tried. That does prevent the crash, but then the test fails latter when it tries to compare the input to the output on line 1796. Perhaps I am reading the code incorrectly, but it seems like the hdr_test assumes that PJSIP_UNESCAPE_IN_PLACE will be set to 0. Benny Prijono wrote: > Hi Michael, > > thanks for the report, and sorry for not responding earlier. I'm > curious why this breaks on your platform, what gcc version do you use? > > But anyway, I think this could be fixed by changing "char *hcontent" > field in "struct hdr_test_t" declaration to "char hcontent[1024]", > which I just did in http://trac.pjsip.org/repos/ticket/704. > > thanks, > Benny > > On Mon, Jan 26, 2009 at 10:06 PM, Michael Broughton > <Michael_Broughton at advanis.ca <mailto:Michael_Broughton at advanis.ca>> > wrote: > > Update: > > It seems that this test will not run correctly unless > PJSIP_UNESCAPE_IN_PLACE is set to 0. > > > > > Michael Broughton wrote: > > Hello, > > I have been running with the same version of pjsip for over a > year now, and I would like to update to version 1.x. > > So I checked out the latest code from svn and I built it with > the following config: > > ./aconfigure --disable-sound CFLAGS="-O0 -g" > > This is on a FreeBSD 6.2 x86_64 box. I usually compile with > -O2 but I had to turn that off because the pjsip-test > application is giving me a core dump. I have run all of the > other test applications without error. > > It took a while to track this one down, but it seems to be > coming from pjsip/src/test-pjsip/msg_test.c in the function > hdr_test(): > > (gdb) print hdr_test_data[8] > $30 = {hname = 0x464032 "Contact", hshort_name = 0x46403a "m", > hcontent = 0x464050 > "<sip:host;][/:&+$=][/:&+$;p1=\";\">;p0=a;p1=\"ab:;cd\";p2=ab%3acd;p3", > test = 0x406dc0 <hdr_test_contact1>, flags = 0} > > The problem is with the 'hcontent' string, which is located in > a read-only memory section. It looks like the test is trying > to unescape the "%3a" in place. This results in a coredump > (Bus error). Here is the backtrace and memory section in question: > > (gdb) backtrace > #0 0x000000000045031e in pj_scan_get_unescape > (scanner=0x7fffffffe3a0, spec=0x57c8b0, out=0x7fffffffe250) at > ../src/pjlib-util/scanner.c:310 > #1 0x000000000042830d in parser_get_and_unescape > (scanner=0x7fffffffe3a0, pool=0x2c57000, spec=0x57c4b0, > unesc_spec=0x57c8b0, token=0x7fffffffe250) at > ../src/pjsip/sip_parser.c:217 > #2 0x00000000004282b4 in parse_param_imp > (scanner=0x7fffffffe3a0, pool=0x2c57000, pname=0x7fffffffe260, > pvalue=0x7fffffffe250, spec=0x57c4b0, esc_spec=0x57c8b0, > option=0) at ../src/pjsip/sip_parser.c:1102 > #3 0x0000000000428371 in pjsip_parse_param_imp > (scanner=0x7fffffffe3a0, pool=0x2c57000, pname=0x7fffffffe260, > pvalue=0x7fffffffe250, option=0) at ../src/pjsip/sip_parser.c:1113 > #4 0x0000000000428430 in int_parse_param > (scanner=0x7fffffffe3a0, pool=0x2c57000, pname=0x7fffffffe260, > pvalue=0x7fffffffe250, option=0) at ../src/pjsip/sip_parser.c:1137 > #5 0x00000000004293b3 in int_parse_contact_param > (hdr=0x2c570a8, scanner=0x7fffffffe3a0, pool=0x2c57000) at > ../src/pjsip/sip_parser.c:1679 > #6 0x0000000000429620 in parse_hdr_contact > (ctx=0x7fffffffe370) at ../src/pjsip/sip_parser.c:1729 > #7 0x000000000042a47b in pjsip_parse_hdr (pool=0x2c57000, > hname=0x7fffffffe480, buf=0x464050 > "<sip:host;][/:&+$=][/:&+$;p1=\";\">;p0=a;p1=\"ab:;cd\";p2=ab%3acd;p3", > size=64, parsed_len=0x7fffffffe478) at > ../src/pjsip/sip_parser.c:2146 > #8 0x000000000040785a in hdr_test () at > ../src/test-pjsip/msg_test.c:1744 > #9 0x0000000000407b90 in msg_test () at > ../src/test-pjsip/msg_test.c:1824 > #10 0x000000000040a45a in test_main () at > ../src/test-pjsip/test.c:298 > #11 0x0000000000402e5d in main (argc=1, argv=0x7fffffffebd0) > at ../src/test-pjsip/main.c:80 > > $ objdump -h pjsip/bin/pjsip-test-x86_64-unknown-freebsd6.2 > > pjsip/bin/pjsip-test-x86_64-unknown-freebsd6.2: file > format elf64-x86-64 > > Sections: > Idx Name Size VMA LMA > File off Algn > ... > 12 .rodata 0001320a 0000000000463100 0000000000463100 > 00063100 2**5 > CONTENTS, ALLOC, LOAD, READONLY, DATA > ... > > I am wondering if this is a problem with the test? Or do I > have something mis-configured? > > > -- > Michael Broughton, Advanis > > Unintended Recipient & Unauthorized Use of E-Mail: > This message and attachments may contain confidential or privileged > information that is intended only for the named recipient of this > e-mail. Any unauthorized use or distribution is not permitted. If you > have received this e-mail in error, deleting the e-mail and notifying > the sender would be appreciated. Thank you. > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip at lists.pjsip.org <mailto:pjsip at lists.pjsip.org> > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > > ------------------------------------------------------------------------ > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip at lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > -- Michael Broughton, Advanis Unintended Recipient & Unauthorized Use of E-Mail: This message and attachments may contain confidential or privileged information that is intended only for the named recipient of this e-mail. Any unauthorized use or distribution is not permitted. If you have received this e-mail in error, deleting the e-mail and notifying the sender would be appreciated. Thank you.