Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

flisp segfault on master #2

Open
kamstrup opened this issue Jan 16, 2013 · 10 comments
Open

flisp segfault on master #2

kamstrup opened this issue Jan 16, 2013 · 10 comments

Comments

@kamstrup
Copy link

Running flisp segfaults on current master (71a1cb6). OS is Ubuntu 12.10, 64 bit. Stacktrace:

(gdb) run
Starting program: /home/kamstrup/Projects/femtolisp/flisp
fatal error:
(
Program received signal SIGSEGV, Segmentation fault.
0x000000000040930b in fl_isnumber (v=) at flisp.c:736
736 return c->type != wchartype;
(gdb) bt full
#0 0x000000000040930b in fl_isnumber (v=) at flisp.c:736

    c = 0x0

#1 fl_isnumber (v=) at flisp.c:731

No locals.
#2 0x0000000000409398 in smallp (v=1) at print.c:180

No locals.
#3 0x000000000040990c in allsmallp (v=, v@entry=140737353036343) at print.c:218

    n = 4

#4 0x000000000040a064 in blockindent (v=140737353036343) at print.c:259

No locals.
#5 print_pair (v=140737353036343, f=0x627100) at print.c:282

    head = <optimized out>
    cd = <optimized out>
    op = 0x0
    est = 32767
    n_unindented = <optimized out>
    startpos = 0
    ind = <optimized out>
    thistiny = -9792
    after2 = 6502192
    newindent = 1
    lastv = <optimized out>
    always = <optimized out>
    nextsmall = <optimized out>
    after3 = 4201284

#6 fl_print_child (f=f@entry=0x627100, v=v@entry=140737353036343) at print.c:483

    name = <optimized out>

#7 0x000000000040abd4 in fl_print (f=0x627100, v=140737353036343) at print.c:852

    pl = <optimized out>

#8 0x0000000000401b27 in main (argc=1, argv=0x7fffffffe0a8) at flmain.c:66

    fname_buf = "/home/kamstrup/Projects/femtolisp/flisp.boot\000\177\000\000\000\000\000\000\001\000\000\000\202\b\000\000\001\000\000\000\300o\336\367\001\000\000\000@\346\377\367\377\177\000\000`\335\377\377\377\177\000\000\207\360\226|\000\000\000\000H\223\375\367\377\177\000\000\060\336\377\377\377\177\000\000\370\331\377\367\377\177\000\000\063E\336\367\377\177\000\000\000\000\000\000\000\000\000\000H\223\375\367\377\177\000\000\001", '\000' <repeats 15 times>, "\001\000\000\000\377\177\000\000\370\331\377\367\377\177\000\000\000\000\000\000\000\000\000\000I\t@", '\000' <repeats 15 times>"\340, \267\377\377\377\377\377\377\377\377", '\000' <repeats 20 times>, "@\346\377\367\377\177\000\000@\260/\000\001", '\000' <repeats 11 times>"\260, \063\256\367\377\177\000\000<\247\335\367\377\177\000\000\000\340\255\367\377\177\000\000\204\207\336\367\377\177\000\000\001", '\000' <repeats 15 times>...
    str = <optimized out>
    exedir = <optimized out>
    args = {140737353036101, 6511318}
    _ctx = {buf = {{__jmpbuf = {140737488345776, 1578295438339500356, 4201284, 140737488347296, 0, 0, -1578295437153507004, 1578295988940990788}, __mask_was_saved = 0, __saved_mask = {
            __val = {140737353978072, 140737354115480, 140737348771596, 140737344895480, 140737351924356, 4294967296, 2, 4, 140737354116808, 2090266759, 140737351926446, 
              140737353978072, 140733193388039, 140737488346400, 4294967295, 140737344842872}}}}, sp = 0, frame = 0, ngchnd = 2, rdst = 0x0, prev = 0x0}
    l__tr = <optimized out>
    l__ca = 1
@JeffBezanson
Copy link
Owner

What is your locale setting? Also, could you set a breakpoint in fl_raise before running? Thanks for the report.

@kamstrup
Copy link
Author

Woops, deleted last trace with breakpoint, that was from a source tree with my own feeble attempt at a fix ;-) Coming up with a clean trace.

@kamstrup
Copy link
Author

Wow, this is most odd. Suddenly I can't reproduce anymore. All I did was 'make' and './flisp'... most odd. Even tried on a clean checkout and it works like a charm. I'll investigate some more.

@hroptatyr
Copy link

I can reproduce it:

