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):
--