antlr / antlr-php-runtime

PHP Runtime for ANTLR4
BSD 3-Clause "New" or "Revised" License
84 stars 20 forks source link

Infinite loop in lazy hashcode computation #35

Closed kaby76 closed 1 year ago

kaby76 commented 1 year ago

I'm going through as many of the v4 grammars as possible with my fix for #12. But, I failed on an infinite loop in the lazy computation for the acme grammar, first example input, on a PredictionContext objects. (In Java and CSharp, the has code is computed immediately at the time of construction of a PredictionContext object (looks like for ArrayPredictionContext). I've verified it for for the current "dev" branch. Note, the grammar contains both identifier and IDENTIFIER, so one needs to be renamed. I chose to rename identifier using ` trparse *.g4 | trrename -r 'identifier,identifier' | trsponge -c`._

Kenne@DESKTOP-DL44R7B MINGW64 ~/issues/issue-3462/grammars-v4/acme/Generated-PHP
$ make test
bash test.sh
../examples/cmu/ClientAndServerFam.acmetest
PHP Fatal error:  Uncaught Error: Xdebug has detected a possible infinite loop, and aborted your script with a stack depth of '256' frames in C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php:22
Stack trace:
#0 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#1 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#2 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#3 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#4 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#5 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#6 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#7 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#8 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#9 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#10 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#11 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#12 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#13 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#14 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#15 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#16 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#17 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#18 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#19 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#20 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#21 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#22 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#23 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#24 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#25 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#26 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#27 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#28 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#29 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#30 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#31 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#32 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#33 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#34 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#35 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#36 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#37 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#38 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#39 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#40 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#41 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#42 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#43 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#44 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#45 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#46 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#47 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#48 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#49 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#50 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#51 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#52 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#53 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#54 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#55 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#56 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#57 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#58 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#59 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#60 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#61 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#62 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#63 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#64 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#65 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#66 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#67 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#68 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#69 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#70 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#71 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#72 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#73 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#74 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#75 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#76 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#77 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#78 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#79 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#80 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#81 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#82 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#83 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#84 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#85 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#86 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#87 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#88 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#89 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#90 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#91 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#92 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#93 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#94 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#95 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#96 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#97 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#98 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#99 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#100 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#101 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#102 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#103 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#104 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#105 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#106 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#107 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#108 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#109 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#110 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#111 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#112 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#113 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#114 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#115 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#116 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#117 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#118 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#119 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#120 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#121 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#122 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#123 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#124 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#125 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#126 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#127 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#128 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#129 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#130 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#131 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#132 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#133 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#134 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#135 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#136 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#137 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#138 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#139 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#140 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#141 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#142 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#143 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#144 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#145 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#146 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#147 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#148 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#149 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#150 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#151 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#152 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#153 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#154 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#155 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#156 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#157 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#158 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#159 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#160 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#161 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#162 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#163 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#164 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#165 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#166 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#167 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#168 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#169 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#170 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#171 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#172 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#173 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#174 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#175 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#176 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#177 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#178 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#179 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#180 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#181 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#182 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#183 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#184 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#185 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#186 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#187 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#188 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#189 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#190 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#191 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\SingletonPredictionContext.php(100): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#192 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\PredictionContexts\PredictionContext.php(112): Antlr\Antlr4\Runtime\PredictionContexts\SingletonPredictionContext->computeHashCode()
#193 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(44): Antlr\Antlr4\Runtime\PredictionContexts\PredictionContext->hashCode()
#194 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(26): Antlr\Antlr4\Runtime\Comparison\Hasher::hashValue()
#195 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php(16): Antlr\Antlr4\Runtime\Comparison\Hasher::hashArray()
#196 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Atn\ATNConfig.php(144): Antlr\Antlr4\Runtime\Comparison\Hasher::hash()
#197 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Atn\ATNConfigSet.php(103): Antlr\Antlr4\Runtime\Atn\ATNConfig->hashCode()
#198 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Utils\Set.php(68): Antlr\Antlr4\Runtime\Comparison\Equivalence@anonymous->hash()
#199 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Atn\ATNConfigSet.php(141): Antlr\Antlr4\Runtime\Utils\Set->getOrAdd()
#200 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Atn\ParserATNSimulator.php(1550): Antlr\Antlr4\Runtime\Atn\ATNConfigSet->add()
#201 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Atn\ParserATNSimulator.php(1528): Antlr\Antlr4\Runtime\Atn\ParserATNSimulator->closure_()
#202 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Atn\ParserATNSimulator.php(1610): Antlr\Antlr4\Runtime\Atn\ParserATNSimulator->closureCheckingStopState()
#203 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Atn\ParserATNSimulator.php(1528): Antlr\Antlr4\Runtime\Atn\ParserATNSimulator->closure_()
#204 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Atn\ParserATNSimulator.php(1444): Antlr\Antlr4\Runtime\Atn\ParserATNSimulator->closureCheckingStopState()
#205 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Atn\ParserATNSimulator.php(971): Antlr\Antlr4\Runtime\Atn\ParserATNSimulator->closure()
#206 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Atn\ParserATNSimulator.php(476): Antlr\Antlr4\Runtime\Atn\ParserATNSimulator->computeStartState()
#207 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Atn\ParserATNSimulator.php(356): Antlr\Antlr4\Runtime\Atn\ParserATNSimulator->execATN()
#208 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6353): Antlr\Antlr4\Runtime\Atn\ParserATNSimulator->adaptivePredict()
#209 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6307): acmeParser->dRAndExpression()
#210 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6265): acmeParser->dRIffExpression()
#211 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6223): acmeParser->aSTDRImpliesExpression()
#212 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6875): acmeParser->designRuleExpression()
#213 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6817): acmeParser->parentheticalExpression()
#214 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6771): acmeParser->primitiveExpression()
#215 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6655): acmeParser->dRNegativeExpression()
#216 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6596): acmeParser->dRMultiplicativeExpression()
#217 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6523): acmeParser->dRAdditiveExpression()
#218 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6464): acmeParser->dRRelationalExpression()
#219 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6435): acmeParser->dREqualityExpression()
#220 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6349): acmeParser->dRNegateExpression()
#221 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6307): acmeParser->dRAndExpression()
#222 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6276): acmeParser->dRIffExpression()
#223 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6223): acmeParser->aSTDRImpliesExpression()
#224 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(7283): acmeParser->designRuleExpression()
#225 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6841): acmeParser->quantifiedExpression()
#226 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6771): acmeParser->primitiveExpression()
#227 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6655): acmeParser->dRNegativeExpression()
#228 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6596): acmeParser->dRMultiplicativeExpression()
#229 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6523): acmeParser->dRAdditiveExpression()
#230 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6464): acmeParser->dRRelationalExpression()
#231 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6435): acmeParser->dREqualityExpression()
#232 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6349): acmeParser->dRNegateExpression()
#233 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6307): acmeParser->dRAndExpression()
#234 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6265): acmeParser->dRIffExpression()
#235 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6223): acmeParser->aSTDRImpliesExpression()
#236 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(7283): acmeParser->designRuleExpression()
#237 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6841): acmeParser->quantifiedExpression()
#238 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6771): acmeParser->primitiveExpression()
#239 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6655): acmeParser->dRNegativeExpression()
#240 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6596): acmeParser->dRMultiplicativeExpression()
#241 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6523): acmeParser->dRAdditiveExpression()
#242 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6464): acmeParser->dRRelationalExpression()
#243 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6435): acmeParser->dREqualityExpression()
#244 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6349): acmeParser->dRNegateExpression()
#245 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6307): acmeParser->dRAndExpression()
#246 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6265): acmeParser->dRIffExpression()
#247 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(6223): acmeParser->aSTDRImpliesExpression()
#248 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(5954): acmeParser->designRuleExpression()
#249 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(1655): acmeParser->designRule()
#250 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(1464): acmeParser->acmeFamilyBody()
#251 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\acmeParser.php(1201): acmeParser->acmeFamilyDeclaration()
#252 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\Test.php(163): acmeParser->acmeCompUnit()
#253 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\Test.php(126): DoParse()
#254 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\Test.php(97): ParseFilename()
#255 C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\Test.php(179): main()
#256 {main}
  thrown in C:\msys64\home\Kenne\issues\issue-3462\grammars-v4\acme\Generated-PHP\vendor\antlr\antlr4-php-runtime\src\Comparison\Hasher.php on line 22
mingw32-make: *** [makefile:27: test] Error 1
marcospassos commented 1 year ago

Oh, it seems we may have a circular reference. Hasher doesn't handle such cases, indeed.

Can you check if it holds? If so, is circular reference expected, or is it the root cause?

marcospassos commented 1 year ago

Java's hashCode implementation doesn't seem to handle circular references, either. So I believe that it should not be happening there.

kaby76 commented 1 year ago

Not sure what the problem is yet. But, it runs differently under the debugger (program completes). Double-checking the build. I may have to rely on prints to find the problem. Doesn't seem like there's any odd parameters on the xdebug spawn either.

kaby76 commented 1 year ago

So far, I've verified a circular parent chain for PredictionContext. That's why hashing crashes.

kaby76 commented 1 year ago

Recursion problem also occurs for the ada2012 grammar with input pkg1.adb, which a very small input file.

kaby76 commented 1 year ago

After implementing code to find strongly connected cycles in the PredictionContext data structures, and finding nothing, I did a search for the error message and found that it's caused by Xdebug not configured correctly. Add this to your php.ini file:

[xdebug]
xdebug.max_nesting_level=1000

Everything is now starting to work.