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

Error Type cyclical extensions cause the text editor to lock up #2455

Closed
RyanMcilnay opened this issue Sep 24, 2020 · 3 comments · Fixed by #2489
Closed

Error Type cyclical extensions cause the text editor to lock up #2455

RyanMcilnay opened this issue Sep 24, 2020 · 3 comments · Fixed by #2489
Assignees
Milestone

Comments

@RyanMcilnay
Copy link
Contributor

Summary

Cyclic extensions between error types cause the text editor to lock up occasionally.

Information that might help find the issue:
I have noticed in the small example model that is pasted below, if both the Cyclic_Error_Types::a and ErrorLibrary::AboveRange properties of the in propagation are removed, the editor does not lock up.

Expected and Current Behavior

Steps to Reproduce

  1. Copy and paste the model below into the text editor.
  2. Uncomment line 19: b: type extends a;
package Cyclic_Error_Types
public
system sys
	features
			i: in data port;
	end sys;

	system implementation sys.impl
		annex EMV2 {**
			error propagations
				i: not in propagation {Cyclic_Error_Types::a, ErrorLibrary::AboveRange};
			end propagations;
		**};
	end sys.impl;

	annex EMV2 {**
		error types
			a: type extends b;   
			--b: type extends a;
		end types;
	**};
end Cyclic_Error_Types;

Environment

  • OSATE Version: 2.8.0
  • Operating System: Windows 10
@lwrage lwrage added emv2 and removed core labels Sep 25, 2020
@lwrage lwrage added this to the 2.9.1 milestone Oct 2, 2020
@keh181
Copy link
Contributor

keh181 commented Oct 12, 2020

@RyanMcilnay Would you be able to provide more information or another model for this issue? I was unable to reproduce the behavior you described above.

@philip-alldredge
Copy link
Collaborator

@keh181 do you have the outline open? I was able to reproduce the issue Ryan described by following the steps he provided. If the outline isn't open then the UI remains responsive but "Xtext validation" runs in the background and appears to be stuck.

Attached is a stack trace from the threads which appears to be most relevant. It was captured while the outline was open. It appears to be a deadlock.

deadlock_stacktrace.txt

@keh181
Copy link
Contributor

keh181 commented Oct 12, 2020

@philip-alldredge I am not sure if I originally had the outline open, but I can now get it to reproduce. Thank you for the stack trace and extra information.

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

Successfully merging a pull request may close this issue.

4 participants