Skip to content

Upgrade to latest ProtocolState-Fuzzer#15

Merged
henrikschnor merged 3 commits intomainfrom
upgrade-PSF
Mar 26, 2026
Merged

Upgrade to latest ProtocolState-Fuzzer#15
henrikschnor merged 3 commits intomainfrom
upgrade-PSF

Conversation

@kostis
Copy link
Copy Markdown
Member

@kostis kostis commented Mar 25, 2026

An attempt to upgrade to the latest PSF which requires Java 21 and whose API has slightly changed.

For some reason, learning fails (and so do the CI tests). Help from @henrikschnor is needed at this point.

Once this is fixed, this PR closes #2

@kostis kostis requested a review from henrikschnor March 25, 2026 11:49
@henrikschnor
Copy link
Copy Markdown
Collaborator

The test.log in the build artifacts shows this error:

15:14:29 [main] DEBUG : SulBLE - SulBLE: post
15:14:29 [main] INFO  : StateFuzzerStandard - Generated new hypothesis: hyp1.dot
15:14:29 [main] INFO  : StateFuzzerStandard - Validating hypothesis

15:14:29 [Thread-0] DEBUG : SulBLE - SulBLE: pre
Exception in thread "Thread-0" jep.JepException: Invalid thread access.
        at jep.Jep.isValidThread(Jep.java:244)
        at jep.Jep.exec(Jep.java:354)
        at com.github.protocolfuzzing.blefuzzer.SulBLE.pre(SulBLE.java:53)
        at com.github.protocolfuzzing.protocolstatefuzzer.components.sul.core.sulwrappers.SULLivenessWrapper.pre(SULLivenessWrapper.java:44)
        at de.learnlib.filter.statistic.sul.CounterSUL.pre(CounterSUL.java:43)
        at com.github.protocolfuzzing.protocolstatefuzzer.components.sul.core.sulwrappers.LoggingWrapper.pre(LoggingWrapper.java:38)
        at de.learnlib.oracle.membership.SULOracle.answerQuery(SULOracle.java:49)
        at de.learnlib.oracle.membership.SULOracle.answerQuery(SULOracle.java:31)
        at de.learnlib.oracle.MembershipOracle.answerQuery(MembershipOracle.java:40)
        at com.github.protocolfuzzing.protocolstatefuzzer.components.learner.oracles.CESanitizingSULOracle.processQuery(CESanitizingSULOracle.java:68)
        at de.learnlib.oracle.MembershipOracle.answerQuery(MembershipOracle.java:46)
        at de.learnlib.oracle.MembershipOracle.answerQuery(MembershipOracle.java:40)
        at com.github.protocolfuzzing.protocolstatefuzzer.components.learner.oracles.CachingSULOracle.processQueries(CachingSULOracle.java:75)
        at de.learnlib.oracle.MembershipOracle.processQuery(MembershipOracle.java:62)
        at com.github.protocolfuzzing.protocolstatefuzzer.components.learner.oracles.LoggingSULOracle.processQueries(LoggingSULOracle.java:71)
        at com.github.protocolfuzzing.protocolstatefuzzer.components.learner.oracles.RandomWpMethodEQOracle.lambda$doFindCounterExample$0(RandomWpMethodEQOracle.java:155)
        at java.base/java.lang.Thread.run(Thread.java:1583)
15:14:29 [main] INFO  : StateFuzzerStandard - Finished Experiment
15:14:29 [main] INFO  : StateFuzzerStandard - Number of refinement rounds: 1
15:14:29 [main] INFO  : StateFuzzerStandard - Results stored in experiments/results/NimBLE_pairing

IIRC there were some changes regarding multi-threading in PSF? It seems like the hypothesis validation is running in a different thread now, which the java embedded python interpreter doesn't like. I'll see if this can be fixed.

@henrikschnor henrikschnor merged commit ef6c8d3 into main Mar 26, 2026
6 checks passed
@henrikschnor henrikschnor deleted the upgrade-PSF branch March 26, 2026 15:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Upgrade to latest PSF

2 participants