[OpenSER-Users] SIGILL when starting openser

Bogdan-Andrei Iancu bogdan at voice-system.ro
Fri Apr 25 19:18:02 CEST 2008


Hi Christian,

The line the trace refer at is:

    sec_rand[i] = 32 + (int)(95.0 * rand() / (RAND_MAX + 1.0));

I suspect the rand() function, as there were some previous reports about 
it....:(

Could you try alter the code and replace the rand() with some number 
just to see if it won't crash?

Regards,
Bogdan


Christian Koch wrote:
> Hi Bogdan,
>
> when logging to syslog these are the last lines I get:
>
>     Apr 23 16:12:02 192 /usr/local/sbin/openser[12817]:
>     DBG:core:init_mod: registering stats for usrloc
>     Apr 23 16:12:02 192 /usr/local/sbin/openser[12817]:
>     DBG:core:init_mod: register MI for usrloc
>     Apr 23 16:12:02 192 /usr/local/sbin/openser[12817]:
>     DBG:core:init_mod: initializing module registrar
>     Apr 23 16:12:02 192 /usr/local/sbin/openser[12817]:
>     INFO:registrar:mod_init: initializing...
>     Apr 23 16:12:02 192 /usr/local/sbin/openser[12817]:
>     DBG:core:find_cmd_export_t: found <load_sl>(0) in module sl
>     [/usr/local/lib/openser/modules/]
>     Apr 23 16:12:02 192 /usr/local/sbin/openser[12817]:
>     DBG:core:find_cmd_export_t: found <ul_bind_usrloc>(1) in module
>     usrloc [/usr/local/lib/openser/modules/]
>     Apr 23 16:12:02 192 /usr/local/sbin/openser[12817]:
>     DBG:core:init_mod: registering stats for registrar
>     Apr 23 16:12:02 192 /usr/local/sbin/openser[12817]:
>     DBG:core:init_mod: initializing module auth
>     Apr 23 16:12:02 192 /usr/local/sbin/openser[12817]:
>     INFO:auth:mod_init: initializing...
>     Apr 23 16:12:02 192 /usr/local/sbin/openser[12817]:
>     DBG:core:find_cmd_export_t: found <load_sl>(0) in module sl
>     [/usr/local/lib/openser/modules/]
>
> All other messages I get are either DBG or INFO, no errors. But now I 
> tried something different. I've set "fork=no", and now I'm getting a 
> corefile. Backtrace of gdb is:
>
>     (gdb) bt
>     #0  0x0012ff8f in mod_init () at auth_mod.c:200
>     #1  0x080ab61e in init_mod (m=0x8165048) at sr_module.c:461
>     #2  0x080ab3f5 in init_mod (m=0x81650e8) at sr_module.c:456
>     #3  0x080ab3f5 in init_mod (m=0x8165188) at sr_module.c:456
>     #4  0x080ab3f5 in init_mod (m=0x8165228) at sr_module.c:456
>     #5  0x080ab3f5 in init_mod (m=0x81652c8) at sr_module.c:456
>     #6  0x080ab3f5 in init_mod (m=0x8165368) at sr_module.c:456
>     #7  0x080ab3f5 in init_mod (m=0x8165408) at sr_module.c:456
>     #8  0x080ab3f5 in init_mod (m=0x81654a8) at sr_module.c:456
>     #9  0x080ab3f5 in init_mod (m=0x8165548) at sr_module.c:456
>     #10 0x080ab3f5 in init_mod (m=0x8165618) at sr_module.c:456
>     #11 0x080ab3f5 in init_mod (m=0x81656b8) at sr_module.c:456
>     #12 0x080684a7 in main (argc=1, argv=0xbff668b4) at main.c:1355
>     (gdb)
>
> Looks like calling init_mod() recursively. I didn't study the openser 
> code, but this backtrace looks strange to me.
> If anybody is interested in the whole corefile, please mail me directly. 
> I don't want to post such a large file to the list.
>
> Thanks a lot for your help,
> Christian
>
>
>
>
> Bogdan-Andrei Iancu schrieb:
>   
>> Hi Christian,
>>
>> Any logs from openser during startup? if not, try to enable debug 
>> (debug=6) and see where is stops.
>>
>> Regards,
>> Bogdan
>>
>> Christian Koch wrote:
>>     
>>> Hi,
>>>
>>> when starting openser 1.3.1 it doesn't really start, but stops after 
>>> processing a SIGILL. When perfoming
>>>
>>> strace -f /usr/local/sbin/openser
>>>
>>> I get the following output (these are only the last few lines):
>>>
>>>     time([1208951399])                      = 1208951399
>>>     stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=837, 
>>> ...}) = 0
>>>     stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=837, 
>>> ...}) = 0
>>>     stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=837, 
>>> ...}) = 0
>>>     send(3, "<143>Apr 23 13:49:59 /usr/local/"..., 147, MSG_NOSIGNAL) 
>>> = 147
>>>     --- SIGILL (Illegal instruction) @ 0 (0) ---
>>>     Process 12746 detached
>>>
>>>
>>> I've compiled openser from source on the same machine. When starting 
>>> openser with -V everything works just fine. Output:
>>>
>>>     version: openser 1.3.1-notls (i386/linux)
>>>     flags: STATS: Off, USE_IPV6, USE_TCP, DISABLE_NAGLE, USE_MCAST,
>>>     SHM_MEM, SHM_MMAP, PKG_MALLOC, F_MALLOC, FAST_LOCK-ADAPTIVE_WAIT
>>>     ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN
>>>     16, MAX_URI_SIZE 1024, BUF_SIZE 65535
>>>     poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
>>>     svnrevision: unknown
>>>     @(#) $Id: main.c 3590 2008-01-28 17:46:56Z bogdan_iancu $
>>>     main.c compiled on 10:47:24 Apr 23 2008 with gcc 3.4.5
>>>
>>>
>>>
>>> So I guessed the problem could occur inside a module. I removed 
>>> auth.so and auth_db.so from my config file, but openser still doesn't 
>>> start. But, it doesn't receive a SIGILL anymore, but SIGTERM.  Output 
>>> from strace:
>>>
>>>     time([1208951661])                      = 1208951661
>>>     stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=837, 
>>> ...}) = 0
>>>     stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=837, 
>>> ...}) = 0
>>>     stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=837, 
>>> ...}) = 0
>>>     send(3, "<139>Apr 23 13:54:21 /usr/local/"..., 103, MSG_NOSIGNAL) 
>>> = 103
>>>     kill(0, SIGTERM)                        = 0
>>>     --- SIGTERM (Terminated) @ 0 (0) ---
>>>     sigreturn()                             = ? (mask now [])
>>>     time([1208951661])                      = 1208951661
>>>     stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=837, 
>>> ...}) = 0
>>>
>>>     [...]
>>>
>>>     stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=837, 
>>> ...}) = 0
>>>     stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=837, 
>>> ...}) = 0
>>>     stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=837, 
>>> ...}) = 0
>>>     send(3, "<143>Apr 23 13:54:21 /usr/local/"..., 113, MSG_NOSIGNAL) 
>>> = 113
>>>     munmap(0xb5f58000, 33554432)            = 0
>>>     exit_group(-1)                          = ?
>>>     Process 12752 detached
>>>
>>> Any ideas how to fix this problem?
>>>
>>> Thx,
>>> Christian
>>>
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.openser.org
>>> http://lists.openser.org/cgi-bin/mailman/listinfo/users
>>>
>>>   
>>>       
>
>
> _______________________________________________
> Users mailing list
> Users at lists.openser.org
> http://lists.openser.org/cgi-bin/mailman/listinfo/users
>
>   





More information about the Users mailing list