Uploaded image for project: 'Ruby Driver'
  1. Ruby Driver
  2. RUBY-163

"can't convert Class into Integer" when trying to query _id for $gt

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 12_01_17
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Environment:
      Linux sundaysister 2.6.32-22-generic #36-Ubuntu SMP Thu Jun 3 19:31:57 UTC 2010 x86_64 GNU/Linux || ruby 1.8.7 (2010-01-10 patchlevel 249) [x86_64-linux] || bson, bson_ext, mongo 1.0.1

      I was trying to query _id for a value greater than 4c65ad8a973d968a601798d6 via MongoMapper:

      conditions[:_id] =

      { "$gt" => BSON::ObjectID.new("4c65ad8a973d968a601798d6") }

      This throws "can't convert Class into Integer" somewhere out of the BSON gem. The MongoMapper IRC channel confirmed my assumption that this might be a bug in the BSON gem.

      Stacktrace:

      /usr/lib/ruby/gems/1.8/gems/bson-1.0.1/lib/../lib/bson/bson_c.rb:8:in `serialize'
      /usr/lib/ruby/gems/1.8/gems/bson-1.0.1/lib/../lib/bson/bson_c.rb:8:in `serialize'
      /usr/lib/ruby/gems/1.8/gems/mongo-1.0.1/lib/../lib/mongo/cursor.rb:362:in `construct_query_message'
      /usr/lib/ruby/gems/1.8/gems/mongo-1.0.1/lib/../lib/mongo/cursor.rb:344:in `send_initial_query'
      /usr/lib/ruby/gems/1.8/gems/mongo-1.0.1/lib/../lib/mongo/cursor.rb:322:in `refill_via_get_more'
      /usr/lib/ruby/gems/1.8/gems/mongo-1.0.1/lib/../lib/mongo/cursor.rb:317:in `num_remaining'
      /usr/lib/ruby/gems/1.8/gems/mongo-1.0.1/lib/../lib/mongo/cursor.rb:89:in `has_next?'
      /usr/lib/ruby/gems/1.8/gems/mongo-1.0.1/lib/../lib/mongo/cursor.rb:202:in `to_a'
      /usr/lib/ruby/gems/1.8/gems/plucky-0.3.2/lib/plucky/query.rb:75:in `all'
      /usr/lib/ruby/gems/1.8/gems/mongo_mapper-0.8.2/lib/mongo_mapper/plugins/querying/decorator.rb:25:in `all'
      /home/lennart/workspace/graylog2-web-interface/lib/graylog2-websocket.rb:36:in `handle'
      /home/lennart/workspace/graylog2-web-interface/lib/graylog2-websocket.rb:10
      /usr/lib/ruby/gems/1.8/gems/em-websocket-0.1.3/lib/../lib/em-websocket/connection.rb:149:in `call'
      /usr/lib/ruby/gems/1.8/gems/em-websocket-0.1.3/lib/../lib/em-websocket/connection.rb:149:in `process_message'
      /usr/lib/ruby/gems/1.8/gems/em-websocket-0.1.3/lib/../lib/em-websocket/connection.rb:50:in `dispatch'
      /usr/lib/ruby/gems/1.8/gems/em-websocket-0.1.3/lib/../lib/em-websocket/connection.rb:35:in `receive_data'
      /usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run_machine'
      /usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run'
      /usr/lib/ruby/gems/1.8/gems/em-websocket-0.1.3/lib/../lib/em-websocket/websocket.rb:6:in `start'
      /home/lennart/workspace/graylog2-web-interface/lib/graylog2-websocket.rb:8:in `launch'
      /home/lennart/workspace/graylog2-web-interface/config/initializers/websocketserver.rb:5
      /home/lennart/workspace/graylog2-web-interface/config/initializers/websocketserver.rb:3:in `initialize'
      /home/lennart/workspace/graylog2-web-interface/config/initializers/websocketserver.rb:3:in `new'
      /home/lennart/workspace/graylog2-web-interface/config/initializers/websocketserver.rb:3
      /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:145:in `load_without_new_constant_marking'
      /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:145:in `load'
      /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:521:in `new_constants_in'
      /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:145:in `load'
      /usr/lib/ruby/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:622:in `load_application_initializers'
      /usr/lib/ruby/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:621:in `each'
      /usr/lib/ruby/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:621:in `load_application_initializers'
      /usr/lib/ruby/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:176:in `process'
      /usr/lib/ruby/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:113:in `send'
      /usr/lib/ruby/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:113:in `run'
      /home/lennart/workspace/graylog2-web-interface/config/environment.rb:6
      /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
      /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
      /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in `require'
      /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:521:in `new_constants_in'
      /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in `require'
      /usr/lib/ruby/gems/1.8/gems/rails-2.3.8/lib/commands/server.rb:84
      /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
      /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'

            Assignee:
            kbanker Kyle Banker
            Reporter:
            lennartkoopmann Lennart Koopmann
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: