Issue 1:
2017-10-18 18:55:10.227+0000 WARN [o.n.k.i.c.MonitorGc] GC Monitor: Application threads blocked for 301ms.
2017-10-18 18:55:12.670+0000 WARN [o.n.k.i.c.MonitorGc] GC Monitor: Application threads blocked for 340ms.
2017-10-18 18:56:03.154+0000 WARN [o.n.k.i.c.MonitorGc] GC Monitor: Application threads blocked for 232ms.
2017-10-18 18:56:08.716+0000 ERROR [o.n.b.v.r.ErrorReporter] Client triggered an unexpected error [UnknownError]: null, reference 23d7ba6e-88ce-4579-8429-bd53b1cce240.
2017-10-18 18:56:08.716+0000 ERROR [o.n.b.v.r.ErrorReporter] Client triggered an unexpected error [UnknownError]: null, reference 23d7ba6e-88ce-4579-8429-bd53b1cce240.
java.lang.NullPointerException
at org.neo4j.cypher.internal.spi.v3_2.TransactionBoundQueryContext.getRelationshipsForIds(TransactionBoundQueryContext.scala:134)
at org.neo4j.cypher.internal.compatibility.v3_2.ExceptionTranslatingQueryContext$$anonfun$getRelationshipsForIds$1.apply(ExceptionTranslatingQueryContext.scala:195)
at org.neo4j.cypher.internal.compatibility.v3_2.ExceptionTranslatingQueryContext$$anonfun$getRelationshipsForIds$1.apply(ExceptionTranslatingQueryContext.scala:195)
at org.neo4j.cypher.internal.spi.v3_2.ExceptionTranslationSupport$class.translateException(ExceptionTranslationSupport.scala:32)
at org.neo4j.cypher.internal.compatibility.v3_2.ExceptionTranslatingQueryContext.translateException(ExceptionTranslatingQueryContext.scala:34)
at org.neo4j.cypher.internal.compatibility.v3_2.ExceptionTranslatingQueryContext.getRelationshipsForIds(ExceptionTranslatingQueryContext.scala:195)
at org.neo4j.cypher.internal.compiler.v3_2.spi.DelegatingQueryContext.getRelationshipsForIds(DelegatingQueryContext.scala:69)
at org.neo4j.cypher.internal.compiler.v3_2.pipes.PruningVarLengthExpandPipe$Expandable$class.expand(PruningVarLengthExpandPipe.scala:300)
at org.neo4j.cypher.internal.compiler.v3_2.pipes.PruningVarLengthExpandPipe$PrePruningDFS.expand(PruningVarLengthExpandPipe.scala:81)
at org.neo4j.cypher.internal.compiler.v3_2.pipes.PruningVarLengthExpandPipe$PrePruningDFS.next(PruningVarLengthExpandPipe.scala:98)
at org.neo4j.cypher.internal.compiler.v3_2.pipes.PruningVarLengthExpandPipe$LoadNext.next(PruningVarLengthExpandPipe.scala:270)
at org.neo4j.cypher.internal.compiler.v3_2.pipes.PruningVarLengthExpandPipe$$anon$1.<init>(PruningVarLengthExpandPipe.scala:340)
at org.neo4j.cypher.internal.compiler.v3_2.pipes.PruningVarLengthExpandPipe.internalCreateResults(PruningVarLengthExpandPipe.scala:338)
at org.neo4j.cypher.internal.compiler.v3_2.pipes.PipeWithSource.createResults(Pipe.scala:82)
at org.neo4j.cypher.internal.compiler.v3_2.pipes.PipeWithSource.createResults(Pipe.scala:79)
at org.neo4j.cypher.internal.compiler.v3_2.pipes.PipeWithSource.createResults(Pipe.scala:79)
at org.neo4j.cypher.internal.compiler.v3_2.pipes.ApplyPipe$$anonfun$internalCreateResults$1.apply(ApplyPipe.scala:33)
at org.neo4j.cypher.internal.compiler.v3_2.pipes.ApplyPipe$$anonfun$internalCreateResults$1.apply(ApplyPipe.scala:30)
at scala.collection.Iterator$$anon$12.nextCur(Iterator.scala:434)
at scala.collection.Iterator$$anon$12.hasNext(Iterator.scala:440)
at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:408)
at scala.collection.Iterator$$anon$12.hasNext(Iterator.scala:438)
at scala.collection.Iterator$class.foreach(Iterator.scala:893)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1336)
at org.neo4j.cypher.internal.compiler.v3_2.pipes.EagerAggregationPipe.internalCreateResults(EagerAggregationPipe.scala:89)
at org.neo4j.cypher.internal.compiler.v3_2.pipes.PipeWithSource.createResults(Pipe.scala:82)
at org.neo4j.cypher.internal.compiler.v3_2.pipes.PipeWithSource.createResults(Pipe.scala:79)
at org.neo4j.cypher.internal.compiler.v3_2.pipes.PipeWithSource.createResults(Pipe.scala:79)
at org.neo4j.cypher.internal.compiler.v3_2.pipes.PipeWithSource.createResults(Pipe.scala:79)
at org.neo4j.cypher.internal.compiler.v3_2.pipes.PipeWithSource.createResults(Pipe.scala:79)
at org.neo4j.cypher.internal.compiler.v3_2.pipes.PipeWithSource.createResults(Pipe.scala:79)
at org.neo4j.cypher.internal.compiler.v3_2.executionplan.DefaultExecutionResultBuilderFactory$ExecutionWorkflowBuilder.createResults(DefaultExecutionResultBuilderFactory.scala:97)
at org.neo4j.cypher.internal.compiler.v3_2.executionplan.DefaultExecutionResultBuilderFactory$ExecutionWorkflowBuilder.build(DefaultExecutionResultBuilderFactory.scala:75)
at org.neo4j.cypher.internal.compiler.v3_2.BuildInterpretedExecutionPlan$$anonfun$getExecutionPlanFunction$1.apply(BuildInterpretedExecutionPlan.scala:103)
at org.neo4j.cypher.internal.compiler.v3_2.BuildInterpretedExecutionPlan$$anonfun$getExecutionPlanFunction$1.apply(BuildInterpretedExecutionPlan.scala:86)
at org.neo4j.cypher.internal.compiler.v3_2.BuildInterpretedExecutionPlan$$anon$1.run(BuildInterpretedExecutionPlan.scala:55)
at org.neo4j.cypher.internal.compatibility.v3_2.Compatibility$ExecutionPlanWrapper$$anonfun$run$1.apply(Compatibility.scala:103)
at org.neo4j.cypher.internal.compatibility.v3_2.Compatibility$ExecutionPlanWrapper$$anonfun$run$1.apply(Compatibility.scala:101)
at org.neo4j.cypher.internal.compatibility.v3_2.exceptionHandler$runSafely$.apply(exceptionHandler.scala:90)
at org.neo4j.cypher.internal.compatibility.v3_2.Compatibility$ExecutionPlanWrapper.run(Compatibility.scala:101)
at org.neo4j.cypher.internal.PreparedPlanExecution.execute(PreparedPlanExecution.scala:26)
at org.neo4j.cypher.internal.ExecutionEngine.execute(ExecutionEngine.scala:107)
at org.neo4j.cypher.internal.javacompat.ExecutionEngine.executeQuery(ExecutionEngine.java:61)
at org.neo4j.bolt.v1.runtime.TransactionStateMachineSPI$1.start(TransactionStateMachineSPI.java:144)
at org.neo4j.bolt.v1.runtime.TransactionStateMachine$State$1.run(TransactionStateMachine.java:202)
at org.neo4j.bolt.v1.runtime.TransactionStateMachine.run(TransactionStateMachine.java:74)
at org.neo4j.bolt.v1.runtime.BoltStateMachine$State$2.run(BoltStateMachine.java:395)
at org.neo4j.bolt.v1.runtime.BoltStateMachine.run(BoltStateMachine.java:194)
at org.neo4j.bolt.v1.messaging.BoltMessageRouter.lambda$onRun$3(BoltMessageRouter.java:80)
at org.neo4j.bolt.v1.runtime.concurrent.RunnableBoltWorker.execute(RunnableBoltWorker.java:130)
at org.neo4j.bolt.v1.runtime.concurrent.RunnableBoltWorker.run(RunnableBoltWorker.java:91)
at java.lang.Thread.run(Thread.java:748)
2017-10-18 18:56:23.340+0000 ERROR [o.n.b.t.SocketTransportHandler] Fatal error occurred when handling a client connection: Connection reset by peer Connection reset by peer
java.io.IOException: Connection reset by peer
at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
at sun.nio.ch.IOUtil.read(IOUtil.java:192)
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
at io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288)
at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1106)
at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:373)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:123)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:645)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:580)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:497)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:459)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
at java.lang.Thread.run(Thread.java:748)

