Installed mongodb, pymongo driver from source on mac osx 10.7.5, and 
created a fresh application. Tried to create a new user from admin panel, 
and got first error bellow. Record got inserted though. After I used option 
"Lost password" from the menu, got second error underneath. 

<type 'exceptions.OverflowError'> BSON can only handle up to 8-byte ints

Traceback (most recent call last):
  File "/Users/adnan/web2py209/gluon/restricted.py", line 212, in restricted
    exec ccode in environment
  File "/Users/adnan/web2py209/applications/mango/controllers/default.py" 
<http://127.0.0.1:8000/admin/default/edit/mango/controllers/default.py>, line 
77, in <module>
  File "/Users/adnan/web2py209/gluon/globals.py", line 188, in <lambda>
    self._caller = lambda f: f()
  File "/Users/adnan/web2py209/applications/mango/controllers/default.py" 
<http://127.0.0.1:8000/admin/default/edit/mango/controllers/default.py>, line 
39, in user
    return dict(form=auth())
  File "/Users/adnan/web2py209/gluon/tools.py", line 1235, in __call__
    return getattr(self, args[0])()
  File "/Users/adnan/web2py209/gluon/tools.py", line 2241, in register
    self.add_membership(group_id, form.vars.id)
  File "/Users/adnan/web2py209/gluon/tools.py", line 3035, in add_membership
    record = membership(user_id=user_id, group_id=group_id)
  File "/Users/adnan/web2py209/gluon/dal.py", line 7657, in __call__
    return self._db(query).select(limitby=(0,1),for_update=for_update).first()
  File "/Users/adnan/web2py209/gluon/dal.py", line 8788, in select
    return adapter.select(self.query,fields,attributes)
  File "/Users/adnan/web2py209/gluon/dal.py", line 5093, in select
    for k,record in enumerate(mongo_list_dicts):
  File "build/bdist.macosx-10.7-intel/egg/pymongo/cursor.py", line 799, in next
    if len(self.__data) or self._refresh():
  File "build/bdist.macosx-10.7-intel/egg/pymongo/cursor.py", line 750, in 
_refresh
    self.__uuid_subtype))
  File "build/bdist.macosx-10.7-intel/egg/pymongo/message.py", line 134, in 
query
    encoded = bson.BSON.encode(query, False, uuid_subtype)
  File "build/bdist.macosx-10.7-intel/egg/bson/__init__.py", line 566, in encode
    return cls(_dict_to_bson(document, check_keys, uuid_subtype))
  File "build/bdist.macosx-10.7-intel/egg/bson/__init__.py", line 475, in 
_dict_to_bson
    elements.append(_element_to_bson(key, value, check_keys, uuid_subtype))
  File "build/bdist.macosx-10.7-intel/egg/bson/__init__.py", line 426, in 
_element_to_bson
    raise OverflowError("BSON can only handle up to 8-byte ints")
OverflowError: BSON can only handle up to 8-byte ints


Frames 
   
   -  
   
   *File /Users/adnan/web2py209/gluon/restricted.py in restricted at line 
   212* code arguments variables 
    -  
   
   *File /Users/adnan/web2py209/applications/mango/controllers/default.py 
   in <module> at line 77* code arguments variables 
    -  
   
   *File /Users/adnan/web2py209/gluon/globals.py in <lambda> at line 188* 
   code arguments variables 
    -  
   
   *File /Users/adnan/web2py209/applications/mango/controllers/default.py 
   in user at line 39* code arguments variables 
    -  
   
   *File /Users/adnan/web2py209/gluon/tools.py in __call__ at line 1235* 
   code arguments variables 
    -  
   
   *File /Users/adnan/web2py209/gluon/tools.py in register at line 2241* 
   code arguments variables 
    -  
   
   *File /Users/adnan/web2py209/gluon/tools.py in add_membership at line 
   3035* code arguments variables 
    -  
   
   *File /Users/adnan/web2py209/gluon/dal.py in __call__ at line 7657* code 
   arguments variables 
    -  
   
   *File /Users/adnan/web2py209/gluon/dal.py in select at line 8788* code 
   arguments variables 
    -  
   
   *File /Users/adnan/web2py209/gluon/dal.py in select at line 5093* code 
   arguments variables 
    -  
   
   *File 
   /Users/adnan/web2py209/build/bdist.macosx-10.7-intel/egg/pymongo/cursor.py 
   in next at line 799* code arguments variables 
    -  
   
   *File 
   /Users/adnan/web2py209/build/bdist.macosx-10.7-intel/egg/pymongo/cursor.py 
   in _refresh at line 750* code arguments variables 
    -  
   
   *File 
   /Users/adnan/web2py209/build/bdist.macosx-10.7-intel/egg/pymongo/message.py 
   in query at line 134* code arguments variables 
    -  
   
   *File 
   /Users/adnan/web2py209/build/bdist.macosx-10.7-intel/egg/bson/__init__.py 
   in encode at line 566* code arguments variables 
    -  
   
   *File 
   /Users/adnan/web2py209/build/bdist.macosx-10.7-intel/egg/bson/__init__.py 
   in _dict_to_bson at line 475* code arguments variables 
    -  
   
   *File 
   /Users/adnan/web2py209/build/bdist.macosx-10.7-intel/egg/bson/__init__.py 
   in _element_to_bson at line 426* code arguments variables 
    Function argument list 
   
   (key='group_id', value=24921443489256489473621663847L, check_keys=False, 
   uuid_subtype=3)
    Code listing 
   
   421.
   422.
   423.
   424.
   425.
   426.
   
   427.
   428.
   429.
   430.
   
           return BSONINT + name + struct.pack("<i", value)
       # 2to3 will convert long to int here since there is no long in python3.
       # That's OK. The previous if block will match instead.
       if isinstance(value, long):
           if value > MAX_INT64 or value < MIN_INT64:
               raise OverflowError("BSON can only handle up to 8-byte ints")
   
           return BSONLON + name + struct.pack("<q", value)
       if isinstance(value, datetime.datetime):
           if value.utcoffset() is not None:
               value = value - value.utcoffset()
   
   