Program received signal SIGSEGV, Segmentation fault.
fl_isnumber (f=0x68fa58, v=140737488344120) at flisp.c:736
736             return c->type != wchartype;
(gdb) bt
#0  fl_isnumber (f=0x68fa58, v=140737488344120) at flisp.c:736
#1  smallp (f=0x68fa58, v=140737488344120) at print.c:180
#2  allsmallp (f=0x68fa58, v=140737488344120) at print.c:218
#3  blockindent (f=0x68fa58, v=140737488344120) at print.c:259
#4  print_pair (f=0x68fa58, v=140737488344120) at print.c:282
#5  0x000000000042b32a in fl_print_child (f=0x68fa58, v=140737488344120) at print.c:483
#6  0x00000000004249bd in fl_print (f=0x68fa58, v=140737488344120) at print.c:852
#7  0x0000000000440a5d in main (argc=1, argv=0x7fffffffdb78) at flmain.c:66

echo $LANG -> C

@ghost
Copy link

ghost commented Mar 21, 2013

I am also getting a segmentation fault.

(gdb) run
Starting program: /home/robru/Applications/femtolisp/femtolisp/flisp 
warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7ffff7ffa000
fatal error:
(
Program received signal SIGSEGV, Segmentation fault.
0x000000000040939b in fl_isnumber ()
(gdb) bt
#0  0x000000000040939b in fl_isnumber ()
#1  0x0000000000409428 in smallp ()
#2  0x000000000040999c in allsmallp ()
#3  0x000000000040a0f4 in fl_print_child ()
#4  0x000000000040ac74 in fl_print ()
#5  0x0000000000401bc7 in main ()

Hope this helps. Let me know if you need any more info (er, and how to get it...).

$ echo $LANG
en_CA.UTF-8

@ghost
Copy link

ghost commented Mar 29, 2013

I just pulled latest trunk and can no longer reproduce this. Thanks!

@mmitkevich
Copy link

Reproduced in master.
some kind of 'type_error' got 1 instead of 'function' followed by crash in 'catch' block
Any ideas?
Thanks, mike

(gdb) r
Starting program: /home/mike/github/femtolisp/flisp unittest.lsp

Breakpoint 2, fl_raise (e=140737353032295) at flisp.c:166
166     fl_lasterror = e;
(gdb) t
[Current thread is 1 (process 3148)]
(gdb) bt
#0  fl_raise (e=140737353032295) at flisp.c:166
#1  0x0000000000401eae in type_error (fname=0x42453b "apply", expected=0x425173 "function", got=1) at flisp.c:210
#2  0x000000000040d08a in _applyn (n=1) at flisp.c:638
#3  0x000000000040d2fa in fl_applyn (n=1, f=1) at flisp.c:675
#4  0x000000000041d7a5 in main (argc=2, argv=0x7fffffffe2c8) at flmain.c:54
(gdb) c
Continuing.
fatal error:
(
Program received signal SIGSEGV, Segmentation fault.
0x000000000040d788 in fl_isnumber (v=1) at flisp.c:737
737         return c->type != wchartype;
(gdb) bt
#0  0x000000000040d788 in fl_isnumber (v=1) at flisp.c:737
#1  0x0000000000409b92 in smallp (v=1) at print.c:180
#2  0x0000000000409d98 in allsmallp (v=140737353032343) at print.c:218
#3  0x0000000000409f08 in blockindent (v=140737353032295) at print.c:259
#4  0x000000000040a11d in print_pair (f=0x632100, v=140737353032295) at print.c:282
#5  0x000000000040ac9c in fl_print_child (f=0x632100, v=140737353032295) at print.c:483
#6  0x000000000040c289 in fl_print (f=0x632100, v=140737353032295) at print.c:858
#7  0x000000000041d818 in main (argc=2, argv=0x7fffffffe2c8) at flmain.c:59

ubuntu 14.04 LTS 64 bit

$ uname -a
Linux 3.15.0-031500rc7-generic #201405251935 SMP Sun May 25 23:36:23 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

$ gcc --version
gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

@zackp30
Copy link

zackp30 commented Jul 3, 2014

(gdb) file flisp
Reading symbols from /home/zack/femtolisp/flisp...done.
(gdb) run
Starting program: /home/zack/femtolisp/flisp 
Missing separate debuginfo for /lib64/ld-linux-x86-64.so.2
Try: zypper install -C "debuginfo(build-id)=afa98667969782208459e394f8c8f87ac7510710"
Missing separate debuginfo for /lib64/libm.so.6
Try: zypper install -C "debuginfo(build-id)=35d35d9ce781be3a140a34242d998498615b021f"
Missing separate debuginfo for /lib64/libc.so.6
Try: zypper install -C "debuginfo(build-id)=881176f957e2887122be7fac9c3b69cd64ad707d"
fatal error:
(
Program received signal SIGSEGV, Segmentation fault.
0x0000000000409a5b in fl_isnumber ()
(gdb) c
Continuing.

Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.
(gdb) 

@markuspf
Copy link

Just in case anyone cares: For me this behavior was caused by flisp.boot being truncated to 0 length at some point during build. Just git checkout flisp.boot made the error go away.

@Ismael-VC
Copy link
Contributor

If this is no longer reproducible or is fixed, we should close this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants