Forum: Ruby-core [ruby-trunk - Bug #7681][Assigned] Flip-flop test failure under MinGW

Posted by Luis Lavena (luislavena)
on 2013-01-10 20:42
(Received via mailing list)
Issue #7681 has been reported by luislavena (Luis Lavena).

----------------------------------------
Bug #7681: Flip-flop test failure under MinGW
https://bugs.ruby-lang.org/issues/7681

Author: luislavena (Luis Lavena)
Status: Assigned
Priority: High
Assignee: nobu (Nobuyoshi Nakada)
Category: test
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2013-01-11 trunk 38770) [x64-mingw32]


Hello,

Since r38747 test_shared_thread is failing under both x86 and x64 MinGW 
(GCC 4.7.2):

http://ci.rubyinstaller.org/view/All/job/ruby-trun...

http://ci.rubyinstaller.org/view/All/job/ruby-trun...

  1) Failure:
test_shared_thread(TestFlip) 
[C:/Users/Worker/Jenkins/workspace/ruby-trunk-x86-build/test/ruby/test_flip.rb:40]:
flip-flop should be separated per threads.
<[3, 4, 5]> expected but was
<[3, 4]>.
Posted by Luis Lavena (luislavena)
on 2013-01-11 23:58
(Received via mailing list)
Issue #7681 has been updated by luislavena (Luis Lavena).

Priority changed from High to Urgent

Ping?

Failed test might indicate something is not working as expected or test 
is doing something incorrectly.

This failed test is blocking automated builds that are provided to 
Windows users that want to try out Ruby 2.0 prior to the official 
release.

Not having automated builds will hit us hard as possible bugs are left 
uncovered in other platforms.

Please let me know if it is possible for you to review your change or 
someone else should be doing it.

Thank you.
----------------------------------------
Bug #7681: Flip-flop test failure under MinGW
https://bugs.ruby-lang.org/issues/7681#change-35367

Author: luislavena (Luis Lavena)
Status: Assigned
Priority: Urgent
Assignee: nobu (Nobuyoshi Nakada)
Category: test
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2013-01-11 trunk 38770) [x64-mingw32]


Hello,

Since r38747 test_shared_thread is failing under both x86 and x64 MinGW 
(GCC 4.7.2):

http://ci.rubyinstaller.org/view/All/job/ruby-trun...

http://ci.rubyinstaller.org/view/All/job/ruby-trun...

  1) Failure:
test_shared_thread(TestFlip) 
[C:/Users/Worker/Jenkins/workspace/ruby-trunk-x86-build/test/ruby/test_flip.rb:40]:
flip-flop should be separated per threads.
<[3, 4, 5]> expected but was
<[3, 4]>.
Posted by Heesob Park (phasis)
on 2013-01-15 03:34
(Received via mailing list)
Issue #7681 has been updated by phasis68 (Heesob Park).


Ping?

I found this failure occurred after win32ole test.
Requiring win32ole affects this test.
The following code returns false.

def test_shared_thread
  require 'win32ole'
  ff = proc {|n| true if n==3..n==5}
  v = 1..9
  a = true
  th = Thread.new {
    v.select {|i|
      Thread.pass while a
      ff[i].tap {a = true}
    }
  }
  v1 = v.select {|i|
    Thread.pass until a
    ff[i].tap {a = false}
  }
  v2 = th.value
  v1==v2
end

This failure is raised from ext/win32ole/lib/win32ole.rb where redefines 
Thread#initialize like this:
class Thread
  alias :org_initialize :initialize
  def initialize(*arg, &block)
    if block
      org_initialize(*arg) {
        WIN32OLE.ole_initialize
        begin
          block.call(*arg)
        ensure
          WIN32OLE.ole_uninitialize
        end
      }
    else
      org_initialize(*arg)
    end
  end
end

----------------------------------------
Bug #7681: Flip-flop test failure under MinGW
https://bugs.ruby-lang.org/issues/7681#change-35420