<type 'exceptions.SyntaxError'> second argument must be of type ObjectId or 
an objectid representable integer

Traceback (most recent call last):
  File "/Users/adnan/web2py209/gluon/restricted.py", line 212, in restricted
    exec ccode in environment
  File "/Users/adnan/web2py209/applications/mango/controllers/appadmin.py" 
<http://127.0.0.1:8000/admin/default/edit/mango/controllers/appadmin.py>, line 
463, in <module>
  File "/Users/adnan/web2py209/gluon/globals.py", line 188, in <lambda>
    self._caller = lambda f: f()
  File "/Users/adnan/web2py209/applications/mango/controllers/appadmin.py" 
<http://127.0.0.1:8000/admin/default/edit/mango/controllers/appadmin.py>, line 
280, in update
    2), ignore_common_filters=True).select().first()
  File "/Users/adnan/web2py209/gluon/dal.py", line 8788, in select
    return adapter.select(self.query,fields,attributes)
  File "/Users/adnan/web2py209/gluon/dal.py", line 5077, in select
    self._select(query,fields,attributes)
  File "/Users/adnan/web2py209/gluon/dal.py", line 5061, in _select
    mongoqry_dict = self.expand(query)
  File "/Users/adnan/web2py209/gluon/dal.py", line 4985, in expand
    raise SyntaxError, 'second argument must be of type ObjectId or an objectid 
representable integer'
SyntaxError: second argument must be of type ObjectId or an objectid 
representable integer


   -  
   
   *File /Users/adnan/web2py209/gluon/restricted.py in restricted at line 
   212* code arguments variables 
    -  
   
   *File /Users/adnan/web2py209/applications/mango/controllers/appadmin.py 
   in <module> at line 463* code arguments variables 
    -  
   
   *File /Users/adnan/web2py209/gluon/globals.py in <lambda> at line 188* 
   code arguments variables 
    -  
   
   *File /Users/adnan/web2py209/applications/mango/controllers/appadmin.py 
   in update at line 280* code arguments variables 
    -  
   
   *File /Users/adnan/web2py209/gluon/dal.py in select at line 8788* code 
   arguments variables 
    -  
   
   *File /Users/adnan/web2py209/gluon/dal.py in select at line 5077* code 
   arguments variables 
    -  
   
   *File /Users/adnan/web2py209/gluon/dal.py in _select at line 5061* code 
   arguments variables 
    -  
   
   *File /Users/adnan/web2py209/gluon/dal.py in expand at line 4985* code 
   arguments variables 
    Function argument list 
   
   (self=<gluon.dal.MongoDBAdapter object>, expression=<Query {'_id': 
   '24921443470809745399912112230'}>, field_type=None)
    Code listing 
   
   4980.
   4981.
   4982.
   4983.
   4984.
   4985.
   
   4986.
   4987.
   4988.
   4989.
   
                       else:
                           try:
                               #But a direct id is also possible
                               expression.second = ObjectId(expression.second)
                           except:
                               raise SyntaxError, 'second argument must be of 
type ObjectId or an objectid representable integer'
   
                   elif expression.second == 0:
                       expression.second = ObjectId('000000000000000000000000')
                   return expression.op(expression.first, expression.second)
           if isinstance(expression, Field):
   
   

-- 



Reply via email to