Bugs: Browse | Submit New | Admin

[#19628] slave] "too long unix socket path" on Leopard

Date:
2008-04-18 10:46
Priority:
3
Submitted By:
John Mettraux (jmettraux)
Assigned To:
ara howard (ahoward)
Category:
None
State:
Open
Summary:
slave] "too long unix socket path" on Leopard

Detailed description
On MacOSx Leopard 10.5.2

---8<---
require 'slave'

class Server
    def do_it
        "done"
    end
end

slave = Slave.new(:debug => true) { Server.new }
o = slave.object

puts o.do_it

slave.shutdown
--->8---


produces : 

too long unix socket path (max: 103bytes) (ArgumentError)
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/drb/unix.rb:35:in `initialize'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/drb/unix.rb:35:in `open'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/drb/unix.rb:35:in `open_server'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/drb/drb.rb:759:in `open_server'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/drb/drb.rb:757:in `each'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/drb/drb.rb:757:in `open_server'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/drb/drb.rb:765:in `open_server'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/drb/drb.rb:1339:in `initialize'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/drb/drb.rb:1627:in `new'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/drb/drb.rb:1627:in `start_service'
/Library/Ruby/Gems/1.8/gems/slave-1.2.1/lib/slave.rb:396:in `initialize'



The URI produced look like :

"drbunix:///var/folders/4n/4nXX-KnsHsKYV+CrZq7GGE+++TI/-Tmp-/slave_server_2481650_22612_22613_0_0.136545297001006&q
uot;



Cropping the URI to something shorter than 103 does fix the problem.



Thanks for this nice libray, cheers,

John

Add A Comment: Notepad

Please login


Followup

Message
Date: 2009-12-22 02:55
Sender: A A

The UNIX socket path name is too long. As defined by
"/usr/include/sys/un.h", line 50, the path name can
be only 103 characters.

When we encountered the issue, we eventually just moved the location
of the socket to /tmp.

Attached Files:

Name Description Download
No Files Currently Attached

Changes:

Field Old Value Date By
assigned_tonone2009-02-17 22:36zenspider
summaryslave] "too long unix socket path" on Leopard2009-02-17 22:36zenspider