Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

no_state modifier no longer supported #3452

Open
mattulbrich opened this issue Apr 2, 2024 · 0 comments
Open

no_state modifier no longer supported #3452

mattulbrich opened this issue Apr 2, 2024 · 0 comments

Comments

@mattulbrich
Copy link
Member

Description

KeY used to have support for a model method modifier no_state indicating that a method must not at all read from the heap.

Now, using no_state makes KeY throw a technical exception which is not even reported in UI.

Reproducible

always

Steps to reproduce

Load the example and try to run the PO for b:
A.java.txt

It should load, but crashes with a stacktrace on the CLI.

Additional information

git-bisecting revealed that this bug has been around for many years.

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: Cannot invoke "de.uka.ilkd.key.logic.Term.op()" because "term" is null
	at de.uka.ilkd.key.logic.label.OriginTermLabel.canAddLabel(OriginTermLabel.java:198)
	at de.uka.ilkd.key.logic.TermBuilder.addLabelToAllSubs(TermBuilder.java:1654)
	at de.uka.ilkd.key.logic.TermBuilder.addLabelToAllSubs(TermBuilder.java:1685)
	at de.uka.ilkd.key.logic.TermBuilder.addLabelToAllSubs(TermBuilder.java:2302)
	at de.uka.ilkd.key.proof.init.FunctionalOperationContractPO.buildFrameClause(FunctionalOperationContractPO.java:258)
	at de.uka.ilkd.key.proof.init.AbstractOperationPO.createPost(AbstractOperationPO.java:1083)
	at de.uka.ilkd.key.proof.init.AbstractOperationPO.createModelPOTerm(AbstractOperationPO.java:1147)
	at de.uka.ilkd.key.proof.init.AbstractOperationPO.readProblem(AbstractOperationPO.java:404)
	at de.uka.ilkd.key.proof.init.ProblemInitializer.startProver(ProblemInitializer.java:591)
	at de.uka.ilkd.key.gui.ProofManagementDialog.findOrStartProof(ProofManagementDialog.java:478)
	at de.uka.ilkd.key.gui.ProofManagementDialog.lambda$new$5(ProofManagementDialog.java:221)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant