samth/test-bugs — Issue #140: repeatable segfault
Author: samth
Created: 2012-03-09 02:59:55+00:00
State: open
Labels: gnats-migrated

###### Originally submitted on: Wed Oct 05 12:08:01 -0400 2011

I have a repeatable segfault with a slideshow presentation I'm writing. The backtrace is below, I'll try to produce a useful test case later today:

```racket
(gdb) where
#0 0x00c01416 in __kernel_vsyscall ()
#1 0x0020be71 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2 0x0020f34e in abort () at abort.c:92
#3 0x08230e6d in fault_handler (sn=11, si=0x96d07fc, ctx=0x96d087c)
at ../../../racket/gc2/sighand.c:118
#4
#5 0x0815f5fb in do_optimize_info_lookup (info=0x0, pos=0, j=2,
closure_offset=0x0, single_use=0x0, not_ready=0x0, once_used_ok=0,
context=0, potential_size=0x0, disrupt_single_use=0,
is_mutated=0xbfe4b0cc, just_test=1)
at ../../../racket/gc2/../src/optimize.c:5832
#6 0x08167d24 in optimize_info_mutated_lookup (expr=0xb55867b8,
info=0xb55dc518, context=0) at ../../../racket/gc2/../src/optimize.c:5957
#7 ref_optimize (expr=0xb55867b8, info=0xb55dc518, context=0)
at ../../../racket/gc2/../src/optimize.c:2784
#8 scheme_optimize_expr (expr=0xb55867b8, info=0xb55dc518, context=0)
at ../../../racket/gc2/../src/optimize.c:5022
#9 0x0816b7b3 in optimize_application2 (o=,
info=0xb55dc518, context=)
at ../../../racket/gc2/../src/optimize.c:1974
#10 0x081660d0 in scheme_optimize_expr (expr=0xb55867d8, info=0xb55dc518,
context=2) at ../../../racket/gc2/../src/optimize.c:4954
#11 0x08166019 in optimize_branch (expr=0xb5587490, info=0xb55dc518, context=0)
at ../../../racket/gc2/../src/optimize.c:2541
#12 scheme_optimize_expr (expr=0xb5587490, info=0xb55dc518, context=0)
at ../../../racket/gc2/../src/optimize.c:4961
#13 0x08169019 in scheme_optimize_lets (form=0xb55874b8, info=0xb55dbf88,
for_inline=0, context=0) at ../../../racket/gc2/../src/optimize.c:3720
#14 0x08166c21 in scheme_optimize_expr (expr=0xb55874b8, info=0xb55dbf88,
context=0) at ../../../racket/gc2/../src/optimize.c:4967
#15 0x0816b7b3 in optimize_application2 (o=,
info=0xb55dbf88, context=)
at ../../../racket/gc2/../src/optimize.c:1974
#16 0x081660d0 in scheme_optimize_expr (expr=0xb5588c58, info=0xb55dbf88,
context=0) at ../../../racket/gc2/../src/optimize.c:4954
#17 0x0816c7d5 in optimize_application3 (o=0xb5588c78, info=0xb55dbf88,
context=0) at ../../../racket/gc2/../src/optimize.c:2163
#18 0x08165cc8 in scheme_optimize_expr (expr=0xb5588c78, info=0xb55dbf88,
context=0) at ../../../racket/gc2/../src/optimize.c:4956
#19 0x08165edb in optimize_wcm (expr=0xb5588ca0, info=0xb55dbf88, context=0)
at ../../../racket/gc2/../src/optimize.c:2657
#20 scheme_optimize_expr (expr=0xb5588ca0, info=0xb55dbf88, context=0)
at ../../../racket/gc2/../src/optimize.c:4963
#21 0x08165edb in optimize_wcm (expr=0xb5588cc8, info=0xb55dbf88, context=0)
at ../../../racket/gc2/../src/optimize.c:2657
#22 scheme_optimize_expr (expr=0xb5588cc8, info=0xb55dbf88, context=0)
---Type to continue, or q to quit---
at ../../../racket/gc2/../src/optimize.c:4963
#23 0x08165edb in optimize_wcm (expr=0xb5588cf0, info=0xb55dbf88, context=0)
at ../../../racket/gc2/../src/optimize.c:2657
#24 scheme_optimize_expr (expr=0xb5588cf0, info=0xb55dbf88, context=0)
at ../../../racket/gc2/../src/optimize.c:4963
#25 0x08169019 in scheme_optimize_lets (form=0xb55b7f40, info=0xb55dbe28,
for_inline=0, context=0) at ../../../racket/gc2/../src/optimize.c:3720
#26 0x08166c21 in scheme_optimize_expr (expr=0xb55b7f40, info=0xb55dbe28,
context=0) at ../../../racket/gc2/../src/optimize.c:4967
#27 0x08168d2b in scheme_optimize_lets (form=0xb5564e38, info=0xb55dbd20,
for_inline=0, context=0) at ../../../racket/gc2/../src/optimize.c:4101
#28 0x08166c21 in scheme_optimize_expr (expr=0xb5564e38, info=0xb55dbd20,
context=0) at ../../../racket/gc2/../src/optimize.c:4967
#29 0x08168d2b in scheme_optimize_lets (form=0xb555b790, info=0xb55dbbd8,
for_inline=0, context=0) at ../../../racket/gc2/../src/optimize.c:4101
#30 0x08166c21 in scheme_optimize_expr (expr=0xb555b790, info=0xb55dbbd8,
context=0) at ../../../racket/gc2/../src/optimize.c:4967
#31 0x08168d2b in scheme_optimize_lets (form=0xb55599e0, info=0xb55db9c0,
for_inline=0, context=0) at ../../../racket/gc2/../src/optimize.c:4101
#32 0x08166c21 in scheme_optimize_expr (expr=0xb55599e0, info=0xb55db9c0,
context=0) at ../../../racket/gc2/../src/optimize.c:4967
#33 0x08167097 in optimize_closure_compilation (expr=0xb55578a0,
info=0xb55db958, context=0) at ../../../racket/gc2/../src/optimize.c:4285
#34 scheme_optimize_expr (expr=0xb55578a0, info=0xb55db958, context=0)
at ../../../racket/gc2/../src/optimize.c:4965
#35 0x08169019 in scheme_optimize_lets (form=0xb5557418, info=0xb55dadf0,
for_inline=0, context=0) at ../../../racket/gc2/../src/optimize.c:3720
#36 0x08166c21 in scheme_optimize_expr (expr=0xb5557418, info=0xb55dadf0,
context=0) at ../../../racket/gc2/../src/optimize.c:4967
#37 0x08168d2b in scheme_optimize_lets (form=0xb64b1c18, info=0xb55da408,
for_inline=0, context=0) at ../../../racket/gc2/../src/optimize.c:4101
#38 0x08166c21 in scheme_optimize_expr (expr=0xb64b1c18, info=0xb55da408,
context=0) at ../../../racket/gc2/../src/optimize.c:4967
#39 0x08168d2b in scheme_optimize_lets (form=0xb649cda8, info=0xb55d9b58,
for_inline=0, context=0) at ../../../racket/gc2/../src/optimize.c:4101
#40 0x08166c21 in scheme_optimize_expr (expr=0xb649cda8, info=0xb55d9b58,
context=0) at ../../../racket/gc2/../src/optimize.c:4967
#41 0x08168d2b in scheme_optimize_lets (form=0xb641dd88, info=0xb55d9af0,
for_inline=0, context=0) at ../../../racket/gc2/../src/optimize.c:4101
#42 0x08166c21 in scheme_optimize_expr (expr=0xb641dd88, info=0xb55d9af0,
context=0) at ../../../racket/gc2/../src/optimize.c:4967
#43 0x08167097 in optimize_closure_compilation (expr=0xb63e6a60,
info=0xb55d46e0, context=0) at ../../../racket/gc2/../src/optimize.c:4285
#44 scheme_optimize_expr (expr=0xb63e6a60, info=0xb55d46e0, context=0)
at ../../../racket/gc2/../src/optimize.c:4965
#45 0x0816c793 in optimize_application3 (o=0xb55d44f8, info=0xb55d46e0,
---Type to continue, or q to quit---
context=0) at ../../../racket/gc2/../src/optimize.c:2153
#46 0x08165cc8 in scheme_optimize_expr (expr=0xb55d44f8, info=0xb55d46e0,
context=0) at ../../../racket/gc2/../src/optimize.c:4956
#47 0x0816695e in module_optimize (expr=0x9bd1c928, info=0xb55d46e0, context=0)
at ../../../racket/gc2/../src/optimize.c:4602
#48 scheme_optimize_expr (expr=0x9bd1c928, info=0xb55d46e0, context=0)
at ../../../racket/gc2/../src/optimize.c:5038
#49 0x0807d4d9 in compile_k () at ../../../racket/gc2/../src/eval.c:3794
#50 0x0809e288 in scheme_top_level_do_worker (k=0x807cf50 , eb=0,
new_thread=0, dyn_state=0x0) at ../../../racket/gc2/../src/fun.c:1146
#51 0x0809e478 in scheme_top_level_do (k=0x807cf50 , eb=0)
at ../../../racket/gc2/../src/fun.c:1059
#52 0x0808290a in scheme_default_compile_handler (argc=2, argv=0xbfe4e724)
at ../../../racket/gc2/../src/eval.c:4345
#53 0x0808677b in scheme_do_eval (obj=0x96d16b8, num_rands=2,
rands=0xbfe4e724, get_value=1) at ../../../racket/gc2/../src/eval.c:2429
#54 0x08096ecf in apply_k () at ../../../racket/gc2/../src/fun.c:1307
#55 0x0809e288 in scheme_top_level_do_worker (k=0x8096e40 , eb=1,
new_thread=0, dyn_state=0x0) at ../../../racket/gc2/../src/fun.c:1146
#56 0x0809e478 in scheme_top_level_do (k=0x8096e40 , eb=1)
at ../../../racket/gc2/../src/fun.c:1059
#57 0x0807cd15 in call_compile_handler (form=,
immediate_eval=)
at ../../../racket/gc2/../src/eval.c:3616
#58 0x0807d816 in compile_k () at ../../../racket/gc2/../src/eval.c:3747
#59 0x0809e288 in scheme_top_level_do_worker (k=0x807cf50 , eb=0,
new_thread=0, dyn_state=0x0) at ../../../racket/gc2/../src/fun.c:1146
#60 0x0809e478 in scheme_top_level_do (k=0x807cf50 , eb=0)
at ../../../racket/gc2/../src/fun.c:1059
#61 0x08087cc6 in scheme_default_eval_handler (argc=1, argv=0xa81d2ea4)
at ../../../racket/gc2/../src/eval.c:4332
#62 0x0069acd7 in ?? ()
#63 0x08086b30 in scheme_do_eval (obj=0x0, num_rands=1, rands=0x0,
get_value=-1) at ../../../racket/gc2/../src/eval.c:2688
#64 0x08088668 in _scheme_apply_multi_from_native (rator=0xb38a1ce0, argc=0,
argv=0x0)
#65 0x008b38fc in ?? ()
#66 0x08086b30 in scheme_do_eval (obj=0x0, num_rands=0, rands=0x0,
get_value=-1) at ../../../racket/gc2/../src/eval.c:2688
#67 0x080a54f8 in scheme_finish_apply_for_prompt (prompt=0x0,
_prompt_tag=0xb68fc870, proc=0x9bd1cc08, argc=0, argv=0x0)
at ../../../racket/gc2/../src/fun.c:5558
#68 0x080a5662 in scheme_apply_for_prompt (prompt=0xb38a1cf8,
prompt_tag=0xb68fc870, proc=0x9bd1cc08, argc=0, argv=0x0)
at ../../../racket/gc2/../src/fun.c:5637
#69 0x080a9187 in call_with_prompt (in_argc=3, in_argv=0xa81d2eb8)
```

