Running MPS from sources

Hi,

MPS is an open source project, so we can compile it ourselves. Doing so is particularly important if you want to live on the bleading edge of the development, i.e., if you are interested in the before-alpha features and bug fixes.

There isn't much documentation about how to do that, however. Mihail was kind enough to create a bug asking for more documentation on the process, but I thought I could start here with my own experiences trying to do that. Maybe this will help others, and maybe it can help with ideas for the documentation later.

Note that this is what *I think* is correct, it may be completely wrong ;-)

1 - Getting the sources

That's nicely explained in this blog entry: http://blogs.jetbrains.com/mps/2010/08/mps-source-code-repository-is-publicly-available-now/

Essentially you have to get it using git. You can either use git directly

git clone git://git.jetbrains.org/mps/mps.git

or use IntelliJ IDEA to clone using the same URL.

2 - Compiling

If all you want is to compile the sources and run MPS, go to step 3 (Building a distribution). If you want to see the sources and run MPS in debug mode, you'll need IntelliJ IDEA. I downloaded the community version and opened the single MPS project there. Then you can go to Build->Make Project (or Ctrl-9) and it will compile the project. Finally, you can use the MPSLauncher, MPSDebug, etc to run an instance of MPS directly from InteliJ IDEA.

3 - Building a distribution

There's a single script that can be executed in Linux (at least I used Linux, maybe there's a way to do that in other operating systems) to perform the full build and package a distribution. It is found in mps/build, so:

cd mps/build

./run.build.sh.

That will take a while. It will compile everything and will package the distribution in a directory called MPS.artifacts. You can then unzip the MPS-XX.zip file and run it just like you run the regular distribution.

4 - Performing changes in MPS

So, here's where my knowledge of this thing stops. I am not sure which process to follow when developing MPS itself. If I run MPS from IntelliJ, I only see its sources in the Modules Pool directory. Usually modules there are not editable, but now they where. I tried to change things there and "regenerate language", but only got errors. Sometimes they say "compiled with IntelliJ, but no IntelliJ instance found" (or something similar).

I imagine that it is possible to edit say, baseLanguage, in this MPS instance, and then test it directly in the same instance without having to regenerate java and compile in IntelliJ, but I am not sure how to do that.

5 - Caveat

I am developing a language which is working (reasonably) fine in MPS 2.0_M1. By using methods 2 and 3 here I was able to open this language in MPS and compile parts of it. But when I generate some of my modules, I get some "...smodel.DynamicReference] couldn't resolve reference..." errors. They could be a result of problems in my compilation of MPS. They could also be the result of new developments in MPS since M1 that rendered my modules wrong. I am not sure yet, so take my description here with a grain of salt.

Cheers,

Thiago

11 comments
Comment actions Permalink

Hi!

There isn't much documentation about how to do that, however. Mihail was kind enough to create a bug asking for more documentation on the process, but I thought I could start here with my own experiences trying to do that. Maybe this will help others, and maybe it can help with ideas for the documentation later.

Note that this is what *I think* is correct, it may be completely wrong ;-)

First of all, thank you very much for sharing your experience here. I think this posting will be helpful for everybody building MPS unless we mentioned bug is closed. :-) You are basicly doing everything properly. See my comments below:

4 - Performing changes in MPS

So, here's where my knowledge of this thing stops. I am not sure which process to follow when developing MPS itself. If I run MPS from IntelliJ, I only see its sources in the Modules Pool directory. Usually modules there are not editable, but now they where. I tried to change things there and "regenerate language", but only got errors. Sometimes they say "compiled with IntelliJ, but no IntelliJ instance found" (or something similar).

I imagine that it is possible to edit say, baseLanguage, in this MPS instance, and then test it directly in the same instance without having to regenerate java and compile in IntelliJ, but I am not sure how to do that.

You are right - in general you should be able to simply modify corresponding MPS model and regenerate code.

In addition to that MPS contains some set of so-called "bootstrap" modules. Such modules should be compiled in IntelliJ IDEA. If you are trying to modify one of bootstrap modules from MPS you need to have "JetBrains MPS Integration" plugin installed into IntelliJ IDEA you are using to run MPS.

To do that:

  • execute MPS from IntelliJ IDEA
  • call Tools/Install IntelliJ IDEA Plugin
  • restart MPS

