[#4858] Build fails on OSX Tiger 10.4 — noreply@...

Bugs item #1883, was opened at 2005-05-06 14:55

21 messages 2005/05/06
[#4862] Re: [ ruby-Bugs-1883 ] Build fails on OSX Tiger 10.4 — Yukihiro Matsumoto <matz@...> 2005/05/07

Hi,

[#4865] Re: [ ruby-Bugs-1883 ] Build fails on OSX Tiger 10.4 — Ryan Davis <ryand-ruby@...> 2005/05/07

[#4868] Re: [ ruby-Bugs-1883 ] Build fails on OSX Tiger 10.4 — nobu.nokada@... 2005/05/07

Hi,

[#5053] Re: [ ruby-Bugs-1883 ] Build fails on OSX Tiger 10.4 — Shugo Maeda <shugo@...> 2005/05/19

Hi,

[#5056] Re: [ ruby-Bugs-1883 ] Build fails on OSX Tiger 10.4 — Mark Hubbart <discordantus@...> 2005/05/19

On 5/19/05, Shugo Maeda <shugo@ruby-lang.org> wrote:

[#4874] - Need to reduce Ruby Sources to the Minimal — Ilias Lazaridis <ilias@...>

Hello all,

31 messages 2005/05/10
[#4879] Re: [THIN] - Need to reduce Ruby Sources to the Minimal — Pit Capitain <pit@...> 2005/05/11

Ilias Lazaridis schrieb:

[#4883] Re: [THIN] - Need to reduce Ruby Sources to the Minimal — Ilias Lazaridis <ilias@...> 2005/05/12

Pit Capitain wrote:

[#4884] Re: [THIN] - Need to reduce Ruby Sources to the Minimal — Ryan Davis <ryand-ruby@...> 2005/05/12

[#4888] Re: [THIN] - Need to reduce Ruby Sources to the Minimal — Ilias Lazaridis <ilias@...> 2005/05/12

Ryan Davis wrote:

[#4889] Re: [THIN] - Need to reduce Ruby Sources to the Minimal — ES <ruby-ml@...> 2005/05/12

[#4890] Re: [THIN] - Need to reduce Ruby Sources to the Minimal — Ilias Lazaridis <ilias@...> 2005/05/12

ES wrote:

[#4891] Re: [THIN] - Need to reduce Ruby Sources to the Minimal — Alexander Kellett <ruby-lists@...> 2005/05/12

On May 12, 2005, at 3:13 PM, Ilias Lazaridis wrote:

[#4911] Pointless argc check in Array#select — noreply@...

Patches item #1900, was opened at 2005-05-12 09:33

11 messages 2005/05/12

[#4919] - Hierarchical/Modular Directory Structure — Ilias Lazaridis <ilias@...>

The source-code structure should be simplified, lowering barriers for

20 messages 2005/05/12

Re: shim for select() for VMS & general porting questions

From: BG - Ben Armstrong <BArmstrong@...>
Date: 2005-05-26 18:50:17 UTC
List: ruby-core #5105
Nobu,

Earlier, I wrote:
> Since your new patch didn't substantially change, I expect it 
> will have the same bug.  I unfortunately do not yet have a 
> minimal failing test case, but I'll try to make do with what 
> we have so far to figure out what's happening here.

We set out looking for a minimal failing case for this bug and ended up
triggering another deadlock detection trap using your first select()
patch:

require 'socket'

class Server

    def initialize(hostname='DYMA',port=8080,&body)
        server=TCPServer.new(hostname,port)
        threads=[]
        while session=server.accept
             threads << Thread.new(session){|session|
body.call(session);session.close}
        end
        threads.each{|thread| thread.join}
    end    
end

def fileIO
    gets
    gets
end

Server.new do |session|
    session.print "HTTP/1.1 200/OK\r\nContenttype:text/html\r\n\r\n"+
        "<html><body><h1>#{fileIO}</h1></body></html>\r\n"
end

If we do other kinds of IO in fileIO (p, print, or just one gets) the
deadlock isn't triggered.  But if we do "gets" twice, the deadlock is
triggered on the second gets.

To test, just run the tcpserver, point a browser at it, and give the
first "gets" in the server a line of input:

A:BG> ruby tcpserver.rb
test
deadlock 0x1cc1e8: sleep:F(3) (main) - tcpserver.rb:29
deadlock 0x1bc030: sleep:F(0)  - tcpserver.rb:65
tcpserver.rb:65:in `initialize': Thread(0x1bc030): deadlock (fatal)
        from tcpserver.rb:77:in `new'
        from tcpserver.rb:77

So while I'm not any closer to understanding what's going on with the
select() wrapper, we do have a few more interesting data points in the
investigation.

Ben

In This Thread

Prev Next