??で??? ????????のautobuildで1.8?????????て???のに???きの???? ??????と??ま??? 現象と?ては??に?反?にな???況な???gdbで横???attach?てみ?と? ??ど?????GCに突???まま帰って?なくなって??????に??ま??? と?????私では?のく???まで??追?き??てな?ので????にどの???な ??報??要そ?で??????
GC problem (?) in 1.8
on 20.06.2006 21:53
Re: GC problem (?) in 1.8
on 21.06.2006 09:17
In article <449851E1.9030302@mput.dip.jp>, URABE Shyouhei <root@mput.dip.jp> writes: > $B?tF|A0$+$iKNIt$N(Bautobuild$B$G(B1.8$B$,%?%$%`%"%&%H$7$F$$$k$N$K$*5$IU$-$NJ}$b$*(B > $B$i$l$k$H;W$$$^$9!#(B > $B8=>]$H$7$F$O40A4$KL5H?1~$K$J$k>u67$J$?$a!"(Bgdb$B$G2#$+$i(Battach$B$7$F$_$?$H$3(B > $B$m!"$I$&$d$i(BGC$B$KFMF~$7$?$^$^5"$C$F$3$J$/$J$C$F$$$k$h$&$K8+$($^$9!#(B > > $B$H$j$"$($:;d$G$O$3$N$/$i$$$^$G$7$+DI$$$-$l$F$J$$$N$G$9$,!"B>$K$I$N$h$&$J(B > $B>pJs$,I,MW$=$&$G$7$g$&$+(B? http://www.rubyist.net/~kazu/chkbuild/powerpc-darwin/ruby-1.8-pth/summary.html http://www.rubyist.net/~kazu/chkbuild/powerpc-darwin/ruby-1.8-pth/log/20060616T003305.txt.gz $B$@$H!"(Btest_process.rb $B$,2x$7$$$N$G<j$rF~$l$F$_$^$7$?$,$I$&$G(B $B$7$g$&$+!#(B
Re: GC problem (?) in 1.8
on 21.06.2006 16:01
$BKNIt$G$9!#(B Tanaka Akira wrote: > test_process.rb $B$,2x$7$$$N$G<j$rF~$l$F$_$^$7$?$,$I$&$G$7$g$&$+!#(B > 0F0E$B$K$J$j$^$7$?!#(B $B$b$&$A$g$C$HFM$C9~$s$GD4$Y$F$_$k$H!"(B % ruby-1.8 -ve' f = Process::RLIMIT_NOFILE a = Process.getrlimit f p a Process.setrlimit f, 0, a[1] b = Process.getrlimit f p b Process.setrlimit f, a[0], a[1]' ruby 1.8.5 (2006-06-21) [powerpc-darwin8.6.0] [256, 9223372036854775807] [0, 10240] -e:8:in `setrlimit': Operation not permitted - setrlimit (Errno::EPERM) from -e:9 zsh: exit 1 ruby-1.8 $B$H$+$$$C$?>u67$,H/@8$7$F$$$k$h$&$G$9!#(Brlim_max$B$,Bg$-$9$.$G(BEPERM$B$K$J$C$F(B $B$$$k$N$O$"$k0UL#@5>o$G$9$,!"(B * $B:G=i$K<h$l$F$kCM$,$*$+$7$$(B * $B$?$H$((BRLIMIT_NOFILE$B$,(B0$B$N$^$^$@$H$7$F$b(BGC$B$,;_$^$i$J$/$J$k$N$O$I$&$J$N$+(B $B$3$N$"$?$j$KLdBj$,$"$k$h$&$J5$$,$7$^$9!#(B
Re: GC problem (?) in 1.8
on 21.06.2006 21:01
In article <449950A8.2070203@mput.dip.jp>, URABE Shyouhei <root@mput.dip.jp> writes: > $B$H$+$$$C$?>u67$,H/@8$7$F$$$k$h$&$G$9!#(Brlim_max$B$,Bg$-$9$.$G(BEPERM$B$K$J$C$F(B > $B$$$k$N$O$"$k0UL#@5>o$G$9$,!"(B > * $B:G=i$K<h$l$F$kCM$,$*$+$7$$(B $B$3$C$A$O$h$/$o$+$j$^$;$s!#(B > * $B$?$H$((BRLIMIT_NOFILE$B$,(B0$B$N$^$^$@$H$7$F$b(BGC$B$,;_$^$i$J$/$J$k$N$O$I$&$J$N$+(B > $B$3$N$"$?$j$KLdBj$,$"$k$h$&$J5$$,$7$^$9!#(B $B$3$l$O(B sock_s_socketpair $B$,!"(BGC $B$rB3$1$F$$$1$P$-$C$H(B descriptor $B$,6u$/!"$H?.$8$F$$$k$+$i$G$9$M!#(B 1$B2s$G$"$-$i$a$k$J$i$3$&$G$7$g$&$+!#(B Index: ext/socket/socket.c =================================================================== RCS file: /src/ruby/ext/socket/socket.c,v retrieving revision 1.108.2.51 diff -u -p -r1.108.2.51 socket.c --- ext/socket/socket.c 17 Jun 2006 15:53:27 -0000 1.108.2.51 +++ ext/socket/socket.c 21 Jun 2006 18:58:06 -0000 @@ -2304,15 +2304,17 @@ sock_s_socketpair(klass, domain, type, p VALUE klass, domain, type, protocol; { #if defined HAVE_SOCKETPAIR - int d, t, sp[2]; + int d, t, p, sp[2]; + int ret; setup_domain_and_type(domain, &d, type, &t); - again: - if (socketpair(d, t, NUM2INT(protocol), sp) < 0) { - if (errno == EMFILE || errno == ENFILE) { - rb_gc(); - goto again; - } + p = NUM2INT(protocol); + ret = socketpair(d, t, p, sp); + if (ret < 0 && (errno == EMFILE || errno == ENFILE)) { + rb_gc(); + ret = socketpair(d, t, p, sp); + } + if (ret < 0) { rb_sys_fail("socketpair(2)"); }
Re: GC problem (?) in 1.8
on 22.06.2006 00:22
$BKNIt$G$9!#(B Tanaka Akira wrote: >> * $B:G=i$K<h$l$F$kCM$,$*$+$7$$(B >> > > $B$3$C$A$O$h$/$o$+$j$^$;$s!#(B > $B$I$&$d$i$*$+$7$$$H;W$C$?$3$NCM$O(BRLIM_INFINITY$B$N$h$&$G$9!#$H$$$&$o$1$G!"(B $BLdBjE@$O!V(Bsetrlimit(2)$B$K(B RLIMIT_INFINITY$B$rEO$9$H!"$J$s$+$X$s$JJQ49$,$+(B $B$+$C$F$7$^$&$h$&$K8+$($k!W$H$$$&E@$G$9$M!#$Y$D$K(BRuby$B8GM-$NLdBj$H$$$&$o$1(B $B$G$b$J$5$=$&$G$9!#0J2<$N$h$&$K(Bpython$B$K$bF1MM$NLdBj$,$"$k$3$H$,4QB,$G$-$^$9!#(B % python Python 2.3.5 (#1, Aug 22 2005, 22:13:23) [GCC 3.3 20030304 (Apple Computer, Inc. build 1809)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import resource >>> f = resource.RLIMIT_NOFILE >>> a = resource.getrlimit(f) >>> print a (256L, 9223372036854775807L) >>> resource.setrlimit(f, (0, a[1])) >>> b = resource.getrlimit(f) >>> print b (0L, 10240L) >>> resource.setrlimit(f, a) Traceback (most recent call last): File "<stdin>", line 1, in ? ValueError: not allowed to raise maximum limit >>> ^D %
Re: GC problem (?) in 1.8
on 23.06.2006 16:15
In article <4499C5D9.8090200@mput.dip.jp>, URABE Shyouhei <root@mput.dip.jp> writes: > $B$I$&$d$i$*$+$7$$$H;W$C$?$3$NCM$O(BRLIM_INFINITY$B$N$h$&$G$9!#$H$$$&$o$1$G!"(B > $BLdBjE@$O!V(Bsetrlimit(2)$B$K(B RLIMIT_INFINITY$B$rEO$9$H!"$J$s$+$X$s$JJQ49$,$+(B > $B$+$C$F$7$^$&$h$&$K8+$($k!W$H$$$&E@$G$9$M!#$Y$D$K(BRuby$B8GM-$NLdBj$H$$$&$o$1(B > $B$G$b$J$5$=$&$G$9!#0J2<$N$h$&$K(Bpython$B$K$bF1MM$NLdBj$,$"$k$3$H$,4QB,$G$-$^$9!#(B $B$D$$(B OpenDarwin $B$N%=!<%9$rD/$a$F$7$^$C$?$H$3$m!"(B src/xnu/bsd/kern/kern_resource.c $B$K(B case RLIMIT_NOFILE: /* * Only root can set the maxfiles limits, as it is systemwide resource */ if ( is_suser() ) { if (limp->rlim_cur > maxfiles) limp->rlim_cur = maxfiles; if (limp->rlim_max > maxfiles) limp->rlim_max = maxfiles; } else { if (limp->rlim_cur > maxfilesperproc) limp->rlim_cur = maxfilesperproc; if (limp->rlim_max > maxfilesperproc) limp->rlim_max = maxfilesperproc; } break; $B$H$$$&$h$&$J%3!<%I$,$"$j!"(Bmaxfilesperproc $B$G8!:w$9$k$H(B http://lists.apple.com/archives/macos-x-server/2004/May/msg01103.html http://discus-hamburg.cocolog-nifty.com/mac_de_oracle/2005/05/panther_de_orac_dc5e.html $B$H$+$N(B sysctl -a $B$N7k2LCf$K(B kern.maxfilesperproc = 10240 $B$H$$$&$N$,8+$i$l$^$9!#(B >>>> f = resource.RLIMIT_NOFILE >>>> a = resource.getrlimit(f) >>>> print a > (256L, 9223372036854775807L) >>>> resource.setrlimit(f, (0, a[1])) >>>> b = resource.getrlimit(f) >>>> print b > (0L, 10240L) $B$3$3$N(B 10240 $B$H4X78$"$C$?$j$7$J$$$G$7$g$&$+!#(B