##### Release:

```
5.1.3.11--2011-10-03(97ac9aa/g)
```

##### Environment:

```
unix "Linux punge 2.6.38-11-generic #48-Ubuntu SMP Fri Jul 29 19:05:14 UTC 2011 i686 i686
i386 GNU/Linux" (i386-linux/3m) (get-display-depth) = 32
Human Language: english
(current-memory-use) 188269568
Links: (links) = ("gcstat" "raco-git" "disassemble"); (links #:user? #f) = (); (links
#:root? #t) = (); (links #:user? #f #:root? #t) = ()

Collections:
("/home/samth/sw/plt/add-on/5.1.3.11/collects"
(non-existent-path))
("/home/samth/sw/plt/collects"
("db" "honu" "eopl" "tests" "typed" "test-engine" "errortrace" "sgl" "plot"
"combinator-parser" "mzcom" "test-box-recovery" "version" ".gitignore" "defaults"
"deinprogramm" "s-exp" "handin-client" "srpersist" "launcher" "scriblib" "browser"
"unstable" "r5rs" "gui-debugger" "at-exp" "swindle" "scheme" "reader" "frtime" "meta"
"racket" "file" "racklog" "data" "slatex" "net" "wxme" "syntax" "scribblings"
"parser-tools" "ffi" "hierlist" "handin-server" "2htdp" "framework" "mz" "openssl"
"dynext" "datalog" "slideshow" "games" "raco" "picturing-programs" "xml" "texpict"
"graphics" "mzscheme" "profile" "help" "web-server" "schelog" "trace" "make" "algol60"
"mzlib" "rackunit" "icons" "plai" "sirmail" "lazy" "mrlib" "setup" "xrepl"
"string-constants" "typed-racket" "syntax-color" "r6rs" "drscheme" "lang"
"repo-time-stamp" "afm" "planet" "typed-scheme" "info-domain" "config" "guibuilder"
"stepper" "mred" "embedded-gui" "preprocessor" "readline" "htdp" "compiler" "srfi"
"waterworld" "!
macro-debugger" "html" "scribble" "mysterx" "redex" "drracket" "rnrs" "teachpack"
"tex2page" "schemeunit"))

Computer Language: (("Determine language from source") (#(#t print mixed-fraction-e #f #t
none) (default) #() "#lang racket\n" #t #t))
```

###### This bug was converted from Gnats bug [12258](http://bugs.racket-lang.org/old/12258).