Segmentation Fault

Michel Musslin mmusslin at assystem.com
Mon Nov 8 16:09:25 CET 2010


Hello,

I actually try to cross compile freeradius 2.0.9 for powerpc. Everything 
looks good during compilation, but we get "Segmentation Fault" on our 
host when executing "radiusd -X".

Our setup is :
  - EGLIBC 2.9
  - GCC 4.3.2
  - Linux 2.6.31

Could you please help me to find a way to solve this problem.

Here you can find strace and gdb log.

Michel M.

strace log :

sendto(4, "\0\0\0\24\0\26\3\1L\321-\374\0\0\0\0\0\0\0\0", 20, 0, 
{sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 20
recvmsg(4, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, 
msg_iov(1)=[{"\0\0\0000\0\24\0\2L\321-\374\0\0\7$\2\10\200\376\0\0\0\1\0\10\0\1\177\0\0\1"..., 
4096}], msg_controllen=0, msg_flags=0}, 0) = 288
recvmsg(4, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, 
msg_iov(1)=[{"\0\0\0@\0\24\0\2L\321-\374\0\0\7$\n\200\200\376\0\0\0\1\0\24\0\1\0\0\0\0"..., 
4096}], msg_controllen=0, msg_flags=0}, 0) = 128
recvmsg(4, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, 
msg_iov(1)=[{"\0\0\0\24\0\3\0\2L\321-\374\0\0\7$\0\0\0\0\0\0\0\1\0\24\0\1\0\0\0\0"..., 
4096}], msg_controllen=0, msg_flags=0}, 0) = 20
close(4)                                = 0
fstat64(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(4, 64), ...}) = 0
ioctl(1, TCGETS, {B115200 opost isig icanon echo ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) 
= 0x48001000
open("/usr/local/lib/rlm_exec.la", O_RDONLY) = 4
fstat64(4, {st_mode=S_IFREG|0755, st_size=814, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) 
= 0x48002000
read(4, "# rlm_exec.la - a libtool librar"..., 4096) = 814
read(4, "", 4096)                       = 0
close(4)                                = 0
munmap(0x48002000, 4096)                = 0
open("/usr/local/lib/libpthread.la", O_RDONLY) = -1 ENOENT (No such file 
or directory)
open("/lib/libpthread.la", O_RDONLY)    = -1 ENOENT (No such file or 
directory)
open("/usr/lib/libpthread.la", O_RDONLY) = -1 ENOENT (No such file or 
directory)
access("/usr/local/lib/libpthread.so", R_OK) = -1 ENOENT (No such file 
or directory)
access("/lib/libpthread.so", R_OK)      = -1 ENOENT (No such file or 
directory)
access("/usr/lib/libpthread.so", R_OK)  = 0
futex(0x1016e378, FUTEX_WAKE_PRIVATE, 2147483647) = 0
open("/usr/lib/libpthread.so", O_RDONLY) = 4
read(4, "/* GNU ld script\n   Use the shar"..., 512) = 219
close(4)                                = 0
open("/usr/local/lib/libresolv.la", O_RDONLY) = -1 ENOENT (No such file 
or directory)
open("/lib/libresolv.la", O_RDONLY)     = -1 ENOENT (No such file or 
directory)
open("/usr/lib/libresolv.la", O_RDONLY) = -1 ENOENT (No such file or 
directory)
access("/usr/local/lib/libresolv.so", R_OK) = -1 ENOENT (No such file or 
directory)
access("/lib/libresolv.so", R_OK)       = -1 ENOENT (No such file or 
directory)
access("/usr/lib/libresolv.so", R_OK)   = 0
open("/usr/lib/libresolv.so", O_RDONLY) = 4
read(4, 
"\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\0\0.X\0\0\0004"..., 
512) = 512
fstat64(4, {st_mode=S_IFREG|0755, st_size=92607, ...}) = 0
mmap(0x6ffcb000, 150532, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 
4, 0) = 0x6ffcb000
mprotect(0x6ffdd000, 61440, PROT_NONE)  = 0
mmap(0x6ffec000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x11000) = 0x6ffec000
mmap(0x6ffee000, 7172, PROT_READ|PROT_WRITE|PROT_EXEC, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x6ffee000
close(4)                                = 0
open("/etc/ld.so.cache", O_RDONLY)      = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=4841, ...}) = 0
mmap(NULL, 4841, PROT_READ, MAP_PRIVATE, 4, 0) = 0x48002000
close(4)                                = 0
open("/lib/libc.so.6", O_RDONLY)        = 4
read(4, 
"\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\0\1\356T\0\0\0004"..., 
512) = 512
fstat64(4, {st_mode=S_IFREG|0755, st_size=1733649, ...}) = 0
mmap(0x6fe4f000, 1487896, PROT_READ|PROT_EXEC, 
MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0x6fe4f000
mprotect(0x6ffa4000, 61440, PROT_NONE)  = 0
mmap(0x6ffb3000, 20480, PROT_READ|PROT_WRITE|PROT_EXEC, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x154000) = 0x6ffb3000
mmap(0x6ffb8000, 9240, PROT_READ|PROT_WRITE|PROT_EXEC, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x6ffb8000
close(4)                                = 0
open("/lib/ld.so.1", O_RDONLY)          = 4
read(4, 
"\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\0\1_x\0\0\0004"..., 
512) = 512
fstat64(4, {st_mode=S_IFREG|0755, st_size=143055, ...}) = 0
mmap(0x6fe10000, 192148, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 
4, 0) = 0x6fe10000
mprotect(0x6fe2e000, 61440, PROT_NONE)  = 0
mmap(0x6fe3d000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x1d000) = 0x6fe3d000
close(4)                                = 0
mprotect(0x6fe3d000, 4096, PROT_READ)   = 0
mprotect(0x6ffb3000, 8192, PROT_READ)   = 0
mprotect(0x6ffec000, 4096, PROT_READ)   = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++

gbd-radiusd.log :

* 1 process 1821  0x100da888 in add_to_global ()

Thread 1 (process 1821):
#0  0x100da888 in add_to_global ()
No locals.
#1  0x100db1e4 in dl_open_worker ()
No locals.
#2  0x100d8fa0 in _dl_catch_error ()
No locals.
#3  0x100da620 in _dl_open ()
No locals.
#4  0x10096428 in dlopen_doit ()
No locals.
#5  0x100d8fa0 in _dl_catch_error ()
No locals.
#6  0x10096828 in _dlerror_run ()
No locals.
#7  0x10096364 in __dlopen ()
No locals.
#8  0x10074d34 in dlopen ()
No locals.
#9  0x10074cdc in sys_dl_open (loader_data=<value optimized out>,
     filename=0x1027d5b8 "/usr/lib/libresolv.so") at ltdl.c:1115
     module = <value optimized out>
     __FUNCTION__ = "sys_dl_open"
#10 0x10071db8 in tryall_dlopen (handle=0xbff58570,
     filename=0x1027d5b8 "/usr/lib/libresolv.so", useloader=0x0) at 
ltdl.c:2487
     cur = (lt_dlhandle) 0x1027d528
     loader = (lt_dlloader *) 0x1027d1e8
     saved_error = 0x101341fc "file not found"
     errors = <value optimized out>
#11 0x10074b40 in find_handle_callback (
     filename=0x1027d5b8 "/usr/lib/libresolv.so", data=0xbff58570,
     ignored=<value optimized out>) at ltdl.c:2844
     notfound = 0
