Hello,

I was try to build my own RPM-package of freeradius-0.9.0 with rlm_sql_oracle- 
module support to deploy to Suse 8.2 servers. Oracle version is 8.1.7.4. 
The strange trouble was discovered.

If I take default suse freeradius.spec file, then I build a buggy binary. The 
error seems to in libclntsh.so.8.0 because 'gdb radiusd core' show me nothing
--------------------------------
# gdb radiusd core

Core was generated by `/usr/sbin/radiusd -X'.
Program terminated with signal 11, Segmentation fault.
#0  0x00000000 in ?? ()
(gdb) bt
#0  0x00000000 in ?? ()
(gdb)
--------------------------------

Then I make strace dump of crash of /usr/sbin/radiusd
--------------------------------
write(1, "Ready to process requests.\n", 27) = 27
time(NULL)                              = 1064587304
select(13, [10 11 12], NULL, NULL, NULL) = 1 (in [10])
recvfrom(10, "\1\0\0Z      1064587317\1\6serg\2\22\211\1\f\243"..., 4096, 0, 
{sa_family=AF_INET, sin_port=htons(3660), 
sin_addr=inet_addr("192.168.0.11")}, [16]) = 90
write(1, "rad_recv: Access-Request packet "..., 77) = 77
time(NULL)                              = 1064587317
write(1, "\tUser-Name = \"serg\"\n", 20) = 20
write(1, "\tUser-Password = \"2007811\"\n", 27) = 27
write(1, "\tNAS-IP-Address = 192.168.0.11\n", 31) = 31
write(1, "\tNAS-Port-Id = \"100\"\n", 21) = 21
write(1, "\tCalled-Station-Id = \"2892992\"\n", 31) = 31
write(1, "\tCalling-Station-Id = \"017291760"..., 35) = 35
write(1, "\tNAS-Port-Type = Async\n", 23) = 23
write(1, "\tConnect-Info = \"wsghgh\"\n", 25) = 25
time(NULL)                              = 1064587317
write(1, "modcall: entering group authoriz"..., 34) = 34
time(NULL)                              = 1064587317
write(1, "  modcall[authorize]: module \"pr"..., 53) = 53
time(NULL)                              = 1064587317
write(1, "  modcall[authorize]: module \"ch"..., 49) = 49
time(NULL)                              = 1064587317
write(1, "  rlm_eap: No EAP-Message, not d"..., 41) = 41
time(NULL)                              = 1064587317
write(1, "  modcall[authorize]: module \"ea"..., 48) = 48
time(NULL)                              = 1064587317
write(1, "    rlm_realm: No \'@\' in User-Na"..., 67) = 67
time(NULL)                              = 1064587317
time(NULL)                              = 1064587317
write(1, "    rlm_realm: No such realm \"NU"..., 36) = 36
time(NULL)                              = 1064587317
write(1, "  modcall[authorize]: module \"su"..., 51) = 51
time(NULL)                              = 1064587317
write(1, "radius_xlat:  \'serg\'\n", 21) = 21
time(NULL)                              = 1064587317
write(1, "rlm_sql (sql): sql_set_user esca"..., 52) = 52
time(NULL)                              = 1064587317
write(1, "radius_xlat:  \'SELECT 1 id,\'serg"..., 186) = 186
time(NULL)                              = 1064587317
write(1, "rlm_sql (sql): Reserving sql soc"..., 42) = 42
time(NULL)                              = 1064587317
write(1, "SELECT 1 id,\'serg\' UserName,\'Use"..., 170) = 170
write(9, "\0015\0\0\6\0\0\0\0\0\21k\4\26\0\0\0U\0\0\0\1\0\0\0\3^"..., 309) = 
309
read(9, "\3R\0\0\6\0\0\0\0\0\20\31\v\234\342\25\210W\342P\0\0xg"..., 2064) = 
850
brk(0)                                  = 0x8174000
brk(0x8175000)                          = 0x8175000
brk(0)                                  = 0x8175000
brk(0x8177000)                          = 0x8177000
brk(0)                                  = 0x8177000
brk(0x8178000)                          = 0x8178000
brk(0)                                  = 0x8178000
brk(0x8179000)                          = 0x8179000
brk(0)                                  = 0x8179000
brk(0x817b000)                          = 0x817b000
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++

The current %build section of freeradius.spec look like
--------------------------------
%build
CFLAGS="$RPM_OPT_FLAGS" ./configure \
                --prefix=%{_prefix} \
                --sysconfdir=%{_sysconfdir} \
                --infodir=%{_infodir} \
                --mandir=%{_mandir} \
                --libdir=%{_libdir} \
                --localstatedir=/var \
                --enable-developer 
make
--------------------------------

But the main problem what I can make the right binary just by typing
./configure
make
make install

This is a strace-log of same place of /usr/local/sbin/radiusd. It's works 
fine!
--------------------------------
write(1, "Ready to process requests.\n", 27) = 27
time(NULL)                              = 1064587919
select(10, [7 8 9], NULL, NULL, NULL)   = 1 (in [7])
recvfrom(7, "\1\10\0Z      1064587941\1\6serg\2\22\\\236w\203"..., 4096, 0, 
{sa_family=AF_INET, sin_port=htons(3711), s
in_addr=inet_addr("192.168.0.11")}, [16]) = 90
write(1, "rad_recv: Access-Request packet "..., 77) = 77
time(NULL)                              = 1064587941
write(1, "\tUser-Name = \"serg\"\n", 20) = 20
write(1, "\tUser-Password = \"2007811\"\n", 27) = 27
write(1, "\tNAS-IP-Address = 192.168.0.11\n", 31) = 31
write(1, "\tNAS-Port-Id = \"100\"\n", 21) = 21
write(1, "\tCalled-Station-Id = \"2892992\"\n", 31) = 31
write(1, "\tCalling-Station-Id = \"017291760"..., 35) = 35
write(1, "\tNAS-Port-Type = Async\n", 23) = 23
write(1, "\tConnect-Info = \"wsghgh\"\n", 25) = 25
time(NULL)                              = 1064587941
write(1, "modcall: entering group authoriz"..., 34) = 34
time(NULL)                              = 1064587941
write(1, "  modcall[authorize]: module \"pr"..., 53) = 53
time(NULL)                              = 1064587941
write(1, "  modcall[authorize]: module \"ch"..., 49) = 49
time(NULL)                              = 1064587941
write(1, "  rlm_eap: No EAP-Message, not d"..., 41) = 41
time(NULL)                              = 1064587941
write(1, "  modcall[authorize]: module \"ea"..., 48) = 48
time(NULL)                              = 1064587941
write(1, "    rlm_realm: No \'@\' in User-Na"..., 67) = 67
time(NULL)                              = 1064587941
time(NULL)                              = 1064587941
write(1, "    rlm_realm: No such realm \"NU"..., 36) = 36
time(NULL)                              = 1064587941
write(1, "  modcall[authorize]: module \"su"..., 51) = 51
time(NULL)                              = 1064587941
write(1, "radius_xlat:  \'serg\'\n", 21) = 21
time(NULL)                              = 1064587941
write(1, "rlm_sql (sql): sql_set_user esca"..., 52) = 52
time(NULL)                              = 1064587941
write(1, "radius_xlat:  \'SELECT 1 id,\'serg"..., 186) = 186
time(NULL)                              = 1064587941
write(1, "rlm_sql (sql): Reserving sql soc"..., 42) = 42
time(NULL)                              = 1064587941
write(1, "SELECT 1 id,\'serg\' UserName,\'Use"..., 170) = 170
write(6, "\0015\0\0\6\0\0\0\0\0\21k\4\27\0\0\0<\0\0\0\1\0\0\0\3^"..., 309) = 
309
read(6, "\3R\0\0\6\0\0\0\0\0\20\31\v\234\342\25\210W\342P\0\0xg"..., 2064) = 
850
brk(0)                                  = 0x8172000
brk(0x8173000)                          = 0x8173000
brk(0)                                  = 0x8173000
brk(0x8175000)                          = 0x8175000
brk(0)                                  = 0x8175000
brk(0x8176000)                          = 0x8176000
brk(0)                                  = 0x8176000
brk(0x8177000)                          = 0x8177000
brk(0)                                  = 0x8177000
brk(0x8179000)                          = 0x8179000
write(6, "[EMAIL PROTECTED]"..., 121) = 
121
read(6, "\0~\0\0\6\0\0\0\0\0\4\1\1\0\0\0{\5\0\0\0\0\1\0\0\0\3\0"..., 2064) = 
126
brk(0)                                  = 0x8179000
brk(0x817a000)                          = 0x817a000
open("/opt/oracle/product/8.1.7/rdbms/mesg/oraru.msb", O_RDONLY) = -1 ENOENT 
(No such file or directory)
open("/opt/oracle/product/8.1.7/rdbms/mesg/oraus.msb", O_RDONLY) = 10
fcntl64(10, F_SETFD, FD_CLOEXEC)        = 0
lseek(10, 0, SEEK_SET)                  = 0
read(10, "\25\23\"\1\23\3\t\t\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 256) = 
256
lseek(10, 512, SEEK_SET)                = 512
read(10, "\210\34rYM~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 
512
lseek(10, 1024, SEEK_SET)               = 1024
read(10, "[EMAIL PROTECTED]"..., 512) = 
512
lseek(10, 39936, SEEK_SET)              = 39936
read(10, "\t\0\31\5\0\0>\0\32\5\0\0\214\0\33\5\0\0\336\0\34\5\0\0"..., 512) = 
512
close(10)                               = 0
time(NULL)                              = 1064587941
write(1, "radius_xlat:  \'\'\n", 17)    = 17
time(NULL)                              = 1064587941
write(1, "radius_xlat:  \'SELECT 1 id,\'serg"..., 122) = 122
time(NULL)                              = 1064587941
write(1, "SELECT 1 id,\'serg\' UserName,Attr"..., 106) = 106
write(6, "\0\346\0\0\6\0\0\0\0\0\3^\7a\200\0\0\1\0\0\0\f\34\27\10"..., 230) = 
230
read(6, "\1\244\0\0\6\0\0\0\0\0\20\31\255Y\247\30\330\36\344P\0"..., 2064) = 
420
open("/opt/oracle/product/8.1.7/rdbms/mesg/oraus.msb", O_RDONLY) = 10
fcntl64(10, F_SETFD, FD_CLOEXEC)        = 0
lseek(10, 0, SEEK_SET)                  = 0
read(10, "\25\23\"\1\23\3\t\t\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 256) = 
256
lseek(10, 512, SEEK_SET)                = 512
read(10, "\210\34rYM~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 
512
lseek(10, 1024, SEEK_SET)               = 1024
read(10, "[EMAIL PROTECTED]"..., 512) = 
512
lseek(10, 39936, SEEK_SET)              = 39936
read(10, "\t\0\31\5\0\0>\0\32\5\0\0\214\0\33\5\0\0\336\0\34\5\0\0"..., 512) = 
512
close(10)                               = 0
time(NULL)                              = 1064587941
write(1, "radius_xlat:  \'\'\n", 17)    = 17
time(NULL)                              = 1064587941
write(1, "rlm_sql (sql): No matching entry"..., 78) = 78
time(NULL)                              = 1064587941
write(1, "rlm_sql (sql): Released sql sock"..., 41) = 41
time(NULL)                              = 1064587941
write(1, "  modcall[authorize]: module \"sq"..., 52) = 52
time(NULL)                              = 1064587941
----------------------------

Somebody can helps me with a troubleshooting?

P.S. /etc/raddb and /usr/local/etc/raddb is alike besides the paths of course.

- 
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to