[#21709] [Feature #1084] request for: Array#sort_by! — Radosław Bułat <redmine@...>

Feature #1084: request for: Array#sort_by!

15 messages 2009/02/01

[#21714] [BUG:trunk] Got the error message, after run 'gem install --test'. — Takao Kouji <kouji@...7.net>

Hi, Ryan.

14 messages 2009/02/01

[#21715] New documentation system! — Luiz Vitor Martinez Cardoso <grabber@...>

People,

35 messages 2009/02/01
[#21716] Re: New documentation system! — Austin Ziegler <halostatue@...> 2009/02/01

On Sun, Feb 1, 2009 at 10:51 AM, Luiz Vitor Martinez Cardoso

[#21717] Re: New documentation system! — znmeb@... 2009/02/01

Quoting Austin Ziegler <halostatue@gmail.com>:

[#21718] Re: New documentation system! — Luiz Vitor Martinez Cardoso <grabber@...> 2009/02/01

People,

[#21719] Re: New documentation system! — Yehuda Katz <wycats@...> 2009/02/01

One project that has been in the works for a while and shows a lot of

[#21731] Re: New documentation system! — Charles Oliver Nutter <charles.nutter@...> 2009/02/02

I'd love to see a documentation system similar to what python has, and

[#21746] Re: New documentation system! — Luiz Vitor Martinez Cardoso <grabber@...> 2009/02/02

People,

[#21754] Re: New documentation system! — Charles Oliver Nutter <charles.nutter@...> 2009/02/02

Luiz Vitor Martinez Cardoso wrote:

[#21802] [Bug #1098] Unclear encoding error: #<Encoding::UndefinedConversionError: "\xE2\x96\x80" from UTF-8 to ISO-8859-1 in conversion from CP850 to ISO-8859-1> — Tom Link <redmine@...>

Bug #1098: Unclear encoding error: #<Encoding::UndefinedConversionError: "\xE2\x96\x80" from UTF-8 to ISO-8859-1 in conversion from CP850 to ISO-8859-1>

6 messages 2009/02/03

[#21893] [Feature #1122] request for: Object#try — Narihiro Nakamura <redmine@...>

Feature #1122: request for: Object#try

30 messages 2009/02/06
[#21907] Re: [Feature #1122] request for: Object#try — Yusuke ENDOH <mame@...> 2009/02/07

Hi,

[#21909] Re: [Feature #1122] request for: Object#try — "David A. Black" <dblack@...> 2009/02/07

Hi --

[#21923] Re: [Feature #1122] request for: Object#try — Yusuke ENDOH <mame@...> 2009/02/08

Hi,

[#21932] Re: [Feature #1122] request for: Object#try — "David A. Black" <dblack@...> 2009/02/08

Hi--

[#21968] Re: [Feature #1122] request for: Object#try — Michal Babej <calcifer@...> 2009/02/10

Hi,

[#21972] Re: [Feature #1122] request for: Object#try — "David A. Black" <dblack@...> 2009/02/10

Hi --

[#21973] Re: [Feature #1122] request for: Object#try — =?ISO-8859-2?Q?Rados=B3aw_Bu=B3at?= <radek.bulat@...> 2009/02/11

Providing new syntax change for such a small thing is IMHO

[#22165] Re: [Feature #1122] request for: Object#try — Yehuda Katz <wycats@...> 2009/02/15

Count me in as a +1 on foo.?bar(baz). I'm on the fence about whether ?bar

[#22177] Re: [Feature #1122] request for: Object#try — Daniel Luz <dev@...> 2009/02/16

2009/2/15 Yehuda Katz <wycats@gmail.com>:

[#22219] Re: [Feature #1122] request for: Object#try — Roger Pack <rogerdpack@...> 2009/02/18

> IMHO, foo.?bar should behave as "call-except-if-nil". Not only it

[#22226] Re: [Feature #1122] request for: Object#try — =?ISO-8859-2?Q?Rados=B3aw_Bu=B3at?= <radek.bulat@...> 2009/02/18

On Wed, Feb 18, 2009 at 6:29 PM, Roger Pack <rogerdpack@gmail.com> wrote:

[#22230] Re: [Feature #1122] request for: Object#try — Roger Pack <rogerdpack@...> 2009/02/18

> Then how it is different from

[#21903] [Bug #1127] error while compiling Win32API under MinGW — Luis Lavena <redmine@...>

Bug #1127: error while compiling Win32API under MinGW

15 messages 2009/02/07

[#21937] [Bug #1131] String#unpack("V") does not work correctly is linux on s390x — Ittay Dror <redmine@...>

Bug #1131: String#unpack("V") does not work correctly is linux on s390x

13 messages 2009/02/08

[#21946] New hash : syntax for the 1.8 series? — Brent Roman <brent@...>

36 messages 2009/02/10
[#21949] Re: New hash : syntax for the 1.8 series? — "Akinori MUSHA" <knu@...> 2009/02/10

At Tue, 10 Feb 2009 16:30:55 +0900,

[#21952] Re: New hash : syntax for the 1.8 series? — "David A. Black" <dblack@...> 2009/02/10

Hi --

[#21963] Re: New hash : syntax for the 1.8 series? — "Akinori MUSHA" <knu@...> 2009/02/10

At Tue, 10 Feb 2009 22:32:19 +0900,

[#21977] Re: New hash : syntax for the 1.8 series? — Evan Phoenix <evan@...> 2009/02/11

[#21980] Re: New hash : syntax for the 1.8 series? — Yukihiro Matsumoto <matz@...> 2009/02/11

Hi,

[#21997] 1.8.7 Specifics — John Barnette <jbarnette@...>

There's a fair amount of talk lately about release management and

80 messages 2009/02/11
[#21999] Re: 1.8.7 Specifics — Luis Lavena <luislavena@...> 2009/02/11

On Wed, Feb 11, 2009 at 4:42 PM, John Barnette <jbarnette@gmail.com> wrote:

[#22004] Re: 1.8.7 Specifics — Charles Oliver Nutter <charles.nutter@...> 2009/02/11

Luis Lavena wrote:

[#22005] Re: 1.8.7 Specifics — Luis Lavena <luislavena@...> 2009/02/11

On Wed, Feb 11, 2009 at 5:55 PM, Charles Oliver Nutter

[#22007] Re: 1.8.7 Specifics — Pit Capitain <pit.capitain@...> 2009/02/11

2009/2/11 Luis Lavena <luislavena@gmail.com>:

[#22008] Re: 1.8.7 Specifics — Yukihiro Matsumoto <matz@...> 2009/02/11

Hi,

[#22024] Re: 1.8.7 Specifics — Brent Roman <brent@...> 2009/02/12

[#22025] Re: 1.8.7 Specifics — Yukihiro Matsumoto <matz@...> 2009/02/12

Hi,

[#22028] Re: 1.8.7 Specifics — Ezra Zygmuntowicz <ezmobius@...> 2009/02/12

[#22048] Re: 1.8.7 Specifics — Urabe Shyouhei <shyouhei@...> 2009/02/13

Hello Ezra,

[#22049] Re: 1.8.7 Specifics — Ezra Zygmuntowicz <ezmobius@...> 2009/02/13

[#22051] A short memorandum (Re: 1.8.7 Specifics) — Urabe Shyouhei <shyouhei@...> 2009/02/13

Let me leave a memo to remember issues I can think of.

[#22054] Re: A short memorandum (Re: 1.8.7 Specifics) — Charles Oliver Nutter <charles.nutter@...> 2009/02/13

Urabe Shyouhei wrote:

[#22055] Re: A short memorandum (Re: 1.8.7 Specifics) — Charles Oliver Nutter <charles.nutter@...> 2009/02/13

Charles Oliver Nutter wrote:

[#22079] Re: A short memorandum (Re: 1.8.7 Specifics) — Eero Saynatkari <ruby-ml@...> 2009/02/14

Excerpts from Headius: Charles Oliver Nutter's message of Sat Feb 14 00:53:17 +0200 2009:

[#22091] Re: A short memorandum (Re: 1.8.7 Specifics) — Charles Oliver Nutter <charles.nutter@...> 2009/02/14

Eero Saynatkari wrote:

[#22101] Re: A short memorandum (Re: 1.8.7 Specifics) — Urabe Shyouhei <shyouhei@...> 2009/02/14

Charles Oliver Nutter wrote:

[#22107] Re: A short memorandum (Re: 1.8.7 Specifics) — Ezra Zygmuntowicz <ezmobius@...> 2009/02/14

[#22123] Re: A short memorandum (Re: 1.8.7 Specifics) — Urabe Shyouhei <shyouhei@...> 2009/02/14

Ezra Zygmuntowicz wrote:

[#22128] Re: A short memorandum (Re: 1.8.7 Specifics) — Nobuyoshi Nakada <nobu@...> 2009/02/15

Hi,

[#22132] Re: A short memorandum (Re: 1.8.7 Specifics) — Brent Roman <brent@...> 2009/02/15

[#22139] Re: A short memorandum (Re: 1.8.7 Specifics) — Charles Oliver Nutter <charles.nutter@...> 2009/02/15

Brent Roman wrote:

[#22145] Re: A short memorandum (Re: 1.8.7 Specifics) — Brent Roman <brent@...> 2009/02/15

[#22152] Re: A short memorandum (Re: 1.8.7 Specifics) — Charles Oliver Nutter <charles.nutter@...> 2009/02/15

Brent Roman wrote:

[#22065] Dir.glob and duplicates? — Charles Oliver Nutter <charles.nutter@...>

I was fixing a JRuby Dir.glob spec failure where we produced a duplicate

28 messages 2009/02/14
[#22066] Re: Dir.glob and duplicates? — Tanaka Akira <akr@...> 2009/02/14

In article <4996749D.7050009@sun.com>,

[#22116] [Bug #1162] Build Assertion Failure with VC+++ - Incorrect flushing of stdout/stderr — Charlie Savage <redmine@...>

Bug #1162: Build Assertion Failure with VC+++ - Incorrect flushing of stdout/stderr

11 messages 2009/02/14

[#22206] ruby-1.9.1-p0 build failure on i586 — "Jeroen van Meeuwen (Fedora Project)" <kanarip@...>

Hi there,

12 messages 2009/02/18

[#22212] [Bug #1172] [sparc] *** glibc detected *** ruby1.9: free(): invalid pointer: 0xf7ef6a54 *** — Lucas Nussbaum <redmine@...>

Bug #1172: [sparc] *** glibc detected *** ruby1.9: free(): invalid pointer: 0xf7ef6a54 ***

12 messages 2009/02/18

[#22246] YASNP (Yet Another Selector Namespace Proposal) — Yehuda Katz <wycats@...>

The idea is to make selectors like optional versions of Python imports.

137 messages 2009/02/19
[#22251] Re: YASNP (Yet Another Selector Namespace Proposal) — Charles Oliver Nutter <charles.nutter@...> 2009/02/19

Yehuda Katz wrote:

[#22252] Re: YASNP (Yet Another Selector Namespace Proposal) — Charles Oliver Nutter <charles.nutter@...> 2009/02/19

Charles Oliver Nutter wrote:

[#22262] Re: YASNP (Yet Another Selector Namespace Proposal) — Florian Gilcher <flo@...> 2009/02/19

[#22267] Re: YASNP (Yet Another Selector Namespace Proposal) — Yehuda Katz <wycats@...> 2009/02/19

2009/2/19 Florian Gilcher <flo@andersground.net>

[#22285] Re: YASNP (Yet Another Selector Namespace Proposal) — Florian Gilcher <flo@...> 2009/02/20

[#22295] Re: YASNP (Yet Another Selector Namespace Proposal) — Yehuda Katz <wycats@...> 2009/02/20

Ok, based on a bunch of comments I got from Aaron Patterson and John

[#22316] Re: YASNP (Yet Another Selector Namespace Proposal) — Jim Weirich <jim.weirich@...> 2009/02/21

On Feb 20, 2009, at 8:39 AM, Yehuda Katz wrote:

[#22322] Re: YASNP (Yet Another Selector Namespace Proposal) — Aaron Patterson <aaron@...> 2009/02/22

On Sun, Feb 22, 2009 at 04:34:18AM +0900, Jim Weirich wrote:

[#22330] Re: YASNP (Yet Another Selector Namespace Proposal) — Eero Saynatkari <ruby-ml@...> 2009/02/22

Excerpts from Aaron Patterson's message of Sun Feb 22 04:35:41 +0200 2009:

[#22409] Re: YASNP (Yet Another Selector Namespace Proposal) — Yukihiro Matsumoto <matz@...> 2009/02/24

Hi,

[#22427] Re: YASNP (Yet Another Selector Namespace Proposal) — Brian Ford <brixen@...> 2009/02/24

On Feb 24, 2:07=A0am, Yukihiro Matsumoto <m...@ruby-lang.org> wrote:

[#22433] Re: YASNP (Yet Another Selector Namespace Proposal) — Eero Saynatkari <ruby-ml@...> 2009/02/24

Excerpts from brixen's message of Wed Feb 25 00:04:34 +0200 2009:

[#22435] Re: YASNP (Yet Another Selector Namespace Proposal) — Yehuda Katz <wycats@...> 2009/02/24

2009/2/24 Eero Saynatkari <ruby-ml@kittensoft.org>

[#22441] Re: YASNP (Yet Another Selector Namespace Proposal) — Brian Ford <brixen@...> 2009/02/25

On Feb 24, 3:17=A0pm, Yehuda Katz <wyc...@gmail.com> wrote:

[#22442] Re: YASNP (Yet Another Selector Namespace Proposal) — Yehuda Katz <wycats@...> 2009/02/25

2009/2/24 Brian Ford <brixen@gmail.com>

[#22446] Re: YASNP (Yet Another Selector Namespace Proposal) — Jim Deville <jdeville@...> 2009/02/25

I agree that this will be used in ways other than just framework creators. =

[#22448] Re: YASNP (Yet Another Selector Namespace Proposal) — Jim Weirich <jim.weirich@...> 2009/02/25

[#22449] Re: YASNP (Yet Another Selector Namespace Proposal) — Jim Deville <jdeville@...> 2009/02/25

[#22450] Re: YASNP (Yet Another Selector Namespace Proposal) — Yehuda Katz <wycats@...> 2009/02/25

I'm also in favor of discussing this, but all I hear so far in opposition is

[#22460] Re: YASNP (Yet Another Selector Namespace Proposal) — Florian Gilcher <flo@...> 2009/02/25

[#22471] Re: YASNP (Yet Another Selector Namespace Proposal) — Brian Ford <brixen@...> 2009/02/25

On Feb 24, 9:17=A0pm, Yehuda Katz <wyc...@gmail.com> wrote:

[#22490] Re: YASNP (Yet Another Selector Namespace Proposal) — Ola Bini <ola.bini@...> 2009/02/25

Yehuda Katz wrote:

[#22495] Re: YASNP (Yet Another Selector Namespace Proposal) — Yukihiro Matsumoto <matz@...> 2009/02/25

Hi,

[#22506] Re: YASNP (Yet Another Selector Namespace Proposal) — Ola Bini <ola.bini@...> 2009/02/25

Yukihiro Matsumoto wrote:

[#22510] Re: YASNP (Yet Another Selector Namespace Proposal) — Charles Oliver Nutter <charles.nutter@...> 2009/02/25

Ola Bini wrote:

[#22514] Re: YASNP (Yet Another Selector Namespace Proposal) — Ola Bini <ola.bini@...> 2009/02/25

Charles Oliver Nutter wrote:

[#22521] Re: YASNP (Yet Another Selector Namespace Proposal) — Charles Oliver Nutter <charles.nutter@...> 2009/02/25

Ola Bini wrote:

[#22522] Re: YASNP (Yet Another Selector Namespace Proposal) — Gary Wright <gwtmp01@...> 2009/02/25

[#22523] Re: YASNP (Yet Another Selector Namespace Proposal) — Yehuda Katz <wycats@...> 2009/02/25

2009/2/25 Gary Wright <gwtmp01@mac.com>

[#22501] Re: YASNP (Yet Another Selector Namespace Proposal) — Jim Weirich <jim.weirich@...> 2009/02/25

[#22325] suggestions for float — Roger Pack <rogerdpack@...>

Floating point rounding errors are common and "annoying"

20 messages 2009/02/22
[#22595] Re: suggestions for float — Roger Pack <rogerdpack@...> 2009/02/28

On Sat, Feb 21, 2009 at 11:59 PM, Roger Pack <rogerdpack@gmail.com> wrote:

[#22621] Re: suggestions for float — Yukihiro Matsumoto <matz@...> 2009/03/02

Hi,

[#22624] Re: suggestions for float — Eero Saynatkari <ruby-ml@...> 2009/03/02

Excerpts from Yukihiro Matsumoto's message of Mon Mar 02 12:46:27 +0200 2009:

[#22629] Re: suggestions for float — Kurt Stephens <kurt@...> 2009/03/02
[#22631] Re: suggestions for float — Eero Saynatkari <ruby-ml@...> 2009/03/02

Excerpts from Kurt Stephens's message of Mon Mar 02 20:27:09 +0200 2009:

[#22336] Floats are freezeable and taintable? — Charles Oliver Nutter <charles.nutter@...>

In adding an optimization for Float I realized that Float objects are

13 messages 2009/02/22

[#22353] [Bug #1195] String#% does not include prefix before zero value for # versions of numeric formats — Charles Nutter <redmine@...>

Bug #1195: String#% does not include prefix before zero value for # versions of numeric formats

10 messages 2009/02/23
[#22397] Re: [Bug #1195] String#% does not include prefix before zero value for # versions of numeric formats — Tanaka Akira <akr@...> 2009/02/24

In article <49a25ec0ce233_84c7e8c1f8909a@redmine.ruby-lang.org>,

[#22543] [Feature #1218] New method needed to set and get the current recursion limit — Conrad Taylor <redmine@...>

Feature #1218: New method needed to set and get the current recursion limit

12 messages 2009/02/26

[#22584] MBARI8 patch fixes bugs caused by incorrect volatile variable declarations — Brent Roman <brent@...>

16 messages 2009/02/28
[#22587] Re: MBARI8 patch fixes bugs caused by incorrect volatile variable declarations — Nobuyoshi Nakada <nobu@...> 2009/02/28

Hi,

[#22590] Re: MBARI8 patch fixes bugs caused by incorrect volatile variable declarations — Tanaka Akira <akr@...> 2009/02/28

In article <49a9024b.0e0d6e0a.11f5.ffffee2f@mx.google.com>,

[#22599] Re: MBARI8 patch fixes bugs caused by incorrect volatile variable declarations — Brent Roman <brent@...> 2009/02/28

[#22667] Re: MBARI8 patch fixes bugs caused by incorrect volatile variable declarations — Michael King <kingmt@...> 2009/03/04

I am having an issue with the MBARI patches. In our app the test suite has a

[ruby-core:22292] Re: [Bug #1181] [BUG] thread_free: keeping_mutexes must be NULL

From: Yusuke ENDOH <mame@...>
Date: 2009-02-20 12:09:38 UTC
List: ruby-core #22292
Hi,

2009/2/20 Yusuke ENDOH <mame@tsg.ne.jp>:
> HI,
>
> 2009/2/20 Chris Schlaeger <redmine@ruby-lang.org>:
>> I've tried to run taskjuggler with ruby 1.9 CVS from today and got inter=
nal error messages. The applications runs fine with ruby 1.8.7. I tried to =
cut it down to a smaller test case, but it seems like you need the full app=
 to trigger the problem. When run in uniprocessor mode, it works fine even =
with 1.9. But when running in SMP mode (-c 2 or larger number) it multithre=
ads and forks to run on muliple CPUs. The problem seems to be thread relate=
d as the error message indicates. The locations in the ruby code seem to be=
 random and change with every run. Here are the steps to reproduce the prob=
lem:
>>
>> 1. Download the taskjuggler gem: http://www.taskjuggler.org/tj3/taskjugg=
ler-0.0.1.gem and install it
>> 2. change to the 'examples' that comes with the gem or download acso.tjp=
 from http://www.taskjuggler.org/tj3/examples/acso.tjp
>> 3. tj3 -c 2 acso.tjp
>
>
> Thank you for your detailed report!
> I confirmed the issue.  I'll try to tackle it tonight.


The following patch should fix the issue.  Could you try?


Index: bootstraptest/test_thread.rb
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- bootstraptest/test_thread.rb	(revision 22466)
+++ bootstraptest/test_thread.rb	(working copy)
@@ -216,6 +216,18 @@
   end
 }

+assert_equal 'ok', %{
+  open("zzz.rb", "w") do |f|
+    f.puts <<-END
+      Thread.new { fork { GC.start } }.join
+      pid, status =3D Process.wait2
+      $result =3D status.success? ? :ok : :ng
+    END
+  end
+  require "zzz.rb"
+  $result
+}
+
 assert_finish 3, %{
   th =3D Thread.new {sleep 2}
   th.join(1)
Index: thread.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- thread.c	(revision 22466)
+++ thread.c	(working copy)
@@ -291,7 +291,7 @@
     struct rb_mutex_struct *next_mutex;
 } mutex_t;

-static void rb_mutex_unlock_all(mutex_t *mutex);
+static void rb_mutex_unlock_all(mutex_t *mutex, rb_thread_t *th);

 void
 rb_thread_terminate_all(void)
@@ -305,7 +305,7 @@

     /* unlock all locking mutexes */
     if (th->keeping_mutexes) {
-	rb_mutex_unlock_all(th->keeping_mutexes);
+	rb_mutex_unlock_all(th->keeping_mutexes, GET_THREAD());
     }

     thread_debug("rb_thread_terminate_all (main thread: %p)\n", (void *)th=
);
@@ -339,6 +339,12 @@
 thread_cleanup_func(void *th_ptr)
 {
     rb_thread_t *th =3D th_ptr;
+
+    /* unlock all locking mutexes */
+    if (th->keeping_mutexes) {
+	rb_mutex_unlock_all(th->keeping_mutexes, th);
+	th->keeping_mutexes =3D NULL;
+    }
     thread_cleanup_func_before_exec(th_ptr);
     native_thread_destroy(th);
 }
@@ -434,12 +440,6 @@
 		   (void *)th, th->locking_mutex);
 	}

-	/* unlock all locking mutexes */
-	if (th->keeping_mutexes) {
-	    rb_mutex_unlock_all(th->keeping_mutexes);
-	    th->keeping_mutexes =3D NULL;
-	}
-
 	/* delete self other than main thread from living_threads */
 	if (th !=3D main_th) {
 	    st_delete_wrap(th->vm->living_threads, th->self);
@@ -457,7 +457,6 @@
 	    }
 	    join_th =3D join_th->join_list_next;
 	}
-	if (th !=3D main_th) rb_check_deadlock(th->vm);

 	if (!th->root_fiber) {
 	    rb_thread_recycle_stack_release(th->stack);
@@ -465,6 +464,7 @@
 	}
     }
     thread_cleanup_func(th);
+    if (th !=3D main_th) rb_check_deadlock(th->vm);
     if (th->vm->main_thread =3D=3D th) {
 	ruby_cleanup(state);
     }
@@ -3146,7 +3146,7 @@
 }

 static void
-rb_mutex_unlock_all(mutex_t *mutexes)
+rb_mutex_unlock_all(mutex_t *mutexes, rb_thread_t *th)
 {
     const char *err;
     mutex_t *mutex;
@@ -3156,7 +3156,7 @@
 	/* rb_warn("mutex #<%p> remains to be locked by terminated thread",
 		mutexes); */
 	mutexes =3D mutex->next_mutex;
-	err =3D mutex_unlock(mutex, GET_THREAD());
+	err =3D mutex_unlock(mutex, th);
 	if (err) rb_bug("invalid keeping_mutexes: %s", err);
     }
 }

--=20
Yusuke ENDOH <mame@tsg.ne.jp>

In This Thread