# \[Bug #3262\] can't create fiber & SEGV in windows

**URL:** <https://www.ruby-forum.com/t/bug-3262-cant-create-fiber-segv-in-windows/188270>\
**Category:** Development\
**Created:** [May 8, 2010, 11:48pm UTC](https://www.ruby-forum.com/t/bug-3262-cant-create-fiber-segv-in-windows/188270 "2010-05-08T23:48:58Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [May 8, 2010, 11:48pm UTC](https://www.ruby-forum.com/t/bug-3262-cant-create-fiber-segv-in-windows/188270/1 "2010-05-08T23:48:58Z")

</div>

Bug #3262: can’t create fiber & SEGV in windows  
[http://redmine.ruby-lang.org/issues/show/3262](http://redmine.ruby-lang.org/issues/show/3262)

e$B5/I\<\<Te(B: masaya tarui  
e$B%9%F!\<%?%9e(B: Open, e$BM%@hEYe(B: Normal  
e$B%+%F%4%je(B: core, Target version: 1.9.2  
ruby -v: ruby 1.9.2dev (2010-05-09 trunk 27684) [i386-mswin32\_90]

windowse$B$K$\*$$$Fe(B fiber  
e$B$,:n$l$J$/$J$C$Fe(BSEGVe$B$9$k;v$,$"$j$^$9!#e(B

[BUG] Segmentation fault  
ruby 1.9.2dev (2010-05-09 trunk 27684) [i386-mswin32\_90]

## – control frame ---------- c:0001 p:---- s:0001 b:-001 l:000000 d:000000 ------

e$B:F8=4D6-$O:n$l$F$^$;$s$,!"$3$A$i$G$Oe(Bnmake  
test-alle$B$7$?$H$-$Ne(Btest\_many\_fiberse$B$GI,$:Mn$A$^$7$?!#e(B  
#e$BC1BN$Ge(Btest\_fiber.rbe$B$rF0$+$7$F$bMn$A$J$$!#!#!#e(B

e$B:n@.$K\<:GT$9$k\>l9g$N%(%i!\<$rD4$Y$k$H!V$3$N%3%^%s%I$r\<B9T$9$k$N$K==J,$J5-210h$,$"$j$^$;$s!#!W$H8@$o$l$F$$$^$9!#e(B  
e$B$^$?e(BSEGVe$B$,H/@8$9$k$N$O@8@.$K\<:GT$7$?\>l9g$K%A%'%C%/$,F~$C$F$\*$i$:L58z$J%O%s%I%k$X@Z$jBX$($h$&$H$9$k$+$i$G$9!#e(B  
e$B!Je(B SwitchToFiber(0); e$B$r\<B9T$7$FMn$A$k!#!Ke(B

e$B$3$l$i$r2r\>C$9$k$?$a$K0J2\<$N%Q%C%A$rEv$F$?$H$3$m:#$OF0$$$F$$$^$9$,!“e(BFibere$B$NM}O@E\*$J@)8B?t$KBP$7$F\<B:]$K@8@.$G$-$F$k?t$,9g$C$F$k$N$+$o$+$i$:!”:,K\E\*$J2r7h$K$J$C$F$k$N$+$o$+$j$^$;$s!#e(B

# Index: cont.c

— cont.c (e$B%j%S%8%g%se(B 27685)  
+++ cont.c (e$B:n6H%3%T!\<e(B)  
@@ -548,6 +548,14 @@

#ifdef \_WIN32  
fib-\>fib\_handle = CreateFiberEx(size - 1, size, 0, fiber\_entry,  
NULL);

- if(fib-\>fib\_handle==NULL){
- 

```
 //try release unnecessary fibers & retry create

```

- 

```
 rb_gc();

```

- 

```
 fib->fib_handle = CreateFiberEx(size - 1, size, 0, fiber_entry, 

```

NULL);

- 

```
 if(fib->fib_handle==NULL){

```

- 

```
  rb_raise(rb_eFiberError, "can't create fiber");

```

- 

```
 }

```

- }  
#else /\* not WIN32 \*/  
ucontext\_t \*context = &fib-\>context;

e$B$A$J$\_$K\<j85$Ge(Bnmake  
test-alle$B$GAv$i$;$?\>l9g$G$Oe(B1300e$B8D$+$ie(B1600e$B8D\<e@8@.$9$k$?$S$KNN0h$,B-$j$J$$$H8@$o$l$F$k$h$&$J$N$G$9$,!"e(B  
e$B$3$l$O2?$,1F6A$7$F$-$^$k$s$G$7$g$&$+!)e(B

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [May 9, 2010, 9:37am UTC](https://www.ruby-forum.com/t/bug-3262-cant-create-fiber-segv-in-windows/188270/2 "2010-05-09T09:37:44Z")

</div>

e$B%A%1%C%He(B #3262 e$B$,99?7$5$l$^$7$?!#e(B (by Nobuyoshi N.)

e$B%9%F!\<%?%9e(B Opene$B$+$ie(BClosede$B$KJQ99e(B  
e$B?JD=e(B % 0e$B$+$ie(B100e$B$KJQ99e(B

This issue was solved with changeset r27701.  
masaya, thank you for reporting this issue.  
Your contribution to Ruby is greatly appreciated.  
May Ruby be with you.

* * *

[http://redmine.ruby-lang.org/issues/show/3262](http://redmine.ruby-lang.org/issues/show/3262)