Author: luislavena (Luis Lavena)
Status: Assigned
Priority: Urgent
Assignee: nobu (Nobuyoshi Nakada)
Category: test
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2013-01-11 trunk 38770) [x64-mingw32]


Hello,

Since r38747 test_shared_thread is failing under both x86 and x64 MinGW 
(GCC 4.7.2):

http://ci.rubyinstaller.org/view/All/job/ruby-trun...

http://ci.rubyinstaller.org/view/All/job/ruby-trun...

  1) Failure:
test_shared_thread(TestFlip) 
[C:/Users/Worker/Jenkins/workspace/ruby-trunk-x86-build/test/ruby/test_flip.rb:40]:
flip-flop should be separated per threads.
<[3, 4, 5]> expected but was
<[3, 4]>.
Posted by Nobuyoshi Nakada (nobu)
on 2013-01-16 02:28
(Received via mailing list)
Issue #7681 has been updated by nobu (Nobuyoshi Nakada).


=begin
Seems a longstanding bug.

  $ cat bug-7681.rb
  class Bug7681 < Thread
    def initialize(*arg, &block)
      super(*arg) {yield(*arg)}
    end
  end

  $_ = '[Bug #7681]'
  p Thread.new {$_}.value
  p Bug7681.new {$_}.value

  $ ruby-1.9.2 -v bug-7681.rb
  ruby 1.9.2p323 (2012-05-21 revision 35743) [x86_64-darwin11]
  nil
  "[Bug #7681]"

  $ /usr/bin/ruby -v bug-7681.rb
  ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin11.0]
  nil
  "[Bug #7681]"

=end

----------------------------------------
Bug #7681: Flip-flop test failure under MinGW
https://bugs.ruby-lang.org/issues/7681#change-35439

Author: luislavena (Luis Lavena)
Status: Assigned
Priority: Urgent
Assignee: nobu (Nobuyoshi Nakada)
Category: test
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2013-01-11 trunk 38770) [x64-mingw32]


Hello,

Since r38747 test_shared_thread is failing under both x86 and x64 MinGW 
(GCC 4.7.2):

http://ci.rubyinstaller.org/view/All/job/ruby-trun...

http://ci.rubyinstaller.org/view/All/job/ruby-trun...

  1) Failure:
test_shared_thread(TestFlip) 
[C:/Users/Worker/Jenkins/workspace/ruby-trunk-x86-build/test/ruby/test_flip.rb:40]:
flip-flop should be separated per threads.
<[3, 4, 5]> expected but was
<[3, 4]>.
Posted by Nobuyoshi Nakada (nobu)
on 2013-01-16 10:39
(Received via mailing list)
Issue #7681 has been updated by nobu (Nobuyoshi Nakada).


Now I'm uncertain if this is a bug.

I suspect it is same as the following code.

  $ ruby -e 'class XThread;
    def initialize() @th = Thread.new{yield} end
    def value; @th.value; end;
  end' -e '$_="hoge"' -e 'p XThread.new{$_}.value'
  "hoge"

----------------------------------------
Bug #7681: Flip-flop test failure under MinGW
https://bugs.ruby-lang.org/issues/7681#change-35445

Author: luislavena (Luis Lavena)
Status: Assigned
Priority: Urgent
Assignee: nobu (Nobuyoshi Nakada)
Category: test
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2013-01-11 trunk 38770) [x64-mingw32]


Hello,

Since r38747 test_shared_thread is failing under both x86 and x64 MinGW 
(GCC 4.7.2):

http://ci.rubyinstaller.org/view/All/job/ruby-trun...

http://ci.rubyinstaller.org/view/All/job/ruby-trun...

  1) Failure:
test_shared_thread(TestFlip) 
[C:/Users/Worker/Jenkins/workspace/ruby-trunk-x86-build/test/ruby/test_flip.rb:40]:
flip-flop should be separated per threads.
<[3, 4, 5]> expected but was
<[3, 4]>.
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.