Client 1.5.0

neo4j 3.2.5

Issue 2:
When I switch from Neo4j 3.0.7 to 3.2.1 one of my queries crashes with NullPointerException in

org.neo4j.cypher.internal.spi.v3_2.TransactionBoundQueryContext.getRelationshipsForIds.

With 3.0.7 the same query is running fine.

Neo4j Version: 3.2.1

Operating System: Windows 10

API: Cypher

Steps to reproduce

start data base and empty it

create some nodes that will show the error

CREATE (cust :DoorsObject {eid: 1})
CREATE (cust) <-[:Links]- (req :DoorsObject {eid: 1})
CREATE (reqM :DoorsFormalModule {eid: 1}) -[:Contains]-> (req)

create some nodes that are OK

CREATE (cust :DoorsObject {eid: 2})
CREATE (cust) <-[:Links]- (req :DoorsObject {eid: 2})
CREATE (reqM :DoorsFormalModule {eid: 2}) -[:Contains]-> (req)
CREATE (req) <-[:Links]- (:Link) <-[:Links]- (tst :DoorsObject {eid: 2})
CREATE (tstM :DoorsFormalModule {eid: 2}) -[:Contains]-> (tst)

run the query

MATCH
(cust :DoorsObject)
WITH cust
OPTIONAL MATCH
(cust)
<-[:Links *1..]-
(req :DoorsObject)
<-[:Contains]-
(reqM :DoorsFormalModule)
WITH DISTINCT cust, reqM, req
// WHERE req IS NOT NULL // Uncomment so 3.2.1 doesn't crash
OPTIONAL MATCH
(req)
<-[:Links *2]-
(tst :DoorsObject)
<-[:Contains]-
(tstM :DoorsFormalModule)
WITH cust, reqM, req, tstM, tst
// WHERE tstM IS NOT NULL
RETURN DISTINCT
cust.eid,
reqM.eid,
tstM.eid

