AToMPM / AToMPM/atompm

AToMPM crashes when deleting an element which is no longer typed.

Open
#23 0 comments 0 reactions 0 assignees View on GitHub
bug crash enhancement
Dominant language
JavaScript
Stars
25
Forks
15
PR merge metrics
No merged PRs in 30d

Description

opened 10 months ago by claudio

###Claudio

Consider the following scenario: I create a metamodel, and then I create some model, to try it out. Then I change the metamodel, removing some type X. When I go back to the created model, after reloading the toolbar, if I delete any element of type X, AToMPM crashes hard (I need to restart the server...).

Can AToMPM just tolerate the removal of an untyped element? This is probably due to a failed lookup.

### Simon

Ah... language evolution :) Not an easy problem at all (refer to my master thesis for more information). I do understand it's frustrating, but you cannot expect this to be fixed easily. You're welcome to take a look though, there is indeed an infinite loop while trying to execute event handlers in mmmk.js at line 810.

The best solution would be to remove any elements that no longer have a type when loading the element. But again, it's probably not that easy.

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce the metamodel/model scenario described in the issue, then inspect mmmk.js around line 810 where event handlers enter an infinite loop. Trace the failed type lookup during deletion or loading, and consider the stated goal of tolerating elements whose type was removed; done means the server no longer crashes or requires a restart.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.