ruby-ldap icon indicating copy to clipboard operation
ruby-ldap copied to clipboard

ruby-ldap gem not work in rails3 app, but works in rails console

Open i3zhe opened this issue 12 years ago • 3 comments

I want to build a rails3 website authed with LDAP, so I chose ruby-ldap gem (not net/ldap) which we used in our old rails2 apps and works very well.

But I keep on getting weird error in rails3 app, See the codes below:

require 'ldap'
class WelcomeController < ApplicationController

  def index  
    begin
      @test = LDAP::Conn.new('10.72.64.11', 389)
    rescue LDAP::Error
      p LDAP::Error
    end  
    render :text => "ok"
  end
end 

welcome#index is my root route. Most time, the app crashes when going to LDAP::Conn.new('10.72.64.11', 389), even I tried to use "pry" to debug and track, throwing

[1] 24797 trace trap rails s

and the WEBrick server will be terminated right that time.

Sometimes it throws another type error when I use "pry" to step, #<NameError: uninitialized constant WelcomeController::LDAP>

While try it in the console, everything goes well.

    1.9.3-p194 :001 > require 'ldap'
     => true 
    1.9.3-p194 :002 > @test = LDAP::Conn.new('10.72.64.11', 389)
     => #<LDAP::Conn:0x00000101289568> 
    1.9.3-p194 :003 > 

i3zhe avatar Aug 16 '12 03:08 i3zhe

I am using rails 3.2.8

i3zhe avatar Aug 16 '12 03:08 i3zhe

I got the same error using Webrick. Using Unicorn worked though... maybe it has to do with threading?

Folkman avatar Jul 31 '13 20:07 Folkman

Yes, it seems to be a threding problem, because of linking against libldap. I get seg faults when used with puma. See issue https://github.com/bearded/ruby-ldap/issues/13 and pull https://github.com/bearded/ruby-ldap/pull/28

xoryves avatar Mar 12 '18 10:03 xoryves