this should solve any problems with generated code compilation within IntelliJ IDEA.

5 - Caveat

I am developing a language which is working (reasonably) fine in MPS 2.0_M1. By using methods 2 and 3 here I was able to open this language in MPS and compile parts of it. But when I generate some of my modules, I get some "...smodel.DynamicReference] couldn't resolve reference..." errors. They could be a result of problems in my compilation of MPS. They could also be the result of new developments in MPS since M1 that rendered my modules wrong. I am not sure yet, so take my description here with a grain of salt.

I think the reason of these problem is in MPS state you are using now. As normal open source project we are breaking some functionality from time to time especially in between of milestones.. ;-) I recommend you to update MPS sources after some time and file bug report in case this problem shown up again.

0
Comment actions Permalink

In addition to Alex' post:

In 4:

1) You should also restart Idea

2) MPS plugin, which makes compilation in Idea possible, was written for internal use and is not guaranteed to support all Idea versions. Now it supports at least Idea 9 as MPS team is using it.

3) You can change baseLanguage without MPS plugin working (the only thing MPS plugin actually does is starting make in Idea). In this case, you just perform "make" in Idea and (after make is finished) - "Tools->Reload all classes" in MPS.

-------------

BTW, for you to understand what "bootstrap language" is in this case (not sure you really need it, but it can look strange that some languages are compiled in Idea, though it's really an architecture problem, which will be eliminated).

So, sometimes we need to reference some concrete concepts from MPS code written in Idea. In this case, we use so-called "adapters", which are generated from MPS concepts. Theese adapters must be contained in one of Idea's source folder for MPS project to be compilable. In this case we compile all the language in Idea. This will be changed in future, but it's quite a big work (and not so critical), so it's not done for now.

Regards,

Mihail

0
Comment actions Permalink

Hi,

Alex and Mihail, thanks for the help!

I am using IDEA 9.0.3, so I think it should be fine. I installed the plugin but still cannot completely test it because when I try to compile some MPS project, like baseLanguage, I get the same type of errors that I get with my project (about references not being resolved).

But it's great to understand what's going on!

A final thing I should mention, I struggled a bit with memory errors. In the beginning I thought I should add a lot of memory to IDEA and MPS, so I added over 2Gb to the JVM heap. But then I figured out somewhere in the net that the memory errors I was getting were Page errors or something, meaning that the process was trying to allocate memory outside of the JVM heap, and by giving so much memory to the heap, there was none left outside.

In short, don't give too much memory to your java heap because IDEA/MPS need memory outside of it in your system!

Cheers,

Thiago

0
Comment actions Permalink

Hi!

I am using IDEA 9.0.3, so I think it should be fine. I installed the plugin but still cannot completely test it because when I try to compile some MPS project, like baseLanguage, I get the same type of errors that I get with my project (about references not being resolved).

Ok. Looks like you have some bad state of MPS sources... :-) Did you try to update everything from git?

A final thing I should mention, I struggled a bit with memory errors. In the beginning I thought I should add a lot of memory to IDEA and MPS, so I added over 2Gb to the JVM heap. But then I figured out somewhere in the net that the memory errors I was getting were Page errors or something, meaning that the process was trying to allocate memory outside of the JVM heap, and by giving so much memory to the heap, there was none left outside.

In short, don't give too much memory to your java heap because IDEA/MPS need memory outside of it in your system!

Concerning IntelliJ IDEA memory settings, I'm currently working with "IntelliJ IDEA Community Edition 9.0.3" on my notebook and I'm able to compile MPS project with default memory settings (see bin/idea.exe.vmoptions):

-Xms128m

-Xmx512m

-XX:MaxPermSize=250m

Concerning an MPS - I'm running MPS with "MPSLauncher" run configuration  defined in IDEA project and using memory settings specified there (-Xmx1450m -Xss1024k -XX:PermSize=150m). I suppose you should be able to do the same on your computer (I'm working on 32-bit windows/java for 64-bit java memory requirements are higher ;-)).
So, I recommend you to try default settings. BTW, are you working on 32-bit or 64-bit OS/java? How much physical memory do you have installed on your computer?
0
Comment actions Permalink

