Hello,

you will have to read the manual of the compiler and the specifics of the operating system to build it without 64b alignment requirements. I attempted to find it on the web, bit it may have not been the right one.

Cheers,
Daniel

On 6/28/12 5:45 AM, Akan wrote:
Daniel,

i did a repull from git, compiled, installed and re-test of Kamailio and got the same error in the same program's location as previous (in tm_funcs.c). Here are the commands that I entered to make sure I did everything correctly:

mkdir -p /usr/local/src/kamailio/kamailio-3.2-noalignment
cd /usr/local/src/kamailio/kamailio-3.2-noalignment
git clone --depth 1 git://git.sip-router.org/sip-router kamailio
cd kamailio
|gmake proper
gmake prefix=/opt/kamailio-3.2 FLAVOUR=kamailio cfg
vi modules.lst
| gmake prefix=/opt/kamailio-3.2 Q=0 CC_EXTRA_OPTS=|-mno-faster-structs all |gmake prefix=/opt/kamailio-3.2 Q=0 CC_EXTRA_OPTS=|-mno-faster-structs install

Makefile:363: config.mak: No such file or directory
normal Makefile.defs exec
target architecture <sparc64>, host architecture <sparc64>
generating autover.h ...
making config...
Makefile.defs defs skipped
gcc -g -O9 -funroll-loops -m64 -mcpu=ultrasparc -mtune=ultrasparc -fno-strict-overflow -ftree-vectorize -Wall -mno-faster-structs -DNAME='"ser"' -DVERSION='"3.2.3"' -DARCH='"sparc64"' -DOS='solaris_' -DOS_QUOTED='"solaris"' -DCOMPILER='"gcc 4.6.2"' -D__CPU_sparc64 -D__OS_solaris -DSER_VER=3002003 -DCFG_DIR='"/opt/kamailio-3.2/etc/ser/"' -DPKG_MALLOC -DSHM_MEM -DSHM_MMAP -DDNS_IP_HACK -DUSE_IPV6 -DUSE_MCAST -DUSE_TCP -DDISABLE_NAGLE -DHAVE_RESOLV_RES -DUSE_DNS_CACHE -DUSE_DNS_FAILOVER -DUSE_DST_BLACKLIST -DUSE_NAPTR -DWITH_XAVP -DDBG_QM_MALLOC -DUSE_TLS -DTLS_HOOKS -DFAST_LOCK -DADAPTIVE_WAIT -DADAPTIVE_WAIT_LOOPS=1024 -DCC_GCC_LIKE_ASM -DSPARC64_MODE -DHAVE_GETIPNODEBYNAME -DHAVE_SYS_SOCKIO_H -DHAVE_SCHED_YIELD -DHAVE_ALLOCA_H -DUSE_SIGACTION -DHAVE_DEVPOLL -DHAVE_SELECT -DHAVE_FILIO_H -c endianness.c -o endianness.o -MMD -MP gcc -g -O9 -funroll-loops -m64 -mcpu=ultrasparc -mtune=ultrasparc -fno-strict-overflow -ftree-vectorize -Wall -mno-faster-structs -DNAME='"ser"' -DVERSION='"3.2.3"' -DARCH='"sparc64"' -DOS='solaris_' -DOS_QUOTED='"solaris"' -DCOMPILER='"gcc 4.6.2"' -D__CPU_sparc64 -D__OS_solaris -DSER_VER=3002003 -DCFG_DIR='"/opt/kamailio-3.2/etc/ser/"' -DPKG_MALLOC -DSHM_MEM -DSHM_MMAP -DDNS_IP_HACK -DUSE_IPV6 -DUSE_MCAST -DUSE_TCP -DDISABLE_NAGLE -DHAVE_RESOLV_RES -DUSE_DNS_CACHE -DUSE_DNS_FAILOVER -DUSE_DST_BLACKLIST -DUSE_NAPTR -DWITH_XAVP -DDBG_QM_MALLOC -DUSE_TLS -DTLS_HOOKS -DFAST_LOCK -DADAPTIVE_WAIT -DADAPTIVE_WAIT_LOOPS=1024 -DCC_GCC_LIKE_ASM -DSPARC64_MODE -DHAVE_GETIPNODEBYNAME -DHAVE_SYS_SOCKIO_H -DHAVE_SCHED_YIELD -DHAVE_ALLOCA_H -DUSE_SIGACTION -DHAVE_DEVPOLL -DHAVE_SELECT -DHAVE_FILIO_H -c select_buf.c -o select_buf.o -MMD -MP

