Problem at startup on linux 64

Collette Yann ycollet at freesurf.fr
Mon Feb 2 10:43:43 CET 2009


Hello,

I don't know if it's a linux 64 specific bug, but since today, I am not 
able to start scilab anymore. The main windows shows up but scilab 
immediately hangs after that.
I have launched a debug session and here is the result:


Program received signal SIGABRT, Aborted.
0x00007f408b423975 in raise () from /lib64/libc.so.6
(gdb) where
#0  0x00007f408b423975 in raise () from /lib64/libc.so.6
#1  0x00007f408b4251a3 in abort () from /lib64/libc.so.6
#2  0x00007f4081d3bc97 in os::abort () from 
/opt/jdk1.6.0_11//jre/lib/amd64/server/libjvm.so
#3  0x00007f4081e590b0 in VMError::report_and_die () from 
/opt/jdk1.6.0_11//jre/lib/amd64/server/libjvm.so
#4  0x00007f4081d413e1 in JVM_handle_linux_signal () from 
/opt/jdk1.6.0_11//jre/lib/amd64/server/libjvm.so
#5  0x00007f4081d3dd1e in signalHandler () from 
/opt/jdk1.6.0_11//jre/lib/amd64/server/libjvm.so
#6  <signal handler called>
#7  0x00007f408b46eb30 in strlen () from /lib64/libc.so.6
#8  0x00007f40886db2da in sci_getcwd_ (fname=0x7f40886dc182 "getcwd", 
fname_len=<value optimized out>)
    at sci_gateway/c/sci_getcwd.c:43
#9  0x00007f40886d4015 in gw_fileio () at sci_gateway/c/gw_fileio.c:61
#10 0x00007f408be605eb in callinterf_ (k=0x7f408c10201c) at 
src/c/callinterf.c:158
#11 0x00007f408be6df53 in scirun_ (startupCode=<value optimized out>, 
startupCode_len=<value optimized out>)
    at src/c/scirun.c:147
#12 0x00007f408be5b7df in realmain (no_startup_flag_l=0, 
initial_script=0x0, initial_script_type=SCILAB_SCRIPT,
    memory=180000) at src/c/realmain.c:145
#13 0x0000000000400cc2 in main (argc=2, argv=0x7fff947e3178) at 
./modules/shell/src/c/others/mainscic.c:136
(gdb)


the sci_getcwd problematic code:

int C2F(sci_getcwd)(char *fname,unsigned long fname_len)
{
        int ierr = 0;
        int lpath = 0;
        char *path = NULL;

        Rhs = Max(Rhs,0);

        CheckRhs(0,0);
        CheckLhs(0,1);

        scigetcwd(&path,&lpath,&ierr);

        if (ierr)
        {
                Scierror(998,_("%s: An error occurred.\n"), fname);
                return 0;
        }
        else
        {
                char szTemp[bsiz];
                char* utfPath = localeToUTF(path, szTemp);

                int n1 = 1;
                int m1 = (int)strlen(utfPath);        <------------------


So, this is certainly related to the recent localisation changes.

YC





More information about the dev mailing list