#12 0x10072b54 in foreach_dirinpath (search_path=<value optimized out>,
     base_name=0x1027d4d0 "libresolv.so",
     func=0x10074ae0 <find_handle_callback>, data1=0xbff58570, data2=0x0)
     at ltdl.c:2767
     lendir = 9
     dir_name = 0x1027d515 "/usr/lib"
     result = <value optimized out>
     filenamesize = 22
     lenbase = 12
     argz_len = 14
     argz = 0x1027d510 "/lib"
     filename = 0x1027d5b8 "/usr/lib/libresolv.so"
     canonical = 0x1027d4f8 "/lib:/usr/lib"
     __PRETTY_FUNCTION__ = "foreach_dirinpath"
     __FUNCTION__ = "foreach_dirinpath"
#13 0x10072d74 in find_handle (search_path=0x10134088 "/lib:/usr/lib",
     base_name=0x1027d4d0 "libresolv.so", handle=0xbff58570) at ltdl.c:2867
     __FUNCTION__ = "find_handle"
#14 0x10073d74 in try_dlopen (phandle=0xbff585d8,
     filename=0x1027d4b8 "libresolv.so") at ltdl.c:3438
     saved_error = 0x101341fc "file not found"
     canonical = 0x1027d4d0 "libresolv.so"
     base_name = 0x1027d4d0 "libresolv.so"
     dir = 0x0
     name = <value optimized out>
     errors = 0
     newhandle = (lt_dlhandle) 0x1027d528
     __PRETTY_FUNCTION__ = "try_dlopen"
