[Scilab-Dev] scilab-5.0.3 segfault on solaris: strlen()

Gerard Henry Gerard.Henry at cmi.univ-mrs.fr
Sat Jan 10 21:12:25 CET 2009


Gerard Henry wrote:
> hello all,
> after successfully compiling scilab on opensolaris, i did the same job
> on solaris 10, make went fine, but when i execute, it segfaults. Looking
> with the debugger, i got:
> Program received signal SIGSEGV, Segmentation fault.
> 0xfa855891 in strlen () from /usr/lib/libc.so.1
> (gdb) where
> #0  0xfa855891 in strlen () from /usr/lib/libc.so.1
> #1  0xfac62160 in callFunctionFromGateway ()
>    from /local/apps/src/scilab-5.0.3/modules/core/.libs/libscicore.so.5
> #2  0xfd297571 in gw_io ()
>    from /local/apps/src/scilab-5.0.3/modules/io/.libs/libsciio.so.5
> #3  0xfac51df3 in callinterf_ ()
>    from /local/apps/src/scilab-5.0.3/modules/core/.libs/libscicore.so.5
> #4  0xfac5ef42 in scirun_ ()
>    from /local/apps/src/scilab-5.0.3/modules/core/.libs/libscicore.so.5
> #5  0xfac4d54b in realmain ()
>    from /local/apps/src/scilab-5.0.3/modules/core/.libs/libscicore.so.5
> #6  0xfd242ad0 in mainscic ()
>    from /local/apps/src/scilab-5.0.3/modules/shell/.libs/libscishell.so.5
> #7  0x08050d7d in main ()
> 
> even a "make clean" becomes impossible, because:
> devel1 at nemo:~/src/scilab-5.0.3$ make clean
> ./bin/scilab: line 453: 13413 Segmentation Fault      (core dumped) 
> "$SCILABBIN" "$@"
> ./bin/scilab: line 453: 13439 Segmentation Fault      (core dumped) 
> "$SCILABBIN" "$@"
> make: *** [clean-doc] Error 139
> 
> Any idea?
> 
> thanks in advance for help,
> 
> gerard
> 
> PS: some notes in french:
> http://www.latp.univ-mrs.fr/support/doku.php?id=scilab
> 

after recompiling with -g, i have more information:
t at 1 (l at 1) program terminated by signal SEGV (no mapping at the fault 
address)
0xfa705891: strlen+0x0031:      cmpb     $0x00000000,(%eax)
Current function is callFunctionFromGateway
    36           if (*(Tab[Fin-1].f) != NULL) (*(Tab[Fin-1].f)) 
(Tab[Fin-1].name,(unsigned long)strlen(Tab[Fin-1].name));

(dbx) where
current thread: t at 1
   [1] strlen(0xe, 0x0), at 0xfa705891
=>[2] callFunctionFromGateway(Tab = 0xfd2be908), line 36 in 
"callFunctionFromGateway.c"
   [3] gw_io(), line 102 in "gw_io.c"
   [4] callinterf_(k = 0xfab07b04), line 155 in "callinterf.c"
   [5] scirun_(startupCode = 0x8081358 
"exec('modules/functions/scripts/buildmacros/buildmacros.sce',-1)", 
startupCode_len = 64), line 147 in "scirun.c"
   [6] realmain(no_startup_flag_l = 1, initial_script = 0x8046f3f 
"modules/functions/scripts/buildmacros/buildmacros.sce", 
initial_script_type = SCILAB_SCRIPT, memory = 180000), line 145 in 
"realmain.c"
   [7] mainscic(argc = 5, argv = 0x8046e00), line 132 in "mainscic.c"
   [8] main(argc = 5, argv = 0x8046e00), line 26 in "main_linux.c"


is it possible that the value of Fin is out of range? Who set the value 
of Fin?

thanks for help,

gerard

-- 
Gerard HENRY
LATP UMR6632
39, rue F. Joliot Curie
13453 MARSEILLE Cedex 13
Tel.: 04 91 11 35 53 Fax.: 04 91 11 35 52



More information about the dev mailing list