Hi Daniel,
I was able to prevent the bus error by reverting part of commit
1b366aa1c6c37e2320da10fb68f0370199333f5d as below:
diff --git a/cfg/cfg_struct.c b/cfg/cfg_struct.c
index 8bfe429..519c6a9 100644
--- a/cfg/cfg_struct.c
+++ b/cfg/cfg_struct.c
@@ -295,8 +295,7 @@ static void cfg_destory_groups(unsigned char *block)
if (((CFG_VAR_TYPE(&mapping[i]) == CFG_VAR_STRING)
||
(CFG_VAR_TYPE(&mapping[i]) == CFG_VAR_STR))
&&
mapping[i].flag & cfg_var_shmized) {
-
- old_string = *(char **)(block +
group->var_offset + mapping[i].offset);
+ memcpy(&old_string, block +
group->var_offset + mapping[i].offset, sizeof(char *));
if (old_string) shm_free(old_string);
}
I can’t really see why there would be a bus error… thoughts?
Thanks,
Spencer
On Jan 14, 2016, at 6:52 PM, Spencer Thomason
<spencer@whiteskycommunications.com<mailto:spencer@whiteskycommunications.com>>
wrote:
Hi Daniel,
I haven’t yet but I will try to test shortly.
Here is the value of the block variable:
(gdb) p /s block
$1 = (unsigned char *) 0xffffffff76e5ded4 “"
Thanks,
Spencer
On Jan 13, 2016, at 11:07 PM, Daniel-Constantin Mierla
<miconda@gmail.com<mailto:miconda@gmail.com>> wrote:
Hello,
hmm, they are multiple of 8, so they should be aligned to 64bits.
Or maybe the 'block' variable value is not aligned to 8bytes ...
Have you done any sip traffic via this kamailio instance. Is all ok at
runtime?
Cheers,
Daniel
On 14/01/16 08:01, Spencer Thomason wrote:
Hi Daniel,
See below:
(gdb) p group->var_offset
$1 = 64
(gdb) p mapping[i].offset
$2 = 56
Thanks!
Spencer
On Jan 13, 2016, at 10:18 PM, Daniel-Constantin Mierla
<miconda@gmail.com<mailto:miconda@gmail.com>> wrote:
Hello,
can you get the values for group->var_offset and mapping[i].offset in
frame 0?
Cheers,
Daniel
On 14/01/16 05:41, Spencer Thomason wrote:
Hello,
I’m trying to get Kamailio running on Solaris 11 SPARC64 and I’m receiving a bus error on
shutdown. If needed, we can make SPARC hardware available for testing.
Thanks,
Spencer
Core was generated by `/opt/kamailio/sbin/kamailio -f
/opt/kamailio/etc/kamailio/kamailio.cfg -P /syst'.
Program terminated with signal 10, Bus error.
#0 0x00000001003e73f0 in cfg_destory_groups (block=0xffffffff76e5ded4 "") at
cfg/cfg_struct.c:299
299 old_string = *(char **)(block + group->var_offset + mapping[i].offset);
(gdb) bt full
#0 0x00000001003e73f0 in cfg_destory_groups (block=0xffffffff76e5ded4 "") at
cfg/cfg_struct.c:299
group = 0x100745e20
def = <optimized out>
i = 14
group2 = <optimized out>
mapping = 0x100745a78
old_string = <optimized out>
#1 cfg_destroy () at cfg/cfg_struct.c:391
__FUNCTION__ = "cfg_destroy"
#2 0x0000000100163fc4 in cleanup (show_status=show_status@entry=1) at main.c:540
memlog = <optimized out>
__FUNCTION__ = "cleanup"
#3 0x00000001001650d4 in shutdown_children (show_status=show_status@entry=1, sig=15) at
main.c:665
No locals.
#4 0x0000000100165c0c in handle_sigs () at main.c:695
chld = <optimized out>
chld_status = 0
memlog = <optimized out>
__FUNCTION__ = "handle_sigs"
#5 0x000000010016e678 in main_loop () at main.c:1722
i = <optimized out>
pid = <optimized out>
si = <optimized out>
si_desc = "udp receiver child=15
sock=104.222.31.55:9000\000\005\066\377\377\377\377v\345\322\370\000\000\000\000\000\020\000\063\377\377\377\377\177\377\360q\000\000\000\001\000B\277
\000\000\000\001\000^:P\000\000\000\001\000\002\356(\377\377\377\377\377\377\377\375\377\377\377\377\377\377\377\375\377\377\377\377\377\377\377\375\377\377\377\377\377\377\377\375"
nrprocs = <optimized out>
woneinit = <optimized out>
__FUNCTION__ = "main_loop"
#6 0x000000010042cafc in main (argc=<optimized out>, argv=<optimized out>) at
main.c:2597
cfg_stream = <optimized out>
c = <optimized out>
r = <optimized out>
tmp = 0xffffffff7ffffd57 ""
tmp_len = 0
port = 0
proto = 0
options = 0x100036918
":f:cm:M:dVIhEeb:l:L:n:vKrRDTN:W:w:t:u:g:P:G:SQ:O:a:A:x:X:"
ret = -1
seed = 4139658536
rfd = <optimized out>
debug_save = <optimized out>
debug_flag = <optimized out>
dont_fork_cnt = <optimized out>
p = <optimized out>
st = {st_dev = 2478196129807, st_ino = 405001306, st_mode = 16832, st_nlink = 2,
st_uid = 0, st_gid = 0,
st_rdev = 18446744073709551615, st_size = 117, st_atim = {tv_sec = 1452739293,
tv_nsec = 444332080}, st_mtim = {
tv_sec = 1452739411, tv_nsec = 727071262}, st_ctim = {tv_sec = 1452739411,
tv_nsec = 727071262}, st_blksize = 8192,
st_blocks = 16, st_fstype =
"tmpfs\000\000\000\000\000\000\000\000\000\000"}
__FUNCTION__ = “main"
# this file is autogenerated by make cfg
MAIN_NAME= kamailio
CFG_NAME= kamailio
SCR_NAME= sip-router
FLAVOUR= kamailio
INSTALL_FLAVOUR= kamailio
SRC_NAME= sip-router
RELEASE= 4.4.0-dev8
OS= solaris
ARCH= sparc64
C_DEFS= -DNAME='"kamailio"' -DVERSION='"4.4.0-dev8"'
-DARCH='"sparc64"' -DOS='solaris_'
-DOS_QUOTED='"solaris"' -DCOMPILER='"gcc 4.8.2"'
-D__CPU_sparc64 -D__OS_solaris -DSER_VER=4004000
-DCFG_DIR='"/opt/kamailio/etc/kamailio/"'
-DRUN_DIR='"/var/run/kamailio/"' -DPKG_MALLOC -DSHM_MEM -DSHM_MMAP
-DDNS_IP_HACK -DUSE_MCAST -DUSE_TCP -DDISABLE_NAGLE -DHAVE_RESOLV_RES -DUSE_DNS_CACHE
-DUSE_DNS_FAILOVER -DUSE_DST_BLACKLIST -DUSE_NAPTR -DWITH_XAVP -DF_MALLOC -DQ_MALLOC
-DTLSF_MALLOC -DDBG_SR_MEMORY -DUSE_TLS -DTLS_HOOKS -DUSE_CORE_STATS -DSTATISTICS
-DMALLOC_STATS -DWITH_AS_SUPPORT -DUSE_SCTP -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
DEFS_RM=
PROFILE=
CC= gcc
LD= gcc
MKDEP= gcc -MM -MG
MKTAGS= ctags
LDFLAGS= -m64 -O2
C_INCLUDES=
CC_MKDEP_OPTS= -MMD -MP
MOD_LDFLAGS= -G -m64 -O2
LIB_LDFLAGS= -G -m64 -O2
UTILS_LDFLAGS= -m64 -O2
LIB_SONAME= -Wl,-h,
LD_RPATH= -Wl,-R,
LIB_SUFFIX= .so
LIB_PREFIX= lib
LIBS= -ldl -lresolv -L/usr/local/lib -lxnet -lsocket -lnsl -lrt
LEX= flex
YACC= bison
YACC_FLAGS= -d -b cfg
PREFIX= /opt/kamailio
LOCALBASE= /usr/local
TAR= gtar
INSTALL= ginstall
INSTALL_CFG= ginstall -m 644
INSTALL_BIN= ginstall -m 755
INSTALL_MODULES= ginstall -m 755
INSTALL_DOC= ginstall -m 644
INSTALL_MAN= ginstall -m 644
INSTALL_LIB= ginstall -m 755
INSTALL_TOUCH= touch
INSTALL_SHARE= ginstall -m 644
Q= 1
CC_EXTRA_OPTS= -O2 -m64
CPU= ultrasparc
CFLAGS_RM=
CFLAGS= -g -funroll-loops -mtune=native -mcpu=native -fno-strict-overflow -ftree-vectorize
-Wall -mno-faster-structs
MOD_CFLAGS= -fPIC -DPIC $(CFLAGS)
LIB_CFLAGS= -fPIC -DPIC $(CFLAGS)
UTILS_CFLAGS= $(CFLAGS)
BASEDIR= $(DESTDIR)
basedir= $(BASEDIR)
DESTDIR=
LIBDIR= lib64
RUNBASEDIR= $(DESTDIR)
runbasedir= $(RUNBASEDIR)
PREFIX= /opt/kamailio
prefix= $(PREFIX)
cfg_prefix= $(basedir)$(prefix)
cfg_dir= etc/$(MAIN_NAME)/
bin_prefix= $(basedir)$(prefix)
bin_dir= sbin/
modules_prefix= $(basedir)$(prefix)
modules_dir= $(LIBDIR)/$(MAIN_NAME)/
doc_prefix= $(basedir)$(prefix)
doc_dir= doc/$(MAIN_NAME)/
man_prefix= $(basedir)$(prefix)
man_dir= man/
ut_prefix= $(basedir)$(prefix)
ut_dir=
share_prefix= $(basedir)$(prefix)
share_dir= share/$(MAIN_NAME)/
lib_prefix= $(basedir)$(prefix)
lib_dir= $(LIBDIR)/$(MAIN_NAME)/
data_prefix= $(basedir)$(prefix)
data_dir= $(MAIN_NAME)/
cfg_target= $(prefix)/$(cfg_dir)
lib_target= $(prefix)/$(lib_dir)
data_target= $(prefix)/$(data_dir)
run_prefix= $(runbasedir)
run_dir= var/run/$(MAIN_NAME)/
run_target= $(run_prefix)/$(run_dir)
override makefile_defs:=1
C_DEFS:=$(filter-out $(DEFS_RM) $(extra_defs),$(C_DEFS)) $(extra_defs)
CFLAGS:=$(filter-out $(CFLAGS_RM) $(CC_EXTRA_OPTS), $(CFLAGS)) $(CC_EXTRA_OPTS)
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org<mailto:sr-users@lists.sip-router.org>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla
http://twitter.com/#!/miconda -
http://www.linkedin.com/in/miconda
Book: SIP Routing With Kamailio -
http://www.asipto.com<http://www.asipto.com/>
http://miconda.eu<http://miconda.eu/>
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org<mailto:sr-users@lists.sip-router.org>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla
http://twitter.com/#!/miconda -
http://www.linkedin.com/in/miconda
Book: SIP Routing With Kamailio -
http://www.asipto.com<http://www.asipto.com/>
http://miconda.eu<http://miconda.eu/>
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org<mailto:sr-users@lists.sip-router.org>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users