benmfaul / XRTB

A Real Time Bidding (RTB) 2.1 bidding engine written in Java 1.8
http://rtb4free.com
Apache License 2.0
121 stars 67 forks source link

java.lang.NullPointerException when "multibid" : true #13

Closed gejobj closed 7 years ago

gejobj commented 7 years ago

I got this error when I activated multibid. This exception occurs randomly:

java.lang.NullPointerException at com.xrtb.bidder.CampaignSelector.getMaxConnections(CampaignSelector.java:336) at com.xrtb.bidder.Handler.handle(RTBServer.java:1010) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1584) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1557) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) at org.eclipse.jetty.server.Server.handle(Server.java:564) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:318) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:112) at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124) at org.eclipse.jetty.util.thread.Invocable.invokePreferred(Invocable.java:122) at org.eclipse.jetty.util.thread.strategy.ExecutingExecutionStrategy.invoke(ExecutingExecutionStrategy.java:58) at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:201) at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produce(ExecuteProduceConsume.java:97) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:672) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:590) at java.lang.Thread.run(Thread.java:745)

Code at lines: (RTBServer.java:1010) : bresp = CampaignSelector.getInstance().getMaxConnections(br); (CampaignSelector.java:336) : winner.capSpec = select.capSpec;

I found on Internet that it may be HashMap and maybe using ConcurrentHashMap will solve it but I have no lucky fixing it.

Best regards.