Webrick, ldap segfault on Linux

Hi all,

Although this is happening in a Rails app, this is mainly a Ruby issue.
I hit this issue on Solaris 10 with 1.8.2 but it went away with 1.8.4.
However, when I moved the app over to a Linux box (kernel 2.6.8), it
reared its ugly head again, even when using Ruby 1.8.4. I tried using a
Ruby built with and without --enable-pthread. Didn’t make a difference
either way.

./app/models/user.rb:64: [BUG] Segmentation fault
ruby 1.8.4 (2005-12-24) [i686-linux]

Aborted

user.rb (from /app/models)

require “ldap”
require “timeout”

class User < A

def self.login(cuid, password)
ldap_server = “ldapt.foo.com
bool = true

  if ENV["RAILS_ENV"].downcase == "production"
     ldap_server = "ldap.foo.com"
  end

  dn = "uid=#{cuid},ou=People,dc=foo,dc=bar,dc=com"

  begin
     Timeout.timeout(10){
        ldap = LDAP::Conn.new(ldap_server) # line 64
        ldap.simple_bind(dn, password)
        ldap.unbind
     }
  rescue Timeout::Error
     flash[:notice] = "Timed out"
     bool = false
  rescue LDAP::ResultError => err
     bool = false
  end

  return bool

end
end

The development log shows nothing special for the last entry:

Processing LoginController#login (for 1.2.3.4 at 2006-02-06 11:39:23)
[POST]
Parameters: {“commit”=>“Login”, “action”=>“login”,
“controller”=>“login”, “login”=>{“cuid”=>“djber
ge”, “password”=>“XXX”}}

Anyone else hit this? I can’t find the core file, otherwise I would
attach it. I could probably generate one on my desktop Solaris box with
Ruby 1.8.2 and post it if that would help. Let me know.

Regards,

Dan

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs