ruby-core

Mailing list archive

[#81492] [Ruby trunk Feature#13618] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid — normalperson@...

Issue #13618 has been reported by normalperson (Eric Wong).

12 messages 2017/06/01

[ruby-core:81802] [Ruby trunk Bug#13689] `Thread#inspect` affect Fiber switching

From: ko1@...
Date: 2017-06-28 06:18:12 UTC
List: ruby-core #81802
Issue #13689 has been reported by ko1 (Koichi Sasada).

----------------------------------------
Bug #13689: `Thread#inspect` affect Fiber switching
https://bugs.ruby-lang.org/issues/13689

* Author: ko1 (Koichi Sasada)
* Status: Open
* Priority: Normal
* Assignee: ko1 (Koichi Sasada)
* Target version: 
* ruby -v: 2.2 to 2.5
* Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN
----------------------------------------
`Thread#inspect` shows different results when Fiber is switched.
I believe it isn't intended behavior.

```
Thread.new{
  p Thread.current #=> #<Thread:0x000000000306b320@test.rb:2 run>

  Fiber.new{
    p Thread.current #=> #<Thread:0x000000000306b320@test.rb:5 run>
  }.resume
}.join
```
```

It seems from ruby 2.2 (before it, it doesn't contain location info)

```
[SCRIPT] test.rb
[DIFF] ruby 1.9.3p489 (2014-01-09 revision 44533) [i386-mswin32_110] (0.2 sec)
======================================================================
#<Thread:0x9b4358 run>
#<Fiber:0x9b42e0>
#<Thread:0x9b4358 run>
======================================================================
[DIFF] ruby 2.0.0p647 (2015-08-18 revision 51630) [x64-mswin64_110] (0.5 sec)
======================================================================
#<Thread:0x00000002f5e4f0 run>
#<Fiber:0x00000002f5e1d0>
#<Thread:0x00000002f5e4f0 run>
======================================================================
[DIFF] ruby 2.1.8p412 (2015-10-29 revision 52362) [x64-mswin64_110] (0.5 sec)
======================================================================
#<Thread:0x000000030ce560 run>
#<Fiber:0x000000030ce380>
#<Thread:0x000000030ce560 run>
======================================================================
[DIFF] ruby 2.2.7p418 (2017-01-04 revision 53222) [x64-mswin64_110] (0.5 sec)
======================================================================
#<Thread:0x000000033f5e00@test.rb:2 run>
#<Fiber:0x000000033f5ba8>
#<Thread:0x000000033f5e00@test.rb:5 run>
======================================================================
[DIFF] ruby 2.3.3p255 (2017-03-20 revision 56259) [x64-mswin64_110] (0.6 sec)
======================================================================
#<Thread:0x00000002fdaf50@test.rb:2 run>
#<Fiber:0x00000002fdad20>
#<Thread:0x00000002fdaf50@test.rb:5 run>
======================================================================
[DIFF] ruby 2.4.1p111 (2017-03-22) [x64-mswin64_110] (0.6 sec)
======================================================================
#<Thread:0x000000030e2e70@test.rb:2 run>
#<Fiber:0x000000030e2ba0>
#<Thread:0x000000030e2e70@test.rb:5 run>
======================================================================
[DIFF] ruby 2.5.0dev (2017-06-22 trunk 59112) [x64-mswin64_110] (0.2 sec)
======================================================================
#<Thread:0x0000000003092e70@test.rb:2 run>
#<Fiber:0x0000000003092ba0>
#<Thread:0x0000000003092e70@test.rb:5 run>
======================================================================
[TOTAL] 7 results (0.7 sec)
```




-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next