Hi Alex,

I am using 32bit Java on a machine with Ubuntu and 3Gb RAM. I am running IDEA with -Xmx1240m -XX:MaxPermSize=512m and I changed the MPSLauncher to use the same. Things are going fine, I had a problem when I ran IDEA with over 2Gb, it could not finish caching...

I have the current state of the public git repository, I think. I've been running "git pull" for a couple of days but I haven't seen any change. Do you use another repository for development and only push to the public repository when things are more stable? Or am I doing something wrong?

[]s

Thiago

0
Comment actions Permalink

Hi!

I have the current state of the public git repository, I think. I've been running "git pull" for a couple of days but I haven't seen any change. Do you use another repository for development and only push to the public repository when things are more stable? Or am I doing something wrong?

Yes, we are using internal git repository. Publicly visible one should be updated automatically with all the changes. Sometimes we are using private branches for developing some features and then merging it back to master branch..

0
Comment actions Permalink

Just FYI.

I'm working on 64-bit MacOS and use:

Idea: Xmx=768, PermGen=128

MPS: MPSDebug configuration, Xmx=1500, PermGen=150

Idea (I use Idea X EAP) is restarted once in a couple weeks (just when I need a reboot because of some system updates). As for MPS - I don't use it for a long time normally nowadays.

In YouTrack project they mostly use MPS with parameters same to mine and they usually don't restart it during the working day.

Regards,

Mihail

0
Comment actions Permalink

Thiago,

I have an idea about what went wrong. Suppose that some jar files, that should be visible to MPS (MPS can reference some classes from them, for example), are not  visible or they are from different JDK version. In this case, your "stub"  models containing MPS counterparts for those jar files differ from ours, and some required classes can be unreferencable from your instance of MPS. In this case, an unresolved reference can appear in your MPS, but will be not reproducible on ours.

Could you please click on such a message? There should apear an editor containing a red cell (unresolved reference). The interesting is what this reference should point to - a class from JDK, your project, maybe MPS codebase?

