$ perl -MNeo4j::Bolt -e "Neo4j::Bolt->set_log_level('TRACE'); Neo4j::Bolt->connect(...)"
DEBUG [connection]: attempting connection to ::1 [7687]
INFO [connection]: connection to ::1 [7687] failed: Connection refused
DEBUG [connection]: attempting connection to 127.0.0.1 [7687]
TRACE [connection]: opened socket to localhost [7687] (fd=5)
INFO [connection]: connected (0x7fc562f5c3e0) to localhost:7687 (insecure)
DEBUG [connection]: connection 0x7fc562f5c3e0 using protocol version 5
TRACE [connection]: enqu INIT{user_agent: "libneo4j-client/2.3.0", scheme: basic, principal: "", credentials: ****}} (0x7fc558008000) in 0x7fc562f5c3e0
DEBUG [connection]: sent INIT (0x7fc558008000) in 0x7fc562f5c3e0
DEBUG [connection]: rcvd FAILURE in response to INIT (0x7fc558008000)
TRACE [connection]: FAILURE in 0x7fc562f5c3e0 (response to INIT): {code:"Neo.ClientError.Request.Invalid",message:"Illegal value for field \"bolt_agent\": Must be a map with string keys and string values."}
ERROR [connection]: Session initialization failed: Illegal value for field "bolt_agent": Must be a map with string keys and string values.
Segmentation fault: 11
Using perlbolt’s feat-v5.0 branch doesn’t fix this issue. The issue also occurs when using libneo4j-omni’s CLI.
Quick googling turns up the following commit. It suggests that Neo4j version numbers and Bolt version numbers no longer match up, which would mean the client’s protocol version support declaration is incorrect. However, I haven’t investigated further.
The segmentation fault doesn’t always occur. When it does occur, it’s always reported to be in neo4j_map_kget(). When it does not occur, the connection fails anyway:
TRACE [connection]: Connection failed in request->receive() (receive_responses) on 0x7fc9b565f9d0
Failure code was: o;?
Message was:
INFO [connection]: disconnected 0x7fc9b565f9d0
Note the mangled failure code in this case. Sometimes it just says ok. I feel reminded of perlbolt#53.
I can’t connect to a Neo4j 5.9.0 server using Neo4j::Client 0.52:
Using perlbolt’s feat-v5.0 branch doesn’t fix this issue. The issue also occurs when using libneo4j-omni’s CLI.
Quick googling turns up the following commit. It suggests that Neo4j version numbers and Bolt version numbers no longer match up, which would mean the client’s protocol version support declaration is incorrect. However, I haven’t investigated further.
https://github.com/neo4j/neo4j-java-driver/commit/8b6932c00092e909458a32d39f422d28f9cffc38
The segmentation fault doesn’t always occur. When it does occur, it’s always reported to be in
neo4j_map_kget()
. When it does not occur, the connection fails anyway:Note the mangled failure code in this case. Sometimes it just says
ok
. I feel reminded of perlbolt#53.