Closed nyuichi closed 7 years ago
I found that call/cc is broken
$ make run
bin/picrin
> (call/cc (lambda (k) (k 1)))
*** longjmp causes uninitialized stack frame ***: bin/picrin terminated
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x78bee)[0x7f066f25fbee]
/lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x5c)[0x7f066f2ffe3c]
/lib/x86_64-linux-gnu/libc.so.6(+0x118d3d)[0x7f066f2ffd3d]
/lib/x86_64-linux-gnu/libc.so.6(__longjmp_chk+0x29)[0x7f066f2ffc99]
bin/picrin[0x41fcf5]
[0x16731d0]
======= Memory map: ========
00400000-0044f000 r-xp 00000000 fc:00 2753460 /home/kim/C/picrin/bin/picrin
0064e000-0064f000 r--p 0004e000 fc:00 2753460 /home/kim/C/picrin/bin/picrin
0064f000-00661000 rw-p 0004f000 fc:00 2753460 /home/kim/C/picrin/bin/picrin
00661000-00663000 rw-p 00000000 00:00 0
0165f000-01c80000 rw-p 00000000 00:00 0 [heap]
7f066e8c7000-7f066e8dd000 r-xp 00000000 fc:00 4854118 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f066e8dd000-7f066eadc000 ---p 00016000 fc:00 4854118 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f066eadc000-7f066eadd000 r--p 00015000 fc:00 4854118 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f066eadd000-7f066eade000 rw-p 00016000 fc:00 4854118 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f066eade000-7f066eedf000 rw-p 00000000 00:00 0
7f066eedf000-7f066efe6000 r-xp 00000000 fc:00 4853168 /lib/x86_64-linux-gnu/libm-2.21.so
7f066efe6000-7f066f1e5000 ---p 00107000 fc:00 4853168 /lib/x86_64-linux-gnu/libm-2.21.so
7f066f1e5000-7f066f1e6000 r--p 00106000 fc:00 4853168 /lib/x86_64-linux-gnu/libm-2.21.so
7f066f1e6000-7f066f1e7000 rw-p 00107000 fc:00 4853168 /lib/x86_64-linux-gnu/libm-2.21.so
7f066f1e7000-7f066f3a7000 r-xp 00000000 fc:00 4853169 /lib/x86_64-linux-gnu/libc-2.21.so
7f066f3a7000-7f066f5a7000 ---p 001c0000 fc:00 4853169 /lib/x86_64-linux-gnu/libc-2.21.so
7f066f5a7000-7f066f5ab000 r--p 001c0000 fc:00 4853169 /lib/x86_64-linux-gnu/libc-2.21.so
7f066f5ab000-7f066f5ad000 rw-p 001c4000 fc:00 4853169 /lib/x86_64-linux-gnu/libc-2.21.so
7f066f5ad000-7f066f5b1000 rw-p 00000000 00:00 0
7f066f5b1000-7f066f5d5000 r-xp 00000000 fc:00 4853163 /lib/x86_64-linux-gnu/ld-2.21.so
7f066f706000-7f066f7b0000 rw-p 00000000 00:00 0
7f066f7b0000-7f066f7d4000 rw-p 00000000 00:00 0
7f066f7d4000-7f066f7d5000 r--p 00023000 fc:00 4853163 /lib/x86_64-linux-gnu/ld-2.21.so
7f066f7d5000-7f066f7d6000 rw-p 00024000 fc:00 4853163 /lib/x86_64-linux-gnu/ld-2.21.so
7f066f7d6000-7f066f7d7000 rw-p 00000000 00:00 0
7ffda12c6000-7ffda12e7000 rw-p 00000000 00:00 0 [stack]
7ffda13ef000-7ffda13f1000 r--p 00000000 00:00 0 [vvar]
7ffda13f1000-7ffda13f3000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
Makefile:66: recipe for target 'run' failed
make: *** [run] 中止 (コアダンプしました)
FYI according to git bisect, b070d9c1dc3c2597e57cef88331d5d0dc8ea4512 is the first bad commit
As it is approved that this bug comes from master, not this PR, go ahead to merge.
@nyuichi How is the state?
closing as solved
@wasabiz I like it. However, this coredumps on my laptop.
And I have a question: can this be applied to nitros?