Expected behavior

Neo4j 3.0.7 returns:

╒════════╤════════╤════════╕
│cust.eid│reqM.eid│tstM.eid│
╞════════╪════════╪════════╡
│1 │1 │(null) │
├────────┼────────┼────────┤
│1 │(null) │(null) │
├────────┼────────┼────────┤
│2 │2 │2 │
├────────┼────────┼────────┤
│2 │2 │(null) │
├────────┼────────┼────────┤
│2 │(null) │(null) │
└────────┴────────┴────────┘

Actual behavior

Neo4j 3.2.1 crashes with

java.lang.NullPointerException: null
at org.neo4j.cypher.internal.spi.v3_2.TransactionBoundQueryContext.getRelationshipsForIds (TransactionBoundQueryContext.scala:134)
org.neo4j.cypher.internal.compatibility.v3_2.ExceptionTranslatingQueryContext$$anonfun$getRelationshipsForIds$1.apply (ExceptionTranslatingQueryContext.scala:195)
org.neo4j.cypher.internal.compatibility.v3_2.ExceptionTranslatingQueryContext$$anonfun$getRelationshipsForIds$1.apply (ExceptionTranslatingQueryContext.scala:195)
org.neo4j.cypher.internal.spi.v3_2.ExceptionTranslationSupport$class.translateException (ExceptionTranslationSupport.scala:32)
org.neo4j.cypher.internal.compatibility.v3_2.ExceptionTranslatingQueryContext.translateException (ExceptionTranslatingQueryContext.scala:34)
org.neo4j.cypher.internal.compatibility.v3_2.ExceptionTranslatingQueryContext.getRelationshipsForIds (ExceptionTranslatingQueryContext.scala:195)
org.neo4j.cypher.internal.compiler.v3_2.pipes.PruningVarLengthExpandPipe$Expandable$class.expand (PruningVarLengthExpandPipe.scala:300)
org.neo4j.cypher.internal.compiler.v3_2.pipes.PruningVarLengthExpandPipe$PrePruningDFS.expand (PruningVarLengthExpandPipe.scala:81)
org.neo4j.cypher.internal.compiler.v3_2.pipes.PruningVarLengthExpandPipe$PrePruningDFS.next (PruningVarLengthExpandPipe.scala:98)
org.neo4j.cypher.internal.compiler.v3_2.pipes.PruningVarLengthExpandPipe$LoadNext.next (PruningVarLengthExpandPipe.scala:270)
org.neo4j.cypher.internal.compiler.v3_2.pipes.PruningVarLengthExpandPipe$$anon$1.<init> (PruningVarLengthExpandPipe.scala:340)
org.neo4j.cypher.internal.compiler.v3_2.pipes.PruningVarLengthExpandPipe.internalCreateResults (PruningVarLengthExpandPipe.scala:338)
org.neo4j.cypher.internal.compiler.v3_2.pipes.PipeWithSource.createResults (Pipe.scala:82)
org.neo4j.cypher.internal.compiler.v3_2.pipes.PipeWithSource.createResults (Pipe.scala:79)
org.neo4j.cypher.internal.compiler.v3_2.pipes.PipeWithSource.createResults (Pipe.scala:79)
org.neo4j.cypher.internal.compiler.v3_2.pipes.PipeWithSource.createResults (Pipe.scala:79)
org.neo4j.cypher.internal.compiler.v3_2.pipes.PipeWithSource.createResults (Pipe.scala:79)
org.neo4j.cypher.internal.compiler.v3_2.pipes.ApplyPipe$$anonfun$internalCreateResults$1.apply (ApplyPipe.scala:33)
org.neo4j.cypher.internal.compiler.v3_2.pipes.ApplyPipe$$anonfun$internalCreateResults$1.apply (ApplyPipe.scala:30)
scala.collection.Iterator$$anon$12.nextCur (Iterator.scala:434)
scala.collection.Iterator$$anon$12.hasNext (Iterator.scala:440)
scala.collection.Iterator$$anon$11.hasNext (Iterator.scala:408)
scala.collection.Iterator$$anon$13.hasNext (Iterator.scala:461)
scala.collection.Iterator$$anon$11.hasNext (Iterator.scala:408)
org.neo4j.cypher.internal.compiler.v3_2.ClosingIterator$$anonfun$hasNext$1.apply$mcZ$sp (ResultIterator.scala:60)
org.neo4j.cypher.internal.compiler.v3_2.ClosingIterator$$anonfun$hasNext$1.apply (ResultIterator.scala:58)
org.neo4j.cypher.internal.compiler.v3_2.ClosingIterator$$anonfun$hasNext$1.apply (ResultIterator.scala:58)
org.neo4j.cypher.internal.compiler.v3_2.ClosingIterator$$anonfun$failIfThrows$1.apply (ResultIterator.scala:94)
org.neo4j.cypher.internal.compiler.v3_2.ClosingIterator.decoratedCypherException (ResultIterator.scala:103)
org.neo4j.cypher.internal.compiler.v3_2.ClosingIterator.failIfThrows (ResultIterator.scala:92)
org.neo4j.cypher.internal.compiler.v3_2.ClosingIterator.hasNext (ResultIterator.scala:57)
org.neo4j.cypher.internal.compiler.v3_2.PipeExecutionResult.hasNext (PipeExecutionResult.scala:77)
org.neo4j.cypher.internal.compatibility.v3_2.ExecutionResultWrapper.hasNext (ExecutionResultWrapper.scala:91)
org.neo4j.cypher.internal.compatibility.ClosingExecutionResult.org$neo4j$cypher$internal$compatibility$ClosingExecutionResult$$closeIfEmpty (ClosingExecutionResult.scala:178)
org.neo4j.cypher.internal.compatibility.ClosingExecutionResult$$anon$1$$anonfun$next$1.apply (ClosingExecutionResult.scala:63)
org.neo4j.cypher.internal.compatibility.ClosingExecutionResult$$anon$1$$anonfun$next$1.apply (ClosingExecutionResult.scala:61)
org.neo4j.cypher.internal.compatibility.v3_2.exceptionHandler$runSafely$.apply (exceptionHandler.scala:90)
org.neo4j.cypher.internal.compatibility.ClosingExecutionResult$$anon$1.next (ClosingExecutionResult.scala:61)
org.neo4j.cypher.internal.compatibility.ClosingExecutionResult$$anon$1.next (ClosingExecutionResult.scala:55)
org.neo4j.cypher.internal.javacompat.ExecutionResult.next (ExecutionResult.java:242)
org.neo4j.cypher.internal.javacompat.ExecutionResult.next (ExecutionResult.java:54)
clojure.lang.RT$4.invoke (RT.java:509)
clojure.lang.LazySeq.sval (LazySeq.java:40)
clojure.lang.LazySeq.seq (LazySeq.java:49)
clojure.lang.RT.seq (RT.java:521)
clojure.core$seq__4357.invokeStatic (core.clj:137)
clojure.core/seq (core.clj:137)
com.bosch.as.metrics.graph.manager$print_execute$fn__1234.invoke (manager.clj:77)
com.bosch.as.metrics.graph.manager$print_execute.invokeStatic (manager.clj:72)
com.bosch.as.metrics.graph.manager$print_execute.invoke (manager.clj:70)
com.bosch.as.metrics.adapter.birt.data_set$CustSpecs_TestResults.invokeStatic (data_set.clj:64)
com.bosch.as.metrics.adapter.birt.data_set$CustSpecs_TestResults.invoke (data_set.clj:62)
user$eval9670.invokeStatic (NO_SOURCE_FILE:4)
user$eval9670.invoke (NO_SOURCE_FILE:4)
clojure.lang.Compiler.eval (Compiler.java:6927)
clojure.lang.Compiler.eval (Compiler.java:6890)
clojure.core$eval.invokeStatic (core.clj:3105)
clojure.core$eval.invoke (core.clj:3101)
clojure.main$repl$read_eval_print__7408$fn__7411.invoke (main.clj:240)
clojure.main$repl$read_eval_print__7408.invoke (main.clj:240)
clojure.main$repl$fn__7417.invoke (main.clj:258)
clojure.main$repl.invokeStatic (main.clj:258)
clojure.main$repl_opt.invokeStatic (main.clj:322)
clojure.main$repl_opt.invoke (main.clj:318)
clojure.main$main.invokeStatic (main.clj:421)
clojure.main$main.doInvoke (main.clj:384)
clojure.lang.RestFn.invoke (RestFn.java:436)
clojure.lang.Var.invoke (Var.java:388)
clojure.lang.AFn.applyToHelper (AFn.java:160)
clojure.lang.Var.applyTo (Var.java:700)
clojure.main.main (main.java:37)