My favorites | Sign in
Project Logo
                
Details: Show all Hide all

Earlier this year

  • Sep 01, 2009
    issue 79 (Another SWT/AWT problem under Linux GTK2?) commented on by luchesar   -   It is an eclipse RPC application based on Eclipse Version: 3.4.1 The problem is reproducible on Ubuntu Linux 8.10 and GTK. Java 1.6.0_14. The application is using albireo integration project and AWT_SWT bridge.
    It is an eclipse RPC application based on Eclipse Version: 3.4.1 The problem is reproducible on Ubuntu Linux 8.10 and GTK. Java 1.6.0_14. The application is using albireo integration project and AWT_SWT bridge.
  • Sep 01, 2009
    issue 79 (Another SWT/AWT problem under Linux GTK2?) commented on by daniel.leberre   -   I will take a look into it. Which version of Eclipse are you using?
    I will take a look into it. Which version of Eclipse are you using?
  • Sep 01, 2009
    issue 79 (Another SWT/AWT problem under Linux GTK2?) commented on by luchesar   -   I have the same problem. Is there any advance in solving it
    I have the same problem. Is there any advance in solving it
  • Aug 12, 2009
    issue 79 (Another SWT/AWT problem under Linux GTK2?) commented on by bshee...@baymoon.com   -   I have same problem almost exact same trace ! Using SWT_AWT bridge embedding swing panel in eclipse SWT dialog. Happens on resizing the parent SWT dialog. Any suggestions greatly appreciated !
    I have same problem almost exact same trace ! Using SWT_AWT bridge embedding swing panel in eclipse SWT dialog. Happens on resizing the parent SWT dialog. Any suggestions greatly appreciated !
  • Jul 06, 2009
    issue 81 (Update A4E to run with A4 from MIT's SVN repository) commented on by nicolas.rouquette   -   I think we can; I would have liked to make additional tests. I'll eventually get there but in the meantime, we could get feedback from others if we have a release available.
    I think we can; I would have liked to make additional tests. I'll eventually get there but in the meantime, we could get feedback from others if we have a release available.
  • Jul 05, 2009
    issue 81 (Update A4E to run with A4 from MIT's SVN repository) commented on by daniel.leberre   -   Nicolas, should we make a public release of A4E?
    Nicolas, should we make a public release of A4E?
  • Jul 04, 2009
  • Jul 04, 2009
  • Jul 04, 2009
    r767 (http://code.google.com/p/alloy4eclipse/issues/detail?id=81 -...) committed by nicolas.rouquette   -   http://code.google.com/p/alloy4eclipse/issues/detail?id=81 - Updated A4E to reflect API changes in Alloy4, version 4.1.10 - Updated fr.univartois.cril.alloyplugin.launch/alloy4.build.xml to build alloy4.jar and Alloy4.app, a 64-bit Java 1.6 macosx application - Included two Eclipse launch configurations to invoke alloy4.build.xml
    http://code.google.com/p/alloy4eclipse/issues/detail?id=81 - Updated A4E to reflect API changes in Alloy4, version 4.1.10 - Updated fr.univartois.cril.alloyplugin.launch/alloy4.build.xml to build alloy4.jar and Alloy4.app, a 64-bit Java 1.6 macosx application - Included two Eclipse launch configurations to invoke alloy4.build.xml
  • May 18, 2009
    issue 85 (NPE when opening a text file without extension ) reported by nicolas.rouquette   -   What steps will reproduce the problem? 1. Install A4E 0.2.36 2. Create a text file, e.g., README 3. Open the text file using the text editor What is the expected output? What do you see instead? An editor for the text file is created with an error: Could not open the editor: An unexpected exception was thrown. java.lang.NullPointerException at fr.univartois.cril.alloyplugin.ui.RenameAls.setActiveEditor (RenameAls.java:47) at org.eclipse.ui.internal.EditorPluginAction.editorChanged (EditorPluginAction.java:75) at org.eclipse.ui.internal.EditorPluginAction.<init> (EditorPluginAction.java:34) at org.eclipse.ui.internal.ActionDescriptor.createAction (ActionDescriptor.java:262) at org.eclipse.ui.internal.ActionDescriptor.<init> (ActionDescriptor.java:176) What version of the product are you using? On what operating system? DSLToolkit 1.0M6 + A4E 0.2.36 Please provide any additional information below. There is an obvious bug in fr.univartois.cril.alloyplugin.ui.RenameAls.setActiveEditor
    What steps will reproduce the problem? 1. Install A4E 0.2.36 2. Create a text file, e.g., README 3. Open the text file using the text editor What is the expected output? What do you see instead? An editor for the text file is created with an error: Could not open the editor: An unexpected exception was thrown. java.lang.NullPointerException at fr.univartois.cril.alloyplugin.ui.RenameAls.setActiveEditor (RenameAls.java:47) at org.eclipse.ui.internal.EditorPluginAction.editorChanged (EditorPluginAction.java:75) at org.eclipse.ui.internal.EditorPluginAction.<init> (EditorPluginAction.java:34) at org.eclipse.ui.internal.ActionDescriptor.createAction (ActionDescriptor.java:262) at org.eclipse.ui.internal.ActionDescriptor.<init> (ActionDescriptor.java:176) What version of the product are you using? On what operating system? DSLToolkit 1.0M6 + A4E 0.2.36 Please provide any additional information below. There is an obvious bug in fr.univartois.cril.alloyplugin.ui.RenameAls.setActiveEditor
  • Feb 28, 2009
    r766 (New release to fix the issue of launch plugin that is not pr...) committed by daniel.leberre   -   New release to fix the issue of launch plugin that is not properly updated.
    New release to fix the issue of launch plugin that is not properly updated.
  • Feb 28, 2009
    r765 (New release to fox wrong numbering of launch plugin.) committed by daniel.leberre   -   New release to fox wrong numbering of launch plugin.
    New release to fox wrong numbering of launch plugin.
  • Feb 28, 2009
    r764 (Changed 4.2.0.0 into 4.2.0: hope this will fix the issue wit...) committed by daniel.leberre   -   Changed 4.2.0.0 into 4.2.0: hope this will fix the issue with 4.1.9.2 that cannot be updated.
    Changed 4.2.0.0 into 4.2.0: hope this will fix the issue with 4.1.9.2 that cannot be updated.
  • Feb 04, 2009
    r763 (Bugfix release 0.2.35: fix the case of UNSAT answers not pro...) committed by daniel.leberre   -   Bugfix release 0.2.35: fix the case of UNSAT answers not properly handled when communicating with subJVM.
    Bugfix release 0.2.35: fix the case of UNSAT answers not properly handled when communicating with subJVM.
  • Feb 04, 2009
    r762 (Bug fix release 0.2.35: the previous release does not work p...) committed by daniel.leberre   -   Bug fix release 0.2.35: the previous release does not work properly when the answer of the SAT solver is UNSAT.
    Bug fix release 0.2.35: the previous release does not work properly when the answer of the SAT solver is UNSAT.
  • Feb 04, 2009
    r761 (The XML file is only read when the answer is satisfiable now...) committed by daniel.leberre   -   The XML file is only read when the answer is satisfiable now. PROBLEM: A4Solution ans is null when the answer is UNSAT. http://code.google.com/p/alloy4eclipse/issues/detail?id=84
    The XML file is only read when the answer is satisfiable now. PROBLEM: A4Solution ans is null when the answer is UNSAT. http://code.google.com/p/alloy4eclipse/issues/detail?id=84
  • Feb 04, 2009
    issue 84 (A4Solution ans is null when answer is unsat) reported by daniel.leberre   -   We are now delegating the CNF generation and the resolution to a subprocess. There is no real serialization mechanism to move an A4Solution object from the subJVM to the main JVM. When the answer is SAT, the subJVM creates an XML file that is then read by the main thread. But we have no way to create an A4Solution when the answer if unsat. The current code is broken in the sense that we have a null A4Solution object lying around when the answer is unsat. We need to find an elegant way to solve that issue.
    We are now delegating the CNF generation and the resolution to a subprocess. There is no real serialization mechanism to move an A4Solution object from the subJVM to the main JVM. When the answer is SAT, the subJVM creates an XML file that is then read by the main thread. But we have no way to create an A4Solution when the answer if unsat. The current code is broken in the sense that we have a null A4Solution object lying around when the answer is unsat. We need to find an elegant way to solve that issue.
  • Feb 04, 2009
    r760 (Fixed the case of UNSAT answers that were not properly handl...) committed by daniel.leberre   -   Fixed the case of UNSAT answers that were not properly handled!
    Fixed the case of UNSAT answers that were not properly handled!
  • Jan 22, 2009
    r759 (http://code.google.com/p/alloy4eclipse/issues/detail?id=81 ...) committed by nicolas.rouquette   -   http://code.google.com/p/alloy4eclipse/issues/detail?id=81 - Updated A4E to run w/ A4 v. 4.2.0 from MIT's SVN commit 9307 - Reordered fr.univartois.cril.alloyplugin dependencies to resolve class not found errors at eclipse startup. These errors are subtle but stem from the fact that OSGI starts bundles according to a topological sort of their dependencies; thus, if the plugin has P2,P1 in the manifest but P2 depends on P1, we can get "ClassNotFound" exceptions at startup because P1 might not have started yet. To avoid this, it is important to ensure that the order of plugin dependencies in the manifest is consistent with classloader dependencies among these plugins.
    http://code.google.com/p/alloy4eclipse/issues/detail?id=81 - Updated A4E to run w/ A4 v. 4.2.0 from MIT's SVN commit 9307 - Reordered fr.univartois.cril.alloyplugin dependencies to resolve class not found errors at eclipse startup. These errors are subtle but stem from the fact that OSGI starts bundles according to a topological sort of their dependencies; thus, if the plugin has P2,P1 in the manifest but P2 depends on P1, we can get "ClassNotFound" exceptions at startup because P1 might not have started yet. To avoid this, it is important to ensure that the order of plugin dependencies in the manifest is consistent with classloader dependencies among these plugins.

Older

  • Dec 28, 2008
    issue 82 (Allow hyperlink navigation in editor) reported by daniel.leberre   -   When looking for information regarding a signature, a function or a predicate, it would be great to be able to mimic JDT behavior with CTRL + left clic that allows to go to the definition of the selected element. It is probably difficult to implement in the current context, unless there is currently some support on A4 side to retrieve an A4 world object from a given string.
    When looking for information regarding a signature, a function or a predicate, it would be great to be able to mimic JDT behavior with CTRL + left clic that allows to go to the definition of the selected element. It is probably difficult to implement in the current context, unless there is currently some support on A4 side to retrieve an A4 world object from a given string.
  • Dec 27, 2008
    r758 (We are now creating a tag for each release of A4E, to facili...) committed by daniel.leberre   -   We are now creating a tag for each release of A4E, to facilitate debugging.
    We are now creating a tag for each release of A4E, to facilitate debugging.
  • Dec 27, 2008
    issue 81 (Update A4E to run with A4 from MIT's SVN repository) commented on by nicolas.rouquette   -   Updated as SVN commit 757
    Updated as SVN commit 757
  • Dec 27, 2008
    r757 (http://code.google.com/p/alloy4eclipse/issues/detail?id=81 a...) committed by nicolas.rouquette   -   http://code.google.com/p/alloy4eclipse/issues/detail?id=81 alloy4.jar (buildNumber=881, buildDate=2008/12/27 15:26) see alloy4.build.{xml,properties} for details
    http://code.google.com/p/alloy4eclipse/issues/detail?id=81 alloy4.jar (buildNumber=881, buildDate=2008/12/27 15:26) see alloy4.build.{xml,properties} for details
  • Dec 27, 2008
    issue 81 (Update A4E to run with A4 from MIT's SVN repository) reported by nicolas.rouquette   -   Update A4E to version A4 version 4.2.0 from MIT's SVN repository
    Update A4E to version A4 version 4.2.0 from MIT's SVN repository
  • Dec 27, 2008
    issue 78 (Problems with A4's WorkerEngine with A4E installed in eclips...) Status changed by nicolas.rouquette   -   Daniel's fix works with A4 version 4.1.9
    Status: Fixed
    Daniel's fix works with A4 version 4.1.9
    Status: Fixed
  • Dec 27, 2008
    r756 (Release 0.2.35 with fixes for local/subJVM for windows.) committed by daniel.leberre   -   Release 0.2.35 with fixes for local/subJVM for windows.
    Release 0.2.35 with fixes for local/subJVM for windows.
  • Dec 27, 2008
    r755 (Preparing release 0.2.35 with fixes for local/subJVM for win...) committed by daniel.leberre   -   Preparing release 0.2.35 with fixes for local/subJVM for windows.
    Preparing release 0.2.35 with fixes for local/subJVM for windows.
  • Dec 27, 2008
    r754 (Preparing release 0.2.35 with fixes for local/subJVM for win...) committed by daniel.leberre   -   Preparing release 0.2.35 with fixes for local/subJVM for windows.
    Preparing release 0.2.35 with fixes for local/subJVM for windows.
  • Dec 27, 2008
    r753 (creating a branch to provide bugfixes for 4.1.9 version of A...) committed by daniel.leberre   -   creating a branch to provide bugfixes for 4.1.9 version of A4.
    creating a branch to provide bugfixes for 4.1.9 version of A4.
  • Dec 27, 2008
    r752 ([No log message]) committed by daniel.leberre   -   [No log message]
    [No log message]
  • Dec 27, 2008
    r751 ([No log message]) committed by daniel.leberre   -   [No log message]
    [No log message]
  • Dec 27, 2008
    r750 (creating a branch to provide bugfixes for 4.1.9 version of A...) committed by daniel.leberre   -   creating a branch to provide bugfixes for 4.1.9 version of A4.
    creating a branch to provide bugfixes for 4.1.9 version of A4.
  • Dec 27, 2008
    r749 (creating a branch to provide bugfixes for 4.1.9 version of A...) committed by daniel.leberre   -   creating a branch to provide bugfixes for 4.1.9 version of A4.
    creating a branch to provide bugfixes for 4.1.9 version of A4.
  • Dec 27, 2008
    r748 ([No log message]) committed by daniel.leberre   -   [No log message]
    [No log message]
  • Dec 27, 2008
    r747 (Minor corrections to manifest format & runtime packages) committed by nicolas.rouquette   -   Minor corrections to manifest format & runtime packages
    Minor corrections to manifest format & runtime packages
  • Dec 27, 2008
    r746 (removed all debug messages from WorkerEngine. There is no mo...) committed by daniel.leberre   -   removed all debug messages from WorkerEngine. There is no more file creation trial so Nicolas should not have any more trouble under Windows.
    removed all debug messages from WorkerEngine. There is no more file creation trial so Nicolas should not have any more trouble under Windows.
  • Dec 27, 2008
    r745 (Removed double quotes around that classpath since it breaks ...) committed by daniel.leberre   -   Removed double quotes around that classpath since it breaks Linux subprocess call.
    Removed double quotes around that classpath since it breaks Linux subprocess call.
  • Dec 27, 2008
    issue 78 (Problems with A4's WorkerEngine with A4E installed in eclips...) commented on by daniel.leberre   -   Nicolas, I just checked your code for running the code locally. It is great!
    Nicolas, I just checked your code for running the code locally. It is great!
  • Dec 27, 2008
    issue 78 (Problems with A4's WorkerEngine with A4E installed in eclips...) commented on by le.ber...@free.fr   -   Nicolas, the /tmp/debugError.txt file was the only way for me to check where the subJVM was up to. I am disabling all those debug messages in a new alloy4.jar file.
    Nicolas, the /tmp/debugError.txt file was the only way for me to check where the subJVM was up to. I am disabling all those debug messages in a new alloy4.jar file.
  • Dec 26, 2008
    issue 78 (Problems with A4's WorkerEngine with A4E installed in eclips...) commented on by nicolas.rouquette   -   SVN commit 744 adds a workaround to this problem, a preference option to execute A4 tasks locally instead of as a sub-process.
    SVN commit 744 adds a workaround to this problem, a preference option to execute A4 tasks locally instead of as a sub-process.
  • Dec 26, 2008
    r744 (http://code.google.com/p/alloy4eclipse/issues/detail?id=78 A...) committed by nicolas.rouquette   -   http://code.google.com/p/alloy4eclipse/issues/detail?id=78 Added an Eclipse preference option to execute Alloy tasks locally or as a Java subprocess.
    http://code.google.com/p/alloy4eclipse/issues/detail?id=78 Added an Eclipse preference option to execute Alloy tasks locally or as a Java subprocess.
  • Dec 26, 2008
    issue 78 (Problems with A4's WorkerEngine with A4E installed in eclips...) commented on by nicolas.rouquette   -   Checked in a partial fix for fr.univartois.cril.alloyplugin.core.ExecutableCommand.execute(IReporter, IProgressMonitor) The problem is that the A4 WorkerEngine needs to wrap the argument to the -Djava.library.path=... argument otherwise, if that path contains spaces, Java will automatically add quotes around it,i.e., "-Djava.library.path=...." and then Java won't recognize this argument. The argument needs to be: -Djava.library.path="...." Still, there is more to this... a) whatever standard output the subJVM command produces goes to ... nowhere. b) I can copy/paste/edit the command being executed to make sure that it is of the form: java ... -Djava.library.path="..." -cp "...." edu.mit.csail.sdg.alloy4.WorkerEngine "2008/10/27 23:45 EDT" 880 This produces interesting output on my machine (windows, unfortunately): java.io.FileNotFoundException: \tmp\debugError.txt (The system cannot find the path specified) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.PrintStream.<init>(Unknown Source) at edu.mit.csail.sdg.alloy4.WorkerEngine.log(WorkerEngine.java:549) at edu.mit.csail.sdg.alloy4.WorkerEngine.main(WorkerEngine.java:379) java.io.FileNotFoundException: \tmp\debugError.txt (The system cannot find the path specified) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.PrintStream.<init>(Unknown Source) at edu.mit.csail.sdg.alloy4.WorkerEngine.log(WorkerEngine.java:549) at edu.mit.csail.sdg.alloy4.WorkerEngine.main(WorkerEngine.java:384) java.io.FileNotFoundException: \tmp\debugError.txt (The system cannot find the path specified) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.PrintStream.<init>(Unknown Source) at edu.mit.csail.sdg.alloy4.WorkerEngine.log(WorkerEngine.java:549) at edu.mit.csail.sdg.alloy4.WorkerEngine.main(WorkerEngine.java:389) java.io.FileNotFoundException: \tmp\debugError.txt (The system cannot find the path specified) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.PrintStream.<init>(Unknown Source) at edu.mit.csail.sdg.alloy4.WorkerEngine.log(WorkerEngine.java:549) at edu.mit.csail.sdg.alloy4.WorkerEngine.main(WorkerEngine.java:394) java.io.FileNotFoundException: \tmp\debugError.txt (The system cannot find the path specified) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.PrintStream.<init>(Unknown Source) at edu.mit.csail.sdg.alloy4.WorkerEngine.log(WorkerEngine.java:549) at edu.mit.csail.sdg.alloy4.WorkerEngine.main(WorkerEngine.java:406)
    Checked in a partial fix for fr.univartois.cril.alloyplugin.core.ExecutableCommand.execute(IReporter, IProgressMonitor) The problem is that the A4 WorkerEngine needs to wrap the argument to the -Djava.library.path=... argument otherwise, if that path contains spaces, Java will automatically add quotes around it,i.e., "-Djava.library.path=...." and then Java won't recognize this argument. The argument needs to be: -Djava.library.path="...." Still, there is more to this... a) whatever standard output the subJVM command produces goes to ... nowhere. b) I can copy/paste/edit the command being executed to make sure that it is of the form: java ... -Djava.library.path="..." -cp "...." edu.mit.csail.sdg.alloy4.WorkerEngine "2008/10/27 23:45 EDT" 880 This produces interesting output on my machine (windows, unfortunately): java.io.FileNotFoundException: \tmp\debugError.txt (The system cannot find the path specified) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.PrintStream.<init>(Unknown Source) at edu.mit.csail.sdg.alloy4.WorkerEngine.log(WorkerEngine.java:549) at edu.mit.csail.sdg.alloy4.WorkerEngine.main(WorkerEngine.java:379) java.io.FileNotFoundException: \tmp\debugError.txt (The system cannot find the path specified) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.PrintStream.<init>(Unknown Source) at edu.mit.csail.sdg.alloy4.WorkerEngine.log(WorkerEngine.java:549) at edu.mit.csail.sdg.alloy4.WorkerEngine.main(WorkerEngine.java:384) java.io.FileNotFoundException: \tmp\debugError.txt (The system cannot find the path specified) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.PrintStream.<init>(Unknown Source) at edu.mit.csail.sdg.alloy4.WorkerEngine.log(WorkerEngine.java:549) at edu.mit.csail.sdg.alloy4.WorkerEngine.main(WorkerEngine.java:389) java.io.FileNotFoundException: \tmp\debugError.txt (The system cannot find the path specified) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.PrintStream.<init>(Unknown Source) at edu.mit.csail.sdg.alloy4.WorkerEngine.log(WorkerEngine.java:549) at edu.mit.csail.sdg.alloy4.WorkerEngine.main(WorkerEngine.java:394) java.io.FileNotFoundException: \tmp\debugError.txt (The system cannot find the path specified) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.PrintStream.<init>(Unknown Source) at edu.mit.csail.sdg.alloy4.WorkerEngine.log(WorkerEngine.java:549) at edu.mit.csail.sdg.alloy4.WorkerEngine.main(WorkerEngine.java:406)
  • Dec 26, 2008
    r743 (http://code.google.com/p/alloy4eclipse/issues/detail?id=78 T...) committed by nicolas.rouquette   -   http://code.google.com/p/alloy4eclipse/issues/detail?id=78 This is a partial fix for the classpath argument. The problem is that the jniPath argument can be wrapped around quotes if the path contains spaces. In so doing, the java command line argument: -Djava.library.path=.... will also be wrapped around quotes and Java won't recognize it. The A4 WorkerEngine needs to add quotes *after* the -Djava.library.path= argument to prevent this.
    http://code.google.com/p/alloy4eclipse/issues/detail?id=78 This is a partial fix for the classpath argument. The problem is that the jniPath argument can be wrapped around quotes if the path contains spaces. In so doing, the java command line argument: -Djava.library.path=.... will also be wrapped around quotes and Java won't recognize it. The A4 WorkerEngine needs to add quotes *after* the -Djava.library.path= argument to prevent this.
  • Dec 24, 2008
    issue 80 (Provide an option to sort the outline view alphabetically) reported by nicolas.rouquette   -   For java source code, the outline view has a toggle for sorting the outline alphabetically or in source order. Do the same for the A4 outline.
    For java source code, the outline view has a toggle for sorting the outline alphabetically or in source order. Do the same for the A4 outline.
  • Dec 24, 2008
    issue 78 (Problems with A4's WorkerEngine with A4E installed in eclips...) Labels changed by daniel.leberre   -   Regarding comment #1, a few explanations: - since I built myself the alloy4.jar from Eclipse, I did not make it a self executable jar file. That's my fault :) - The output of your command line A4 is interesting: you have But this works, kind of... java -cp alloy4.jar edu.mit.csail.sdg.alloy4whole.SimpleGUI alloy4.jar Creating stream Writing task Writed task Reading result The alloy4.jar line is the value of the classpath provided to the WorkerEngine. AFAIK, that classpath is correct. The main issue to make A4 subVM process work fine under Eclipse is a classapth problem. When running A4 from the command line, the subVM uses the java.class.path property. When running A4 within Eclipse, you can no longer use that information. You need to find all the classes necessary in the classpath of the subVM to create the classpath to give to the new JVM. Here is the code that does that in ExecutableCommand: StringBuffer classPath = new StringBuffer(); classPath.append(FileLocator.toFileURL( Activator.getDefault().getBundleContext().getBundle() .getEntry("/alloy4.jar")).getFile()); classPath.append(System.getProperty("path.separator")); classPath.append(FileLocator.toFileURL( AlloyPlugin.getDefault().getBundleContext().getBundle() .getEntry("/")).getFile()); classPath.append(System.getProperty("path.separator")); URL url = AlloyPlugin.getDefault().getBundleContext().getBundle() .getEntry("/bin"); if (url != null) { classPath.append(FileLocator.toFileURL(url).getFile()); } Maybe the problem is related to my use of / and /bin that should be \ and \bin under windows. I just changed that code by StringBuffer classPath = new StringBuffer(); classPath.append(FileLocator.toFileURL( Activator.getDefault().getBundleContext().getBundle() .getEntry(File.separator+"alloy4.jar")).getFile()); classPath.append(File.pathSeparator); classPath.append(FileLocator.toFileURL( AlloyPlugin.getDefault().getBundleContext().getBundle() .getEntry(File.separator)).getFile()); classPath.append(File.pathSeparator); URL url = AlloyPlugin.getDefault().getBundleContext().getBundle() .getEntry(File.separator+"bin"); if (url != null) { classPath.append(FileLocator.toFileURL(url).getFile()); } on HEAD. Nicolas, could you give it a try?
    Labels: Type-Defect Priority-High Usability
    Regarding comment #1, a few explanations: - since I built myself the alloy4.jar from Eclipse, I did not make it a self executable jar file. That's my fault :) - The output of your command line A4 is interesting: you have But this works, kind of... java -cp alloy4.jar edu.mit.csail.sdg.alloy4whole.SimpleGUI alloy4.jar Creating stream Writing task Writed task Reading result The alloy4.jar line is the value of the classpath provided to the WorkerEngine. AFAIK, that classpath is correct. The main issue to make A4 subVM process work fine under Eclipse is a classapth problem. When running A4 from the command line, the subVM uses the java.class.path property. When running A4 within Eclipse, you can no longer use that information. You need to find all the classes necessary in the classpath of the subVM to create the classpath to give to the new JVM. Here is the code that does that in ExecutableCommand: StringBuffer classPath = new StringBuffer(); classPath.append(FileLocator.toFileURL( Activator.getDefault().getBundleContext().getBundle() .getEntry("/alloy4.jar")).getFile()); classPath.append(System.getProperty("path.separator")); classPath.append(FileLocator.toFileURL( AlloyPlugin.getDefault().getBundleContext().getBundle() .getEntry("/")).getFile()); classPath.append(System.getProperty("path.separator")); URL url = AlloyPlugin.getDefault().getBundleContext().getBundle() .getEntry("/bin"); if (url != null) { classPath.append(FileLocator.toFileURL(url).getFile()); } Maybe the problem is related to my use of / and /bin that should be \ and \bin under windows. I just changed that code by StringBuffer classPath = new StringBuffer(); classPath.append(FileLocator.toFileURL( Activator.getDefault().getBundleContext().getBundle() .getEntry(File.separator+"alloy4.jar")).getFile()); classPath.append(File.pathSeparator); classPath.append(FileLocator.toFileURL( AlloyPlugin.getDefault().getBundleContext().getBundle() .getEntry(File.separator)).getFile()); classPath.append(File.pathSeparator); URL url = AlloyPlugin.getDefault().getBundleContext().getBundle() .getEntry(File.separator+"bin"); if (url != null) { classPath.append(FileLocator.toFileURL(url).getFile()); } on HEAD. Nicolas, could you give it a try?
    Labels: Type-Defect Priority-High Usability
  • Dec 24, 2008
    r742 (Updated code to be really system independent. I hope it wil...) committed by daniel.leberre   -   Updated code to be really system independent. I hope it will fix issue 78 experienced by Nicolas.
    Updated code to be really system independent. I hope it will fix issue 78 experienced by Nicolas.
  • Dec 24, 2008
    issue 78 (Problems with A4's WorkerEngine with A4E installed in eclips...) commented on by daniel.leberre   -   Nicolas, Here is my configuration: Mandriva Linux 2009 java version "1.6.0_10" Java(TM) SE Runtime Environment (build 1.6.0_10-b33) Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode) Eclipse SDK Version: 3.4.1 Build id: M20080911-1700 A4E 0.2.34 Your sample problem work fine for me. I guess you run A4E on Windows?
    Nicolas, Here is my configuration: Mandriva Linux 2009 java version "1.6.0_10" Java(TM) SE Runtime Environment (build 1.6.0_10-b33) Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode) Eclipse SDK Version: 3.4.1 Build id: M20080911-1700 A4E 0.2.34 Your sample problem work fine for me. I guess you run A4E on Windows?
  • Dec 23, 2008
    issue 78 (Problems with A4's WorkerEngine with A4E installed in eclips...) commented on by nicolas.rouquette   -   The problem seems to be about A4's WorkerEngine. I can launch A4 from the fr.univartois.cril.alloyplugin.launch/alloy4.jar bundle. java -jar alloy4.jar => this doesn't work. Failed to load Main-Class manifest attribute from alloy4.jar But this works, kind of... java -cp alloy4.jar edu.mit.csail.sdg.alloy4whole.SimpleGUI alloy4.jar Creating stream Writing task Writed task Reading result The GUI comes up with the title banner: Alloy Analyzer 4.1.9 loading... please wait... ...and it never finishes. If I replace the fr.univartois.cril.alloyplugin.launch/alloy4.jar file with this: http://alloy.mit.edu/alloy4/alloy4.jar then I have to make some fixes to make it run in A4E: fr.univartois.cril.alloyplugin.core.ExecutableCommand.execute(IReporter, IProgressMonitor) // lines 153-159: WorkerEngine.run(task, maxHeapSize, maxStackSize,jniPath /* classPath.toString() */, cb); // WorkerEngine.runLocally(task,cb); while (WorkerEngine.isBusy()) { if (monitor.isCanceled()) { WorkerEngine.stop(); } } With this, I can run A4 from Eclipse using a debug launch configuration. I can launch a runtime eclipse with A4E but when I launch an A4 command, the worker thread running the above loop will spin forever. There is a subJVM process which doesn't seem to do anything. Perhaps this subJVM process is the problem, i.e., it should have sent some output but didn't for some reason. What is unclear is why A4 runs fine when it is started as a Java application but it doesn't run when it is started as an A4E plugin. The only difference is that the above code runs in an As an A4E plugin, we get stuck here: Thread [Worker-3] (Suspended (breakpoint at line 156 in ExecutableCommand)) ExecutableCommand.execute(IReporter, IProgressMonitor) line: 156 AlloyLaunching.execCommand(IALSCommand, IReporter, IProgressMonitor) line: 256 AlloyLaunching.execCommand(IALSCommand, IProgressMonitor) line: 60 LaunchConfigurationDelegate.launch(ILaunchConfiguration, String, ILaunch, IProgressMonitor) line: 66 LaunchConfiguration.launch(String, IProgressMonitor, boolean, boolean) line: 764 LaunchConfiguration.launch(String, IProgressMonitor, boolean) line: 614 DebugUIPlugin.buildAndLaunch(ILaunchConfiguration, String, IProgressMonitor) line: 880 DebugUIPlugin$8.run(IProgressMonitor) line: 1083 Worker.run() line: 55 When I launch A4 from Eclipse as a Java application, the same WorkerEngine executes at initialization in this context: Thread [AWT-EventQueue-0] (Suspended (breakpoint at line 137 in WorkerEngine)) WorkerEngine.run(WorkerEngine$WorkerTask, int, int, String, WorkerEngine$WorkerCallback) line: 137 SimpleGUI$9.callback(Object) line: 1787 SimpleGUI.<init>(String[]) line: 1799 SimpleGUI.<init>(String[], SimpleGUI$1) line: 165 SimpleGUI$7.run() line: 1707 InvocationEvent.dispatch() line: not available EventQueue.dispatchEvent(AWTEvent) line: not available EventDispatchThread.pumpOneEventForFilters(int) line: not available EventDispatchThread.pumpEventsForFilter(int, Conditional, EventFilter) line: not available EventDispatchThread.pumpEventsForHierarchy(int, Conditional, Component) line: not available EventDispatchThread.pumpEvents(int, Conditional) line: not available EventDispatchThread.pumpEvents(Conditional) line: not available EventDispatchThread.run() line: not available and a few times more in a similar context as this: Thread [Thread-3] (Suspended (breakpoint at line 137 in WorkerEngine)) WorkerEngine.run(WorkerEngine$WorkerTask, int, int, String, WorkerEngine$WorkerCallback) line: 137 SimpleGUI$9.callback(Object) line: 1787 SimpleGUI$9.done() line: 1792 WorkerEngine$3.run() line: 193 Thread.run() line: not available Then, when running a command, the WorkerEngine is invoked in an AWT thread like this: Thread [AWT-EventQueue-0] (Suspended (breakpoint at line 137 in WorkerEngine)) WorkerEngine.run(WorkerEngine$WorkerTask, int, int, String, WorkerEngine$WorkerCallback) line: 137 SimpleGUI.doRun(Integer) line: 982 NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] NativeMethodAccessorImpl.invoke(Object, Object[]) line: not available DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: not available Method.invoke(Object, Object...) line: not available SimpleGUI$2.run(Object) line: 582 SimpleGUI$2.run() line: 588 SimpleGUI$2(Runner).actionPerformed(ActionEvent) line: 50 JMenuItem(AbstractButton).fireActionPerformed(ActionEvent) line: not available AbstractButton$Handler.actionPerformed(ActionEvent) line: not available DefaultButtonModel.fireActionPerformed(ActionEvent) line: not available DefaultButtonModel.setPressed(boolean) line: not available JMenuItem(AbstractButton).doClick(int) line: not available WindowsMenuItemUI(BasicMenuItemUI).doClick(MenuSelectionManager) line: not available BasicMenuItemUI$Handler.mouseReleased(MouseEvent) line: not available JMenuItem(Component).processMouseEvent(MouseEvent) line: not available JMenuItem(JComponent).processMouseEvent(MouseEvent) line: not available JMenuItem(Component).processEvent(AWTEvent) line: not available JMenuItem(Container).processEvent(AWTEvent) line: not available JMenuItem(Component).dispatchEventImpl(AWTEvent) line: not available JMenuItem(Container).dispatchEventImpl(AWTEvent) line: not available JMenuItem(Component).dispatchEvent(AWTEvent) line: not available LightweightDispatcher.retargetMouseEvent(Component, int, MouseEvent) line: not available LightweightDispatcher.processMouseEvent(MouseEvent) line: not available LightweightDispatcher.dispatchEvent(AWTEvent) line: not available JFrame(Container).dispatchEventImpl(AWTEvent) line: not available JFrame(Window).dispatchEventImpl(AWTEvent) line: not available JFrame(Component).dispatchEvent(AWTEvent) line: not available EventQueue.dispatchEvent(AWTEvent) line: not available EventDispatchThread.pumpOneEventForFilters(int) line: not available EventDispatchThread.pumpEventsForFilter(int, Conditional, EventFilter) line: not available EventDispatchThread.pumpEventsForHierarchy(int, Conditional, Component) line: not available EventDispatchThread.pumpEvents(int, Conditional) line: not available EventDispatchThread.pumpEvents(Conditional) line: not available EventDispatchThread.run() line: not available Perhaps, there is something different about AWT vs. Eclipse's worker threads that causes the WorkerEngine to run properly in the former but not in the latter.
    The problem seems to be about A4's WorkerEngine. I can launch A4 from the fr.univartois.cril.alloyplugin.launch/alloy4.jar bundle. java -jar alloy4.jar => this doesn't work. Failed to load Main-Class manifest attribute from alloy4.jar But this works, kind of... java -cp alloy4.jar edu.mit.csail.sdg.alloy4whole.SimpleGUI alloy4.jar Creating stream Writing task Writed task Reading result The GUI comes up with the title banner: Alloy Analyzer 4.1.9 loading... please wait... ...and it never finishes. If I replace the fr.univartois.cril.alloyplugin.launch/alloy4.jar file with this: http://alloy.mit.edu/alloy4/alloy4.jar then I have to make some fixes to make it run in A4E: fr.univartois.cril.alloyplugin.core.ExecutableCommand.execute(IReporter, IProgressMonitor) // lines 153-159: WorkerEngine.run(task, maxHeapSize, maxStackSize,jniPath /* classPath.toString() */, cb); // WorkerEngine.runLocally(task,cb); while (WorkerEngine.isBusy()) { if (monitor.isCanceled()) { WorkerEngine.stop(); } } With this, I can run A4 from Eclipse using a debug launch configuration. I can launch a runtime eclipse with A4E but when I launch an A4 command, the worker thread running the above loop will spin forever. There is a subJVM process which doesn't seem to do anything. Perhaps this subJVM process is the problem, i.e., it should have sent some output but didn't for some reason. What is unclear is why A4 runs fine when it is started as a Java application but it doesn't run when it is started as an A4E plugin. The only difference is that the above code runs in an As an A4E plugin, we get stuck here: Thread [Worker-3] (Suspended (breakpoint at line 156 in ExecutableCommand)) ExecutableCommand.execute(IReporter, IProgressMonitor) line: 156 AlloyLaunching.execCommand(IALSCommand, IReporter, IProgressMonitor) line: 256 AlloyLaunching.execCommand(IALSCommand, IProgressMonitor) line: 60 LaunchConfigurationDelegate.launch(ILaunchConfiguration, String, ILaunch, IProgressMonitor) line: 66 LaunchConfiguration.launch(String, IProgressMonitor, boolean, boolean) line: 764 LaunchConfiguration.launch(String, IProgressMonitor, boolean) line: 614 DebugUIPlugin.buildAndLaunch(ILaunchConfiguration, String, IProgressMonitor) line: 880 DebugUIPlugin$8.run(IProgressMonitor) line: 1083 Worker.run() line: 55 When I launch A4 from Eclipse as a Java application, the same WorkerEngine executes at initialization in this context: Thread [AWT-EventQueue-0] (Suspended (breakpoint at line 137 in WorkerEngine)) WorkerEngine.run(WorkerEngine$WorkerTask, int, int, String, WorkerEngine$WorkerCallback) line: 137 SimpleGUI$9.callback(Object) line: 1787 SimpleGUI.<init>(String[]) line: 1799 SimpleGUI.<init>(String[], SimpleGUI$1) line: 165 SimpleGUI$7.run() line: 1707 InvocationEvent.dispatch() line: not available EventQueue.dispatchEvent(AWTEvent) line: not available EventDispatchThread.pumpOneEventForFilters(int) line: not available EventDispatchThread.pumpEventsForFilter(int, Conditional, EventFilter) line: not available EventDispatchThread.pumpEventsForHierarchy(int, Conditional, Component) line: not available EventDispatchThread.pumpEvents(int, Conditional) line: not available EventDispatchThread.pumpEvents(Conditional) line: not available EventDispatchThread.run() line: not available and a few times more in a similar context as this: Thread [Thread-3] (Suspended (breakpoint at line 137 in WorkerEngine)) WorkerEngine.run(WorkerEngine$WorkerTask, int, int, String, WorkerEngine$WorkerCallback) line: 137 SimpleGUI$9.callback(Object) line: 1787 SimpleGUI$9.done() line: 1792 WorkerEngine$3.run() line: 193 Thread.run() line: not available Then, when running a command, the WorkerEngine is invoked in an AWT thread like this: Thread [AWT-EventQueue-0] (Suspended (breakpoint at line 137 in WorkerEngine)) WorkerEngine.run(WorkerEngine$WorkerTask, int, int, String, WorkerEngine$WorkerCallback) line: 137 SimpleGUI.doRun(Integer) line: 982 NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] NativeMethodAccessorImpl.invoke(Object, Object[]) line: not available DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: not available Method.invoke(Object, Object...) line: not available SimpleGUI$2.run(Object) line: 582 SimpleGUI$2.run() line: 588 SimpleGUI$2(Runner).actionPerformed(ActionEvent) line: 50 JMenuItem(AbstractButton).fireActionPerformed(ActionEvent) line: not available AbstractButton$Handler.actionPerformed(ActionEvent) line: not available DefaultButtonModel.fireActionPerformed(ActionEvent) line: not available DefaultButtonModel.setPressed(boolean) line: not available JMenuItem(AbstractButton).doClick(int) line: not available WindowsMenuItemUI(BasicMenuItemUI).doClick(MenuSelectionManager) line: not available BasicMenuItemUI$Handler.mouseReleased(MouseEvent) line: not available JMenuItem(Component).processMouseEvent(MouseEvent) line: not available JMenuItem(JComponent).processMouseEvent(MouseEvent) line: not available JMenuItem(Component).processEvent(AWTEvent) line: not available JMenuItem(Container).processEvent(AWTEvent) line: not available JMenuItem(Component).dispatchEventImpl(AWTEvent) line: not available JMenuItem(Container).dispatchEventImpl(AWTEvent) line: not available JMenuItem(Component).dispatchEvent(AWTEvent) line: not available LightweightDispatcher.retargetMouseEvent(Component, int, MouseEvent) line: not available LightweightDispatcher.processMouseEvent(MouseEvent) line: not available LightweightDispatcher.dispatchEvent(AWTEvent) line: not available JFrame(Container).dispatchEventImpl(AWTEvent) line: not available JFrame(Window).dispatchEventImpl(AWTEvent) line: not available JFrame(Component).dispatchEvent(AWTEvent) line: not available EventQueue.dispatchEvent(AWTEvent) line: not available EventDispatchThread.pumpOneEventForFilters(int) line: not available EventDispatchThread.pumpEventsForFilter(int, Conditional, EventFilter) line: not available EventDispatchThread.pumpEventsForHierarchy(int, Conditional, Component) line: not available EventDispatchThread.pumpEvents(int, Conditional) line: not available EventDispatchThread.pumpEvents(Conditional) line: not available EventDispatchThread.run() line: not available Perhaps, there is something different about AWT vs. Eclipse's worker threads that causes the WorkerEngine to run properly in the former but not in the latter.
  • Dec 23, 2008
    issue 78 (Problems with A4's WorkerEngine with A4E installed in eclips...) reported by nicolas.rouquette   -   What steps will reproduce the problem? 1. Install eclipse ganymede SR1 2. Install A4E (currently version 0.2.34) 3. Run a simple test, e.g.: module foo sig A {} test1: check { no A } What is the expected output? What do you see instead? The progress view shows an A4E job in progress. The job never finishes but we can manually cancel it. The method: fr.univartois.cril.alloyplugin.core.ExecutableCommand.execute(IReporter, IProgressMonitor) is running in a worker thread and is spinning in the while loop below: // lines 153-159 WorkerEngine.run(task, maxHeapSize, maxStackSize,jniPath, classPath.toString(), cb); // WorkerEngine.runLocally(task,cb); while (WorkerEngine.isBusy()) { if (monitor.isCanceled()) { WorkerEngine.stop(); } }
    What steps will reproduce the problem? 1. Install eclipse ganymede SR1 2. Install A4E (currently version 0.2.34) 3. Run a simple test, e.g.: module foo sig A {} test1: check { no A } What is the expected output? What do you see instead? The progress view shows an A4E job in progress. The job never finishes but we can manually cancel it. The method: fr.univartois.cril.alloyplugin.core.ExecutableCommand.execute(IReporter, IProgressMonitor) is running in a worker thread and is spinning in the while loop below: // lines 153-159 WorkerEngine.run(task, maxHeapSize, maxStackSize,jniPath, classPath.toString(), cb); // WorkerEngine.runLocally(task,cb); while (WorkerEngine.isBusy()) { if (monitor.isCanceled()) { WorkerEngine.stop(); } }
  • Dec 18, 2008
    r741 (Remove wrong comment.) committed by daniel.leberre   -   Remove wrong comment.
    Remove wrong comment.
 
Hosted by Google Code