||
Thanks

Nathaniel

|
On 6/25/2012 3:05 AM, Daniel-Constantin Mierla wrote:
Hello,

thanks for troubleshooting further -- as I expected, it is a memalign problem, but some confusing reports by not using always the patches I made to registrar module to align the structure, made thinking is something else. Now is no longer in registrar, but in another module.

There might be many of these, can you try to compile first without strict alignment to 8 bytes? Checking quickly to gcc, the option should be |-mno-faster-structs

So try:

make proper
make FLAVOUR=kamailio cfg|
make Q=0 CC_EXTRA_OPTS=|-mno-faster-structs all|
...

By providing Q=0, you will see all compile flags, verify that |-mno-faster-structs is there.

Cheers,
Daniel
|
On 6/22/12 3:26 PM, Akan wrote:
Hello,

After doing some research, this is what I found out. On Solaris Sparc 64bit system, there is a mandatory alignment of memory accesses and also for data types. I went thru the core dump, disassembled the code and located the instruction that produced the error. The registers addresses in questioned are on a 4 byte alignment but not an 8 byte or 16 byte alignment. .The earlier patch must have forced the alignment which is why the error did not occur in the program common.c. It looks like there is a similar situation in t_funcs.c.

Here is a link that I found that can better explain:
http://blog.jgc.org/2007/04/debugging-solaris-bus-error-caused-by.html

Core was generated by `/opt/kamailio-3.2/sbin/kamailio'.
Program terminated with signal 10, Bus error.
#0 0xffffffff7bd2b7bc in t_relay_to (p_msg=0x10047c698, proxy=0x0, proto=0, replicate=0) at t_funcs.c:352
352                     if (!t_reply( t, p_msg , 100 ,

  0xffffffff7bd2b7b0 <+976>:   ldx  [ %l7 + %g1 ], %g1
   0xffffffff7bd2b7b4 <+980>:   ldx  [ %g1 ], %g1
   0xffffffff7bd2b7b8 <+984>:   call  0xffffffff7be9bc80 <t_reply@plt>
*=> 0xffffffff7bd2b7bc <+988>:   ldx  [ %g1 + 0x38 ], %o3*
   0xffffffff7bd2b7c0 <+992>:   cmp  %o0, 0
0xffffffff7bd2b7c4 <+996>: be,pn %icc, 0xffffffff7bd2bb14 <t_relay_to+1844>
   0xffffffff7bd2b7c8 <+1000>:  ldx  [ %fp + 0x7f7 ], %o0
0xffffffff7bd2b7cc <+1004>: b %xcc, 0xffffffff7bd2b460 <t_relay_to+128>

End of assembler dump.
(gdb) info registers g1
g1             0xffffffff7666c3e4       -2308520988
(gdb) info registers o3
o3             0x18f3d0 1635280

I hope this helps in trying to resolve this problem and to find a solution. Also, if you need a sparc system to test with, just let me know. We can help from a sparc perspective.

Thanks

Nathaniel




--
Daniel-Constantin Mierla -http://www.asipto.com
http://twitter.com/#!/miconda -http://www.linkedin.com/in/miconda
Kamailio Advanced Training, Seattle, USA, Sep 23-26, 2012 -http://asipto.com/u/katu Kamailio Practical Workshop, Netherlands, Sep 10-12, 2012 -http://asipto.com/u/kpw

No virus found in this message.
Checked by AVG - www.avg.com <http://www.avg.com>
Version: 2012.0.2180 / Virus Database: 2437/5091 - Release Date: 06/24/12




_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

--
Daniel-Constantin Mierla - http://www.asipto.com
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio Advanced Training, Seattle, USA, Sep 23-26, 2012 - 
http://asipto.com/u/katu
Kamailio Practical Workshop, Netherlands, Sep 10-12, 2012 - 
http://asipto.com/u/kpw


_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to