#15 0x10074a7c in lt_dlopenext (filename=<value optimized out>) at 
ltdl.c:3606
     handle = (lt_dlhandle) 0x1027d528
     tmp = 0x1027d4b8 "libresolv.so"
     len = 9
     errors = <value optimized out>
     __FUNCTION__ = "lt_dlopenext"
#16 0x100746e4 in try_dlopen (phandle=0xbff58678,
     filename=<value optimized out>) at ltdl.c:3011
     file = <value optimized out>
     libdir = 0x1027cf58 "/usr/local/lib"
     deplibs = 0x1027cf10 " /usr/local/lib/libfreeradius-radius.la -lnsl 
-lresolv -lpthread"
     line = <value optimized out>
     line_len = <value optimized out>
     dlname = 0x0
     old_name = 0x1027d3e0 "librlm_exec.a"
     installed = 1
     saved_error = 0x0
     canonical = 0x1027d3c0 "rlm_exec.la"
     base_name = <value optimized out>
     dir = 0x1027d5a0 "/usr/local/lib"
     name = 0x1027d3d0 "rlm_exec"
     errors = <value optimized out>
     newhandle = <value optimized out>
     __PRETTY_FUNCTION__ = "try_dlopen"
#17 0x10074984 in lt_dlopenext (filename=<value optimized out>) at 
ltdl.c:3564
     handle = (lt_dlhandle) 0x1027cf70
     tmp = 0x1027d3b0 "rlm_exec.la"
     len = 8
     errors = <value optimized out>
     __FUNCTION__ = "lt_dlopenext"
#18 0x10012aac in find_module_instance (modules=<value optimized out>,
     instname=0x1019362c "exec", do_link=1) at modules.c:491
     check_config_safe = <value optimized out>
     cs = (CONF_SECTION *) 0x10195bb0
     name1 = <value optimized out>
     node = (module_instance_t *) 0x1027d290
     myNode = {
   name = "exec\000\005¶`\020\031.\b\000\000\000\t¿õ\212@\020\000CÄ", 
'\0' <repeats 20 times>, "\020\022\006´\020\031/þ\000\000\000 
\000\000\000\000\000\000\000\000¿õ\212@\000\000\000\000\000\000\000\000\020\026-ø¿õ\220Ø\020\026\000\000\020\026\000\000\020\026.\b\020\021þ\034\000\000\000\000\020\002Y¸\020\021\224\004\020\026\000\000\020\021\234h\020\026\000\000\020\032­ ¿õ\212\200\020\026ã|\000\000\000\024\020\026-ø¿õ\212\220\020\026\000\000\020\026\000\000\020\026-ø¿õ\220Ø\020\026\000\000\020\026\000\000\020\0314\200¿õ\212p\000\000\000\000\020\021¶ä\020\031\017\210¿õ\212\220\020\005¶\020\002\000\000\000¿õ\212¨\020\031"..., 

   entry = 0x10190f88, insthandle = 0x0, mutex = 0x0, cs = 0x10193480,
   dead = 270077832, mh = 0x1019362c}
     module_name = 
