java.lang.NullPointerException

There are no available Samebug tips for this exception. Do you have an idea how to solve this issue? A short tip would help users who saw this issue last week.

  • exception while running MongoDB client
    via by Yuri Gurevich,
  • I use the following update: collection.update(q, new BasicDBObject("$pull", new BasicDBObject("x",null)) //where q is some object which queries the correct doc in the collection and "x" corresponds to an array and I receive the following error: 2012.01.05 10:34:36 root - Error: java.lang.NullPointerException: can't save a null object java.lang.NullPointerException: can't save a null object at org.bson.BasicBSONEncoder.putObject(BasicBSONEncoder.java:95) at org.bson.BasicBSONEncoder.putObject(BasicBSONEncoder.java:86) at com.mongodb.DefaultDBEncoder.writeObject(DefaultDBEncoder.java:27) at com.mongodb.OutMessage.putObject(OutMessage.java:142) at com.mongodb.DBApiLayer$MyCollection.update(DBApiLayer.java:345) at com.mongodb.DBCollection.update(DBCollection.java:165) at com.mongodb.DBCollection.update(DBCollection.java:197) at com.mongodb.DBCollection.update(DBCollection.java:209) The null is created in the first place as a result of using the $unset: collection.update(q, new BasicDBObject("$unset", new BasicDBObject("x"+".$",1))) //where q is some object which queries the correct doc in the collection and "x" corresponds to an array I cannot use the $pull in replacement of $unset because i would require exact matching, which doesn't seem possible as documented: "Because of this feature, to use the embedded doc as a match criteria, you cannot do exact matches on array elements." I had assumed that using the null pointer reference was ok based on the post by Andrew Wharton specified in: http://www.mongodb.org/display/DOCS/Java+Types Is this the correct way to be doing this? The only other way to accomplish this would be to query the entire array, modify it, then insert it back; but I would rather not do this as this could lead to a race condition.
    via by Josh Rogers,
  • After running for some days without problems I just get NullPointerExceptions for every operation. I restarted my application (not the server) and the mongo-driver worked again. The first error: java.lang.NullPointerException: null at com.mongodb.DBTCPConnector$MyPort.get(DBTCPConnector.java:274) ~[mongo-java-driver-2.3.jar:na] at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:205) ~[mongo-java-driver-2.3.jar:na] at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:284) ~[mongo-java-driver-2.3.jar:na] at com.mongodb.DB.command(DB.java:152) ~[mongo-java-driver-2.3.jar:na] at com.mongodb.DB.command(DB.java:141) ~[mongo-java-driver-2.3.jar:na] at com.mongodb.DB.getLastError(DB.java:302) ~[mongo-java-driver-2.3.jar:na] and afterwards for example: Caused by: java.lang.NullPointerException: null at com.mongodb.DBTCPConnector$MyPort.get(DBTCPConnector.java:274) ~[mongo-java-driver-2.3.jar:na] at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:205) ~[mongo-java-driver-2.3.jar:na] at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:284) ~[mongo-java-driver-2.3.jar:na] at com.mongodb.DB.command(DB.java:152) ~[mongo-java-driver-2.3.jar:na] at com.mongodb.DBCollection.getCount(DBCollection.java:642) ~[mongo-java-driver-2.3.jar:na] at com.mongodb.DBCollection.getCount(DBCollection.java:616) ~[mongo-java-driver-2.3.jar:na] at com.mongodb.DBCursor.count(DBCursor.java:555) ~[mongo-java-driver-2.3.jar:na] java.lang.NullPointerException: null at com.mongodb.DBTCPConnector$MyPort.get(DBTCPConnector.java:274) ~[mongo-java-driver-2.3.jar:na] at com.mongodb.DBTCPConnector.say(DBTCPConnector.java:151) ~[mongo-java-driver-2.3.jar:na] at com.mongodb.DBTCPConnector.say(DBTCPConnector.java:141) ~[mongo-java-driver-2.3.jar:na] at com.mongodb.DBApiLayer$MyCollection.update(DBApiLayer.java:317) ~[mongo-java-driver-2.3.jar:na] at com.mongodb.DBCollection.update(DBCollection.java:112) ~[mongo-java-driver-2.3.jar:na]
    via by Daniel Peters,
  • I use the following update: collection.update(q, new BasicDBObject("$pull", new BasicDBObject("x",null)) //where q is some object which queries the correct doc in the collection and "x" corresponds to an array and I receive the following error: 2012.01.05 10:34:36 root - Error: java.lang.NullPointerException: can't save a null object java.lang.NullPointerException: can't save a null object at org.bson.BasicBSONEncoder.putObject(BasicBSONEncoder.java:95) at org.bson.BasicBSONEncoder.putObject(BasicBSONEncoder.java:86) at com.mongodb.DefaultDBEncoder.writeObject(DefaultDBEncoder.java:27) at com.mongodb.OutMessage.putObject(OutMessage.java:142) at com.mongodb.DBApiLayer$MyCollection.update(DBApiLayer.java:345) at com.mongodb.DBCollection.update(DBCollection.java:165) at com.mongodb.DBCollection.update(DBCollection.java:197) at com.mongodb.DBCollection.update(DBCollection.java:209) The null is created in the first place as a result of using the $unset: collection.update(q, new BasicDBObject("$unset", new BasicDBObject("x"+".$",1))) //where q is some object which queries the correct doc in the collection and "x" corresponds to an array I cannot use the $pull in replacement of $unset because i would require exact matching, which doesn't seem possible as documented: "Because of this feature, to use the embedded doc as a match criteria, you cannot do exact matches on array elements." I had assumed that using the null pointer reference was ok based on the post by Andrew Wharton specified in: http://www.mongodb.org/display/DOCS/Java+Types Is this the correct way to be doing this? The only other way to accomplish this would be to query the entire array, modify it, then insert it back; but I would rather not do this as this could lead to a race condition.
    via by Josh Rogers,
    • java.lang.NullPointerException at com.mongodb.DBTCPConnector.say(DBTCPConnector.java:154) at com.mongodb.DBTCPConnector.say(DBTCPConnector.java:138) at com.mongodb.DBApiLayer$MyCollection.update(DBApiLayer.java:348) at com.mongodb.DBCollection.update(DBCollection.java:165) at mongoDB.MongoDbClient.inviteFriend(Unknown Source) at edu.usc.bg.base.DBWrapper.inviteFriend(DBWrapper.java:158) at edu.usc.bg.workloads.CoreWorkload.doActioninviteFriend(CoreWorkload.java:2423) at edu.usc.bg.workloads.CoreWorkload.doTransaction(CoreWorkload.java:1073) at edu.usc.bg.base.ClientThread.run(ClientThread.java:201)
    No Bugmate found.