Also, it would be very helpful if you could provide the startup command (shown in Idea's console at the first line).

[Added]: I've tried to "regenerate" baseLanguage now, and generation failed with another error. I've posted 2 critical bugs  - I think it's better not to update until they are fixed:

http://youtrack.jetbrains.net/issue/MPS-10594

http://youtrack.jetbrains.net/issue/MPS-10595

Regards,

Mihail

0
Comment actions Permalink

Hi Mihail,

I am using the following java version:

java version "1.6.0_22"
Java(TM) SE Runtime Environment (build 1.6.0_22-b04)
Java HotSpot(TM) Server VM (build 17.1-b03, mixed mode)

This is the startup command (long eh?):

/opt/java/bin/java -client -ea -Xmx1450m -Xss1024k -XX:PermSize=256m -Dmps.internal=true -XX:+HeapDumpOnOutOfMemoryError -Dcom.sun.management.jmxremote -Dapple.laf.useScreenMenuBar=true -Dcom.apple.mrj.application.apple.menu.about.name=JetBrains MPS -Didea.launcher.port=7532 -Didea.launcher.bin.path=/opt/idea-IC-95.429/bin -Dfile.encoding=UTF-8 -classpath /opt/jdk1.6.0_22/jre/lib/alt-rt.jar:/opt/jdk1.6.0_22/jre/lib/jsse.jar:/opt/jdk1.6.0_22/jre/lib/rt.jar:/opt/jdk1.6.0_22/jre/lib/resources.jar:/opt/jdk1.6.0_22/jre/lib/management-agent.jar:/opt/jdk1.6.0_22/jre/lib/charsets.jar:/opt/jdk1.6.0_22/jre/lib/jce.jar:/opt/jdk1.6.0_22/jre/lib/plugin.jar:/opt/jdk1.6.0_22/jre/lib/javaws.jar:/opt/jdk1.6.0_22/jre/lib/deploy.jar:/opt/jdk1.6.0_22/jre/lib/ext/dnsns.jar:/opt/jdk1.6.0_22/jre/lib/ext/sunjce_provider.jar:/opt/jdk1.6.0_22/jre/lib/ext/sunpkcs11.jar:/opt/jdk1.6.0_22/jre/lib/ext/localedata.jar:/data/mps/classes:/data/mps/MPSPlugin/apiclasses:/data/mps/lib/commons-logging-1.1.jar:/data/mps/core/baseLanguage/baseLanguage/classes:/data/mps/lib/asm.jar:/data/mps/lib/beansbinding-1.2.1.jar:/data/mps/core/baseLanguage/collections/classes:/data/mps/core/baseLanguage/collections/runtime/classes:/data/mps/core/baseLanguage/closures/runtime/classes:/data/mps/core/baseLanguage/unitTest/classes:/data/mps/lib/junit-4.7.jar:/data/mps/lib/junit.jar:/data/mps/core/baseLanguage/tuples/runtime/classes:/data/mps/core/baseLanguage/runConfigurations/classes:/data/mps/core/debug/classes:/data/mps/lib/tools.jar:/data/mps/core/debug-api/classes:/data/mps/core/kernel/classes:/data/mps/lib/ecj.jar:/data/mps/core/languageDesign/plugin/classes:/data/mps/core/baseLanguage/classifiers/classes:/data/mps/core/runtime/classes:/data/mps/core/languageDesign/mps-lite/classes:/data/mps/core/kernel/xmlQuery/runtime/classes:/data/mps/lib/jdom.jar:/data/mps/lib/oromatcher.jar:/data/mps/core/baseLanguage/unitTest/solutions/jetbrains.mps.baseLnaguage.unitTest.lib/lib/jmock-2.5.1:/data/mps/core/baseLanguage/unitTest/solutions/jetbrains.mps.baseLnaguage.unitTest.lib/lib/jmock-2.5.1/cglib-2.1_3-src.jar:/data/mps/core/baseLanguage/unitTest/solutions/jetbrains.mps.baseLnaguage.unitTest.lib/lib/jmock-2.5.1/jmock-2.5.1.jar:/data/mps/core/baseLanguage/unitTest/solutions/jetbrains.mps.baseLnaguage.unitTest.lib/lib/jmock-2.5.1/bsh-core-2.0b4.jar:/data/mps/core/baseLanguage/unitTest/solutions/jetbrains.mps.baseLnaguage.unitTest.lib/lib/jmock-2.5.1/cglib-nodep-2.1_3.jar:/data/mps/core/baseLanguage/unitTest/solutions/jetbrains.mps.baseLnaguage.unitTest.lib/lib/jmock-2.5.1/jmock-script-2.5.1.jar:/data/mps/core/baseLanguage/unitTest/solutions/jetbrains.mps.baseLnaguage.unitTest.lib/lib/jmock-2.5.1/objenesis-1.0.jar:/data/mps/core/baseLanguage/unitTest/solutions/jetbrains.mps.baseLnaguage.unitTest.lib/lib/jmock-2.5.1/jmock-junit4-2.5.1.jar:/data/mps/core/baseLanguage/unitTest/solutions/jetbrains.mps.baseLnaguage.unitTest.lib/lib/jmock-2.5.1/jmock-legacy-2.5.1.jar:/data/mps/core/baseLanguage/unitTest/solutions/jetbrains.mps.baseLnaguage.unitTest.lib/lib/jmock-2.5.1/hamcrest-core-1.1.jar:/data/mps/core/baseLanguage/unitTest/solutions/jetbrains.mps.baseLnaguage.unitTest.lib/lib/jmock-2.5.1/hamcrest-library-1.1.jar:/data/mps/core/baseLanguage/unitTest/solutions/jetbrains.mps.baseLnaguage.unitTest.lib/lib/jmock-2.5.1/jmock-junit3-2.5.1.jar:/data/mps/core/baseLanguage/baseLanguageInternal/classes:/data/mps/platform/analyzers/classes:/data/mps/core/baseLanguage/blTypes/classes:/data/mps/core/languageDesign/constraints/classes:/data/mps/core/languageDesign/editor/classes:/data/mps/core/javaParser/classes:/data/mps/core/languageDesign/core/classes:/data/mps/workbench/classes:/data/mps/lib/httpclient.jar:/data/mps/lib/commons-codec-1.3.jar:/data/mps/core/languageDesign/structure/classes:/data/mps/core/languageDesign/typesystem/classes:/data/mps/core/languageDesign/script/classes:/data/mps/core/languageDesign/sharedConcepts/classes:/data/mps/core/languageDesign/smodel/classes:/data/mps/core/baseLanguage/closures/classes:/data/mps/core/languageDesign/intentions/classes:/data/mps/core/languageDesign/findUsages/classes:/data/mps/core/languageDesign/refactoring/classes:/data/mps/core/languageDesign/generator/classes:/data/mps/core/languageDesign/pattern/classes:/data/mps/core/languageDesign/quotation/classes:/data/mps/core/languageDesign/annotations/classes:/data/mps/core/languageDesign/textGen/classes:/data/mps/core/languageDesign/stubs/classes:/data/mps/core/languageDesign/dataFlow/classes:/data/mps/core/languageDesign/dataFlow/runtime/classes:/data/mps/lib/commons-lang-2.4.jar:/data/mps/resources/classes:/data/mps/core/idea-patch/classes:/data/mps/core/languageDesign/test/classes:/data/mps/lib/resources.jar:/data/mps/lib/platform-api.jar:/data/mps/lib/annotations.jar:/data/mps/lib/platform.jar:/data/mps/lib/boot.jar:/data/mps/lib/util.jar:/data/mps/lib/bootstrap.jar:/data/mps/lib/icons.jar:/data/mps/lib/extensions.jar:/data/mps/lib/resources_en.jar:/data/mps/lib/forms_rt.jar:/data/mps/lib/cglib-nodep-2.1_3.jar:/data/mps/lib/execution-api.jar:/data/mps/lib/guava-r06.jar:/data/mps/core/languageDesign/actions/classes:/data/mps/lib/log4j.jar:/data/mps/core/languageDesign/behavior/classes:/data/mps/lib/commons-net-2.0-patched.jar:/data/mps/lib/commons-collections.jar:/data/mps/lib/picocontainer.jar:/data/mps/lib/trove4j.jar:/data/mps/lib/xmlrpc-2.0.jar:/data/mps/lib/xstream.jar:/data/mps/core/generator/classes:/data/mps/core/typesystemEngine/classes:/opt/idea-IC-95.429/lib/idea_rt.jar com.intellij.rt.execution.application.AppMain jetbrains.mps.Launcher nosplash

If I try to regenerate the mpslite language, for example, I get these errors (I copied from the IDEA console):

[ 208486]  ERROR - ns.mps.smodel.DynamicReference -
couldn't resolve reference 'baseMethodDeclaration' from [creator] ClassCreator <no name>[5872759430618917618] in jetbrains.mpslite.editor@5_0
[ 208486]  ERROR - ns.mps.smodel.DynamicReference - cannot resolve reference by string: '_Line_Actions'
[ 208515]  ERROR - ns.mps.smodel.DynamicReference -
couldn't resolve reference 'baseMethodDeclaration' from [creator] ClassCreator <no name>[5872759430618917918] in jetbrains.mpslite.editor@5_0
[ 208517]  ERROR - ns.mps.smodel.DynamicReference - cannot resolve reference by string: 'LinePart_Actions'
[ 208519]  ERROR - ns.mps.smodel.DynamicReference -
couldn't resolve reference 'baseMethodDeclaration' from [creator] ClassCreator <no name>[5872759430618916064] in jetbrains.mpslite.editor@5_0
[ 208520]  ERROR - ns.mps.smodel.DynamicReference - cannot resolve reference by string: 'LinePart_Actions'
[ 208522]  ERROR - ns.mps.smodel.DynamicReference -
couldn't resolve reference 'baseMethodDeclaration' from [creator] ClassCreator <no name>[5872759430618913716] in jetbrains.mpslite.editor@5_0
[ 208524]  ERROR - ns.mps.smodel.DynamicReference - cannot resolve reference by string: 'LinePart_Actions'
[ 208535]  ERROR - ns.mps.smodel.DynamicReference -
couldn't resolve reference 'baseMethodDeclaration' from [creator] ClassCreator <no name>[5872759430618913911] in jetbrains.mpslite.editor@5_0
[ 208536]  ERROR - ns.mps.smodel.DynamicReference - cannot resolve reference by string: 'LinePart_Actions'
[ 208539]  ERROR - ns.mps.smodel.DynamicReference -
couldn't resolve reference 'baseMethodDeclaration' from [creator] ClassCreator <no name>[5872759430618916331] in jetbrains.mpslite.editor@5_0
[ 208542]  ERROR - ns.mps.smodel.DynamicReference - cannot resolve reference by string: 'ChildPart_Actions'
[ 208544]  ERROR - ns.mps.smodel.DynamicReference -
couldn't resolve reference 'baseMethodDeclaration' from [creator] ClassCreator <no name>[5872759430618916367] in jetbrains.mpslite.editor@5_0
[ 208550]  ERROR - ns.mps.smodel.DynamicReference - cannot resolve reference by string: 'ChildPart_Actions'
[ 208573]  ERROR - ns.mps.smodel.DynamicReference -
couldn't resolve reference 'baseMethodDeclaration' from [creator] ClassCreator <no name>[5872759430618914453] in jetbrains.mpslite.editor@5_0
[ 208573]  ERROR - ns.mps.smodel.DynamicReference - cannot resolve reference by string: 'LinePart_Actions'
[ 208594]  ERROR - ns.mps.smodel.DynamicReference -
couldn't resolve reference 'baseMethodDeclaration' from [creator] ClassCreator <no name>[5872759430618921010] in jetbrains.mpslite.editor@5_0
[ 208595]  ERROR - ns.mps.smodel.DynamicReference - cannot resolve reference by string: 'LinePart_Actions'
[ 208609]  ERROR - ns.mps.smodel.DynamicReference -
couldn't resolve reference 'baseMethodDeclaration' from [creator] ClassCreator <no name>[5872759430618921112] in jetbrains.mpslite.editor@5_0
[ 208609]  ERROR - ns.mps.smodel.DynamicReference - cannot resolve reference by string: 'LinePart_Actions'
[ 208623]  ERROR - ns.mps.smodel.DynamicReference -
couldn't resolve reference 'baseMethodDeclaration' from [creator] ClassCreator <no name>[5872759430618921214] in jetbrains.mpslite.editor@5_0
[ 208624]  ERROR - ns.mps.smodel.DynamicReference - cannot resolve reference by string: 'LinePart_Actions'
[ 209439]  ERROR - ns.mps.smodel.DynamicReference -
couldn't resolve reference 'baseMethodDeclaration' from [creator] ClassCreator <no name>[5872759430618917618] in jetbrains.mpslite.editor@5_1
[ 209439]  ERROR - ns.mps.smodel.DynamicReference - cannot resolve reference by string: '_Line_Actions'
[ 209439]  ERROR - rains.mps.textGen.SNodeTextGen - textgen error in [creator] ClassCreator <no name>[5872759430618917618] in jetbrains.mpslite.editor@5_1
[ 209478]  ERROR - ns.mps.smodel.DynamicReference -
couldn't resolve reference 'baseMethodDeclaration' from [creator] ClassCreator <no name>[5872759430618917918] in jetbrains.mpslite.editor@5_1
[ 209479]  ERROR - ns.mps.smodel.DynamicReference - cannot resolve reference by string: 'LinePart_Actions'
[ 209481]  ERROR - rains.mps.textGen.SNodeTextGen - textgen error in [creator] ClassCreator <no name>[5872759430618917918] in jetbrains.mpslite.editor@5_1
[ 209486]  ERROR - ns.mps.smodel.DynamicReference -
couldn't resolve reference 'baseMethodDeclaration' from [creator] ClassCreator <no name>[5872759430618916064] in jetbrains.mpslite.editor@5_1
[ 209488]  ERROR - ns.mps.smodel.DynamicReference - cannot resolve reference by string: 'LinePart_Actions'
[ 209489]  ERROR - rains.mps.textGen.SNodeTextGen - textgen error in [creator] ClassCreator <no name>[5872759430618916064] in jetbrains.mpslite.editor@5_1
[ 209494]  ERROR - ns.mps.smodel.DynamicReference -
couldn't resolve reference 'baseMethodDeclaration' from [creator] ClassCreator <no name>[5872759430618913716] in jetbrains.mpslite.editor@5_1
[ 209495]  ERROR - ns.mps.smodel.DynamicReference - cannot resolve reference by string: 'LinePart_Actions'
[ 209496]  ERROR - rains.mps.textGen.SNodeTextGen - textgen error in [creator] ClassCreator <no name>[5872759430618913716] in jetbrains.mpslite.editor@5_1
[ 209530]  ERROR - ns.mps.smodel.DynamicReference -
couldn't resolve reference 'baseMethodDeclaration' from [creator] ClassCreator <no name>[5872759430618913911] in jetbrains.mpslite.editor@5_1
[ 209553]  ERROR - ns.mps.smodel.DynamicReference - cannot resolve reference by string: 'LinePart_Actions'
[ 209554]  ERROR - rains.mps.textGen.SNodeTextGen - textgen error in [creator] ClassCreator <no name>[5872759430618913911] in jetbrains.mpslite.editor@5_1
[ 209559]  ERROR - ns.mps.smodel.DynamicReference -
couldn't resolve reference 'baseMethodDeclaration' from [creator] ClassCreator <no name>[5872759430618916331] in jetbrains.mpslite.editor@5_1
[ 209561]  ERROR - ns.mps.smodel.DynamicReference - cannot resolve reference by string: 'ChildPart_Actions'
[ 209562]  ERROR - rains.mps.textGen.SNodeTextGen - textgen error in [creator] ClassCreator <no name>[5872759430618916331] in jetbrains.mpslite.editor@5_1
[ 209564]  ERROR - ns.mps.smodel.DynamicReference -
couldn't resolve reference 'baseMethodDeclaration' from [creator] ClassCreator <no name>[5872759430618916367] in jetbrains.mpslite.editor@5_1
[ 209565]  ERROR - ns.mps.smodel.DynamicReference - cannot resolve reference by string: 'ChildPart_Actions'
[ 209566]  ERROR - rains.mps.textGen.SNodeTextGen - textgen error in [creator] ClassCreator <no name>[5872759430618916367] in jetbrains.mpslite.editor@5_1
[ 209620]  ERROR - ns.mps.smodel.DynamicReference -
couldn't resolve reference 'baseMethodDeclaration' from [creator] ClassCreator <no name>[5872759430618914453] in jetbrains.mpslite.editor@5_1
[ 209622]  ERROR - ns.mps.smodel.DynamicReference - cannot resolve reference by string: 'LinePart_Actions'
[ 209623]  ERROR - rains.mps.textGen.SNodeTextGen - textgen error in [creator] ClassCreator <no name>[5872759430618914453] in jetbrains.mpslite.editor@5_1
[ 209694]  ERROR - ns.mps.smodel.DynamicReference -
couldn't resolve reference 'baseMethodDeclaration' from [creator] ClassCreator <no name>[5872759430618921010] in jetbrains.mpslite.editor@5_1
[ 209696]  ERROR - ns.mps.smodel.DynamicReference - cannot resolve reference by string: 'LinePart_Actions'
[ 209698]  ERROR - rains.mps.textGen.SNodeTextGen - textgen error in [creator] ClassCreator <no name>[5872759430618921010] in jetbrains.mpslite.editor@5_1
[ 209745]  ERROR - ns.mps.smodel.DynamicReference -
couldn't resolve reference 'baseMethodDeclaration' from [creator] ClassCreator <no name>[5872759430618921112] in jetbrains.mpslite.editor@5_1
[ 209746]  ERROR - ns.mps.smodel.DynamicReference - cannot resolve reference by string: 'LinePart_Actions'
[ 209747]  ERROR - rains.mps.textGen.SNodeTextGen - textgen error in [creator] ClassCreator <no name>[5872759430618921112] in jetbrains.mpslite.editor@5_1
[ 209800]  ERROR - ns.mps.smodel.DynamicReference -
couldn't resolve reference 'baseMethodDeclaration' from [creator] ClassCreator <no name>[5872759430618921214] in jetbrains.mpslite.editor@5_1
[ 209802]  ERROR - ns.mps.smodel.DynamicReference - cannot resolve reference by string: 'LinePart_Actions'
[ 209803]  ERROR - rains.mps.textGen.SNodeTextGen - textgen error in [creator] ClassCreator <no name>[5872759430618921214] in jetbrains.mpslite.editor@5_1
[ 211566]  ERROR - ns.mps.smodel.DynamicReference -
couldn't resolve reference 'classifier' from [type] ClassifierType <no name>[5872759430618939042] in jetbrains.mpslite.structure@1_0
[ 211570]  ERROR - ns.mps.smodel.DynamicReference - cannot resolve reference by string: 'MPSLitePropertyType_Enum'
[ 211875]  ERROR - ns.mps.smodel.DynamicReference -
couldn't resolve reference 'classifier' from [type] ClassifierType <no name>[5872759430618939042] in jetbrains.mpslite.structure@1_1
[ 211883]  ERROR - ns.mps.smodel.DynamicReference - cannot resolve reference by string: 'MPSLitePropertyType_Enum'
[ 212076]  ERROR - ns.mps.smodel.DynamicReference -
couldn't resolve reference 'classifier' from [type] ClassifierType <no name>[5872759430618939042] in jetbrains.mpslite.structure@3_0
[ 212077]  ERROR - ns.mps.smodel.DynamicReference - cannot resolve reference by string: 'MPSLitePropertyType_Enum'
[ 212183]  ERROR - ns.mps.smodel.DynamicReference -
couldn't resolve reference 'classifier' from [type] ClassifierType <no name>[5872759430618939042] in jetbrains.mpslite.structure@3_1
[ 212185]  ERROR - ns.mps.smodel.DynamicReference - cannot resolve reference by string: 'MPSLitePropertyType_Enum'
[ 212345]  ERROR - ns.mps.smodel.DynamicReference -
couldn't resolve reference 'classifier' from [returnType] ClassifierType <no name>[5872759430618939031] in jetbrains.mpslite.structure@3_1
[ 212347]  ERROR - ns.mps.smodel.DynamicReference - cannot resolve reference by string: 'MPSLitePropertyType_Enum'
[ 212348]  ERROR - rains.mps.textGen.SNodeTextGen - textgen error in [returnType] ClassifierType <no name>[5872759430618939031] in jetbrains.mpslite.structure@3_1
[ 212350]  ERROR - ns.mps.smodel.DynamicReference -
couldn't resolve reference 'classConcept' from [expression] StaticMethodCall <no name>[5872759430618939028] in jetbrains.mpslite.structure@3_1
[ 212351]  ERROR - ns.mps.smodel.DynamicReference - cannot resolve reference by string: 'MPSLitePropertyType_Enum'
[ 212352]  ERROR - rains.mps.textGen.SNodeTextGen - textgen error in [expression] StaticMethodCall <no name>[5872759430618939028] in jetbrains.mpslite.structure@3_1
[ 212354]  ERROR - rains.mps.textGen.SNodeTextGen - textgen error in [type] ClassifierType <no name>[5872759430618939042] in jetbrains.mpslite.structure@3_1

The strange thing is that if I click in the error (in MPS) I go to the class and the link is resolved there. For example, the first error takes me to jetbrains.mpslite.editor@5_0, Line_Editor (in the transient models), and there, the constructor call to new _Line_Actions() seems to be fine (I can follow it to the actual constructor).

Anything you can spot?

Thanks for the help!

Thiago

0
Comment actions Permalink

Hi!

The strange thing is that if I click in the error (in MPS) I go to the class and the link is resolved there. For example, the first error takes me to jetbrains.mpslite.editor@5_0, Line_Editor (in the transient models), and there, the constructor call to new _Line_Actions() seems to be fine (I can follow it to the actual constructor).

This is definitely strange..

I tried to: updated all sources from git, clean rebuild it in ides, start  MPS, open MPS\core\languageDesign\editor\editor.mpr project (which one did you use BTW?) and regenerating editor/structure model - it works..

Can you try doing the same with your installation? Do you have any errors visible on project elements in logical view?

0
Comment actions Permalink

Thiago,

I haven't understand what happened yet, but have some news ) - you can update from mps repository now (the two bugs I've said before appeared due to some outdated .class files on my computer - so the repository is not in broken state, it was only a problem of mine)

About the problem. MPS tries to re-resolve references when you open the editor. The fact that they are resolved means that you have target nodes in MPS, and it was a problem during generation, which broke references resolving process.

I'll continue to investigate the problem.

Thanks,

Mihail

0

Please sign in to leave a comment.