"rlm_exec\000õ\206À\020\tCd\000\000\000\000\020\031û\020¿õ\206à\020\t.à\020\026\000\000\020\026.\b\020\026\000\000\000\000\000ÿH\000\003s\020\031û\020¿õ\206ð\020\t;\204\000\000\000\000\020\031û\020¿õ\2070\020\tI°\020\026\000\000\020\026.\b¿õ\211@\000\000\000\000\020\031\017h¿õ\207X¿õ\207 
\020\021\224\004¿õ\207X\020\031&\210¿õ\207@\020\005¶\020\002\000ã|¿õ\207X¿õ\207\200\020\021\224\004\020\031%Ð\020\026-ø¿õ\220Ø\020\026\000\000\020\026\000\000\020\026.\b\020\026\000\000¿õ\207Ø\020\031%Ð\020\026\000\000¿õ\211\030\020\031& 
\020\026;@\000\000\000\000"...
     __FUNCTION__ = "find_module_instance"
#19 0x10012fec in setup_modules (reload=<value optimized out>,
     config=0x10190f88) at modules.c:1542
     ci = (CONF_ITEM *) 0x10193608
     name = 0x1019362c "exec"
     cs = (CONF_SECTION *) 0x10193540
     modules = (CONF_SECTION *) 0x10193480
     listener = <value optimized out>
     __FUNCTION__ = "setup_modules"
#20 0x100106bc in read_mainconfig (reload=<value optimized out>)
     at mainconfig.c:959
     p = 0x10190f68 "/usr/local/etc/raddb"
     cs = (CONF_SECTION *) 0x10190f88
     statbuf = {st_dev = 2065, st_ino = 8163, st_mode = 16877,
   st_nlink = 7, st_uid = 0, st_gid = 0, st_rdev = 0, __pad2 = 0,
   st_size = 4096, st_blksize = 4096, st_blocks = 8, st_atim = {
     tv_sec = 1288775159, tv_nsec = 0}, st_mtim = {tv_sec = 1288780664,
     tv_nsec = 0}, st_ctim = {tv_sec = 1288780691, tv_nsec = 0}, 
__unused4 = 0,
   __unused5 = 0}
     cc = <value optimized out>
     buffer = "/usr/local/etc/raddb/radiusd.conf", '\0' <repeats 711 
times>, "¿õ\217°", '\0' <repeats 12 times>, 
"¿õ\220ü\000\000\000!\000\000\000\000¿õ\220ø¿õ\220ð\020\006\226¤\020\006\235,\020\000\000\004", 
'\0' <repeats 80 times>, "¿õ\2200", '\0' <repeats 12 times>, 
"\020\026-\224\020\026éD¿õ\224\024\020\026öH¿õ\220 \020\ná\034", '\0' 
<repeats 32 times>, 
"\204\000\004h\020\026-ø¿õ\220°\020\026\000\000\020\t8è\000\000\000\000\020\026\000\000\000\000\000\000\020\026.°\020\021Ç\b\020\021Ë\214$\000\004l\020\026.°\020"...
     __FUNCTION__ = "read_mainconfig"
#21 0x10015ac0 in main (argc=2, argv=0xbff59414) at radiusd.c:265
     rcode = <value optimized out>
     argval = <value optimized out>
     spawn_flag = 0
     dont_fork = 1
     flag = 0
     act = {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0},
   sa_mask = {__val = {0 <repeats 32 times>}}, sa_flags = 0, sa_restorer 
= 0}

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freeradius.org/pipermail/freeradius-users/attachments/20101108/8721c043/attachment.html>


More information about the Freeradius-Users mailing list