Project

General

Profile

Actions

Bug #2359

closed

test_threads.rb:test_list

Added by docwhat (Christian Höltje) over 14 years ago. Updated almost 13 years ago.

Status:
Closed
Target version:
-
ruby -v:
ruby 1.9.1p243 (2009-07-16 revision 24175) [sparc-solaris2.8]
Backport:
[ruby-core:26694]

Description

=begin
In test/ruby/test_threads.rb:
test_list errors or hangs on Sparc64 Solaris.

I think the problem is that when using native threads, loop{} starves the other threads. I can "fix" running the internal eval'd code by changing the loop{} to be loop{puts 'fubar'}. But that only works if it sends to the terminal (the io causes the thread to let go). Since it's being captured by assert_in_out_err() that doesn't really work.

A work around is to change loop{} to loop{Thread.pass} but I don't know if this still tests what it is supposed to test.
=end


Related issues 1 (0 open1 closed)

Related to Ruby master - Bug #3890: ビジースレッドがあるとコンテキストスイッチが起きづらくなるClosedko1 (Koichi Sasada)Actions
Actions #1

Updated by docwhat (Christian Höltje) over 14 years ago

=begin
I forgot to add that this test works in Linux 32 and 64.
=end

Actions #2

Updated by ujihisa (Tatsuhiro Ujihisa) over 14 years ago

  • Status changed from Open to Assigned
  • Assignee set to nobu (Nobuyoshi Nakada)

=begin

=end

Actions #3

Updated by mame (Yusuke Endoh) almost 14 years ago

  • Priority changed from Normal to 3

=begin
Hi,

Sorry for late reply. I had trouble setting up Sparc Solaris.
I managed to prepare it, but I found the test worked for me.

$ ./ruby test/ruby/test_thread.rb
Loaded suite test/ruby/test_thread
Started
................................
Finished in 16.655716 seconds.

32 tests, 85 assertions, 0 failures, 0 errors, 0 skips

Test run options: --seed 60800

$ file ruby
ruby: ELF 64-bit MSB executable SPARCV9 Version 1, dynamically linked, not stripped

$ uname -a
SunOS blade1000dev.home.yugui.jp 5.10 Generic_142900-03 sun4u sparc SUNW,Sun-Blade-1000

I guess there may be some race condition, but we can't debug
unreproducible issue. So the priority is set to Low.
Contribution (debugging the issue and writing a patch) is
wanted.

--
Yusuke Endoh
=end

Actions #4

Updated by ko1 (Koichi Sasada) over 13 years ago

  • Status changed from Assigned to Closed
  • % Done changed from 0 to 100

=begin
This issue was solved with changeset r29956.
Christian, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.

=end

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0