google-code-export / ruby-activeldap

Automatically exported from code.google.com/p/ruby-activeldap
Other
1 stars 1 forks source link

Intermittent SSL Errors Closing the LDAP Connection #30

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Setup an ssl ldap connection:

staging:
  host: something.com
  port: 636
  base: dc=something,dc=com
  method: ssl

2. Setup a Model:

class Person < ActiveLdap::Base
  ldap_mapping :prefix => 'ou=People'
end

3. in the rails console type: Person.first occasionally.

What is the expected output? What do you see instead?
Expected output is a Person object is returned.  What I'm seeing
intermittently is the following error:

LDAP: search: FAILED (0.0ms): {:attributes=>[],
:error=>"OpenSSL::SSL::SSLError", :scope=>:sub,
:base=>"ou=People,dc=something,dc=com", :error_message=>"SSL_write:: bad
write retry", :filter=>"(&(uid=someuid)(objectClass=top))"}

OpenSSL::SSL::SSLError (SSL_write:: bad write retry):

followed by the stack trace.

What version of the product are you using? On what operating system?
ActiveLDAP 1.1.0
Rails 2.3.2

Original issue reported on code.google.com by patrick....@gmail.com on 16 Sep 2009 at 3:44

GoogleCodeExporter commented 9 years ago
Please show the stack trace.

Original comment by kou...@gmail.com on 21 Sep 2009 at 8:20

GoogleCodeExporter commented 9 years ago
  /usr/lib/ruby/1.8/openssl/buffering.rb:178:in `syswrite'
  /usr/lib/ruby/1.8/openssl/buffering.rb:178:in `do_write'
  /usr/lib/ruby/1.8/openssl/buffering.rb:192:in `write'
  /usr/lib/ruby/gems/1.8/gems/ruby-net-ldap-0.0.4/lib/net/ldap.rb:1167:in `search'
  /usr/lib/ruby/gems/1.8/gems/ruby-net-ldap-0.0.4/lib/net/ldap.rb:1144:in `loop'
  /usr/lib/ruby/gems/1.8/gems/ruby-net-ldap-0.0.4/lib/net/ldap.rb:1144:in `search'

/usr/lib/ruby/gems/1.8/gems/activeldap-1.2.0/lib/active_ldap/adapter/net_ldap.rb
:135:in
`send'

/usr/lib/ruby/gems/1.8/gems/activeldap-1.2.0/lib/active_ldap/adapter/net_ldap.rb
:135:in
`execute'
  /usr/lib/ruby/gems/1.8/gems/activeldap-1.2.0/lib/active_ldap/adapter/base.rb:654:in
`log'

[RAILS_ROOT]/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb
:10:in `realtime'
  /usr/lib/ruby/gems/1.8/gems/activeldap-1.2.0/lib/active_ldap/adapter/base.rb:654:in
`log'

/usr/lib/ruby/gems/1.8/gems/activeldap-1.2.0/lib/active_ldap/adapter/net_ldap.rb
:135:in
`execute'

/usr/lib/ruby/gems/1.8/gems/activeldap-1.2.0/lib/active_ldap/adapter/net_ldap.rb
:78:in `search'
  /usr/lib/ruby/gems/1.8/gems/activeldap-1.2.0/lib/active_ldap/adapter/base.rb:169:in
`search'
  /usr/lib/ruby/gems/1.8/gems/activeldap-1.2.0/lib/active_ldap/adapter/base.rb:270:in
`operation'
  /usr/lib/ruby/gems/1.8/gems/activeldap-1.2.0/lib/active_ldap/timeout.rb:15:in `call'
  /usr/lib/ruby/gems/1.8/gems/activeldap-1.2.0/lib/active_ldap/timeout.rb:15:in `alarm'
  /usr/lib/ruby/gems/1.8/gems/activeldap-1.2.0/lib/active_ldap/adapter/base.rb:316:in
`with_timeout'
  /usr/lib/ruby/gems/1.8/gems/activeldap-1.2.0/lib/active_ldap/adapter/base.rb:269:in
`operation'
  /usr/lib/ruby/gems/1.8/gems/activeldap-1.2.0/lib/active_ldap/adapter/base.rb:168:in
`search'

/usr/lib/ruby/gems/1.8/gems/activeldap-1.2.0/lib/active_ldap/adapter/net_ldap.rb
:66:in `search'
  /usr/lib/ruby/gems/1.8/gems/activeldap-1.2.0/lib/active_ldap/operations.rb:65:in
`search'
  /usr/lib/ruby/gems/1.8/gems/activeldap-1.2.0/lib/active_ldap/operations.rb:279:in
`find_every'
  /usr/lib/ruby/gems/1.8/gems/activeldap-1.2.0/lib/active_ldap/operations.rb:252:in
`find_initial'
  /usr/lib/ruby/gems/1.8/gems/activeldap-1.2.0/lib/active_ldap/operations.rb:217:in
`find'
  [RAILS_ROOT]/app/models/user.rb:13:in `authldap_user'
  [RAILS_ROOT]/app/models/user.rb:45:in `email'

[RAILS_ROOT]/vendor/rails/activerecord/lib/active_record/serializers/xml_seriali
zer.rb:340:in
`send'

[RAILS_ROOT]/vendor/rails/activerecord/lib/active_record/serializers/xml_seriali
zer.rb:340:in
`compute_value'

[RAILS_ROOT]/vendor/rails/activerecord/lib/active_record/serializers/xml_seriali
zer.rb:287:in
`initialize'

[RAILS_ROOT]/vendor/rails/activerecord/lib/active_record/serializers/xml_seriali
zer.rb:199:in
`new'

[RAILS_ROOT]/vendor/rails/activerecord/lib/active_record/serializers/xml_seriali
zer.rb:199:in
`serializable_attributes'

[RAILS_ROOT]/vendor/rails/activerecord/lib/active_record/serializers/xml_seriali
zer.rb:199:in
`collect'

[RAILS_ROOT]/vendor/rails/activerecord/lib/active_record/serializers/xml_seriali
zer.rb:199:in
`serializable_attributes'

[RAILS_ROOT]/vendor/rails/activerecord/lib/active_record/serializers/xml_seriali
zer.rb:210:in
`add_attributes'

[RAILS_ROOT]/vendor/rails/activerecord/lib/active_record/serializers/xml_seriali
zer.rb:271:in
`serialize'

[RAILS_ROOT]/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/
builder/xmlbase.rb:134:in
`call'

[RAILS_ROOT]/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/
builder/xmlbase.rb:134:in
`_nested_structures'

[RAILS_ROOT]/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/
builder/xmlbase.rb:58:in
`method_missing'

[RAILS_ROOT]/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/
builder/xmlbase.rb:31:in
`tag!'

[RAILS_ROOT]/vendor/rails/activerecord/lib/active_record/serializers/xml_seriali
zer.rb:270:in
`serialize'
  [RAILS_ROOT]/vendor/rails/activerecord/lib/active_record/serialization.rb:94:in `to_s'

[RAILS_ROOT]/vendor/rails/activerecord/lib/active_record/serializers/xml_seriali
zer.rb:156:in
`to_xml'

[RAILS_ROOT]/vendor/rails/activesupport/lib/active_support/core_ext/array/conver
sions.rb:189:in
`to_xml'

[RAILS_ROOT]/vendor/rails/activesupport/lib/active_support/core_ext/array/conver
sions.rb:189:in
`each'

[RAILS_ROOT]/vendor/rails/activesupport/lib/active_support/core_ext/array/conver
sions.rb:189:in
`to_xml'

[RAILS_ROOT]/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/
builder/xmlbase.rb:134:in
`call'

[RAILS_ROOT]/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/
builder/xmlbase.rb:134:in
`_nested_structures'

[RAILS_ROOT]/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/
builder/xmlbase.rb:58:in
`method_missing'

[RAILS_ROOT]/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/
builder/xmlbase.rb:31:in
`tag!'

[RAILS_ROOT]/vendor/rails/activesupport/lib/active_support/core_ext/array/conver
sions.rb:187:in
`to_xml'
  [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/base.rb:955:in
`render_without_benchmark'
  [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:51:in
`render_without_active_scaffold'

[RAILS_ROOT]/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb
:17:in `ms'

[RAILS_ROOT]/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb
:10:in `realtime'

[RAILS_ROOT]/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb
:17:in `ms'
  [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:51:in
`render_without_active_scaffold'

[RAILS_ROOT]/vendor/plugins/active_scaffold/lib/extensions/action_controller_ren
dering.rb:13:in
`render'
  [RAILS_ROOT]/app/controllers/rest/users_controller.rb:10:in `index'
  [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/mime_responds.rb:135:in
`call'
  [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/mime_responds.rb:135:in
`custom'
  [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/mime_responds.rb:179:in
`call'
  [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/mime_responds.rb:179:in
`respond'
  [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/mime_responds.rb:173:in
`each'
  [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/mime_responds.rb:173:in
`respond'
  [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/mime_responds.rb:107:in
`respond_to'
  [RAILS_ROOT]/app/controllers/rest/users_controller.rb:9:in `index'
  [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/base.rb:1331:in `send'
  [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/base.rb:1331:in
`perform_action_without_filters'
  [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/filters.rb:617:in
`call_filters'
  [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/filters.rb:610:in
`perform_action_without_benchmark'
  [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in
`perform_action_without_rescue'

[RAILS_ROOT]/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb
:17:in `ms'

[RAILS_ROOT]/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb
:10:in `realtime'

[RAILS_ROOT]/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb
:17:in `ms'
  [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in
`perform_action_without_rescue'
  [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/rescue.rb:160:in
`perform_action_without_flash'
  [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/flash.rb:146:in
`perform_action'
  [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/base.rb:532:in `send'
  [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/base.rb:532:in
`process_without_filters'
  [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/filters.rb:606:in `process'
  [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/base.rb:391:in `process'
  [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/base.rb:386:in `call'

[RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/routing/route_set.rb:
437:in `call'
  [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:87:in
`dispatch'
  [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:121:in `_call'
  [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:130:in
`build_middleware_stack'
  [RAILS_ROOT]/vendor/rails/activerecord/lib/active_record/query_cache.rb:29:in `call'
  [RAILS_ROOT]/vendor/rails/activerecord/lib/active_record/query_cache.rb:29:in `call'

[RAILS_ROOT]/vendor/rails/activerecord/lib/active_record/connection_adapters/abs
tract/query_cache.rb:34:in
`cache'
  [RAILS_ROOT]/vendor/rails/activerecord/lib/active_record/query_cache.rb:9:in `cache'
  [RAILS_ROOT]/vendor/rails/activerecord/lib/active_record/query_cache.rb:28:in `call'

[RAILS_ROOT]/vendor/rails/activerecord/lib/active_record/connection_adapters/abs
tract/connection_pool.rb:361:in
`call'

/usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/vendor/rack-1.0.0-git/lib/rack/head.
rb:9:in
`call'

/usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/vendor/rack-1.0.0-git/lib/rack/metho
doverride.rb:24:in
`call'
  [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/params_parser.rb:15:in
`call'

[RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/session/cookie_store.
rb:93:in
`call'
  [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/failsafe.rb:26:in `call'

/usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/vendor/rack-1.0.0-git/lib/rack/lock.
rb:11:in
`call'

/usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/vendor/rack-1.0.0-git/lib/rack/lock.
rb:11:in
`synchronize'

/usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/vendor/rack-1.0.0-git/lib/rack/lock.
rb:11:in
`call'
  [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:106:in `call'

/usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/lib/phusion_passenger/rack/request_h
andler.rb:95:in
`process_request'

/usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/lib/phusion_passenger/abstract_reque
st_handler.rb:207:in
`main_loop'

/usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/lib/phusion_passenger/railz/applicat
ion_spawner.rb:378:in
`start_request_handler'

/usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/lib/phusion_passenger/railz/applicat
ion_spawner.rb:336:in
`handle_spawn_application'
  /usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/lib/phusion_passenger/utils.rb:183:in
`safe_fork'

/usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/lib/phusion_passenger/railz/applicat
ion_spawner.rb:334:in
`handle_spawn_application'

/usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/lib/phusion_passenger/abstract_serve
r.rb:352:in
`__send__'

/usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/lib/phusion_passenger/abstract_serve
r.rb:352:in
`main_loop'

/usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/lib/phusion_passenger/abstract_serve
r.rb:196:in
`start_synchronously'

/usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/lib/phusion_passenger/abstract_serve
r.rb:163:in
`start'

/usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/lib/phusion_passenger/railz/applicat
ion_spawner.rb:213:in
`start'

/usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/lib/phusion_passenger/spawn_manager.
rb:262:in
`spawn_rails_application'

/usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/lib/phusion_passenger/abstract_serve
r_collection.rb:126:in
`lookup_or_add'

/usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/lib/phusion_passenger/spawn_manager.
rb:256:in
`spawn_rails_application'

/usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/lib/phusion_passenger/abstract_serve
r_collection.rb:80:in
`synchronize'

/usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/lib/phusion_passenger/abstract_serve
r_collection.rb:79:in
`synchronize'

/usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/lib/phusion_passenger/spawn_manager.
rb:255:in
`spawn_rails_application'

/usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/lib/phusion_passenger/spawn_manager.
rb:154:in
`spawn_application'

/usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/lib/phusion_passenger/spawn_manager.
rb:287:in
`handle_spawn_application'

/usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/lib/phusion_passenger/abstract_serve
r.rb:352:in
`__send__'

/usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/lib/phusion_passenger/abstract_serve
r.rb:352:in
`main_loop'

/usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/lib/phusion_passenger/abstract_serve
r.rb:196:in
`start_synchronously'
  /usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/bin/passenger-spawn-server:61

Original comment by patrick....@gmail.com on 24 Nov 2009 at 3:43

GoogleCodeExporter commented 9 years ago
Try to use net-ldap 0.0.5.

Original comment by kou...@gmail.com on 18 Dec 2009 at 12:02

GoogleCodeExporter commented 9 years ago

Original comment by kou...@gmail.com on 25 Apr 2010 at 10:40