Ecoinformatics Redmine: Issueshttps://projects.ecoinformatics.org/ecoinfo/https://projects.ecoinformatics.org/ecoinfo/ecoinfo/favicon.ico?14691340362016-01-04T21:21:00ZEcoinformatics Redmine
Redmine Kepler - Bug #6928 (Resolved): Check Kepler for the Apache commons deserialization problems, cons...https://projects.ecoinformatics.org/ecoinfo/issues/69282016-01-04T21:21:00ZChristopher Brookscxh@eecs.berkeley.edu
<p>I recently had a Windows machine that was successfully attacked because it was running an old version of Jenkins that was susceptible to an attack via Apache Commons Java deserialization. The email from campus stated:</p>
<blockquote>
<p>"The snort alarms concern an apparent remote attack against a "serious vulnerability in Apache Commons, a library that contains a widely used set of Java components maintained by the Apache Software Foundation, puts thousands of Java applications and servers at risk of remote code execution attacks. The library is used by default in multiple Java application servers and other products including Oracle WebLogic, IBM WebSphere, JBoss, Jenkins and OpenNMS."</p>
</blockquote>
<blockquote>
<p>"Please see"</p>
</blockquote>
<blockquote>
<p><a class="external" href="http://foxglovesecurity.com/2015/11/06/what-do-weblogic-websphere-jboss-jenkins-opennms-and-your-application-have-in-common-this-vulnerability/">http://foxglovesecurity.com/2015/11/06/what-do-weblogic-websphere-jboss-jenkins-opennms-and-your-application-have-in-common-this-vulnerability/</a></p>
</blockquote>
<blockquote>
<p><a class="external" href="http://www.oracle.com/technetwork/topics/security/alert-cve-2015-4852-2763333.html">http://www.oracle.com/technetwork/topics/security/alert-cve-2015-4852-2763333.html</a></p>
</blockquote>
<blockquote>
<p><a class="external" href="https://blogs.apache.org/foundation/entry/apache_commons_statement_to_widespread">https://blogs.apache.org/foundation/entry/apache_commons_statement_to_widespread</a></p>
</blockquote>
<p>It looks like Kepler includes the library in question:<br /><pre>
bash-3.2$ find . -name "*.jar" | xargs grep -Rl InvokerTransformer
./configuration-manager/lib/jar/commons-collections-3.2.1.jar
</pre></p>
<p>commons-collections-3.2.1.jar contains classes in packages starting with org.apache.commons.collections</p>
<p>However, I believe that the Kepler *.java files are not directly using those classes, below are classes in org.apache.commons that are imported. Note that we are not importing classes from org.apache.commons.collections:</p>
<pre>
bash-3.2$ find . -name "*.java" | xargs grep org.apache.commons | grep import | tr -d '\r' | awk '{print $NF}' | sort | uniq -c | sort -nr
235 org.apache.commons.logging.LogFactory;
235 org.apache.commons.logging.Log;
3 org.apache.commons.io.IOUtils;
3 org.apache.commons.configuration.XMLConfiguration;
2 org.apache.commons.net.ftp.FTP;
2 org.apache.commons.lang.StringEscapeUtils;
2 org.apache.commons.io.FileUtils;
2 org.apache.commons.httpclient.methods.multipart.StringPart;
2 org.apache.commons.httpclient.methods.multipart.Part;
2 org.apache.commons.httpclient.methods.multipart.FilePart;
2 org.apache.commons.httpclient.methods.MultipartPostMethod;
2 org.apache.commons.httpclient.methods.GetMethod;
2 org.apache.commons.httpclient.HttpException;
2 org.apache.commons.httpclient.HttpClient;
2 org.apache.commons.configuration.ConfigurationException;
1 org.apache.commons.lang.time.DateUtils;
1 org.apache.commons.lang.exception.ExceptionUtils;
1 org.apache.commons.io.FilenameUtils;
1 org.apache.commons.configuration.tree.ConfigurationNode;
1 org.apache.commons.configuration.PropertiesConfiguration;
1 org.apache.commons.configuration.HierarchicalConfiguration;
bash-3.2$
</pre>
<p>However, there could be dependencies between jar files used by Kepler and commons-collections-3.2.1.jar.</p>
<p><a class="external" href="https://www.kb.cert.org/vuls/id/576313">https://www.kb.cert.org/vuls/id/576313</a> suggests upgrading to Apache Commons Collections version 3.2.2</p>
<p>However, perhaps we can remove this class?</p>
<p>The log is below:<br /><pre>
bash-3.2$ svn log ./configuration-manager/lib/jar/commons-collections-3.2.1.jar
------------------------------------------------------------------------
r24000 | berkley | 2010-04-27 17:12:36 -0700 (Tue, 27 Apr 2010) | 1 line
changing keywords and eol-style on the repository
------------------------------------------------------------------------
r20925 | berkley | 2009-10-07 15:06:24 -0700 (Wed, 07 Oct 2009) | 1 line
writing tests to show the capabilities of commons and yaml and to compare them
------------------------------------------------------------------------
bash-3.2$
</pre></p> Kepler - Bug #5895 (Resolved): HelloWorld link is broken under Kepler-2.4rc3https://projects.ecoinformatics.org/ecoinfo/issues/58952013-03-20T16:04:20ZChristopher Brookscxh@eecs.berkeley.edu
<p>Under Linux, the links to the demos fail? It seems like $CLASSPATH is not be expanded?</p>
<p>java.io.IOException: Failed to find file:/home/cxh/src/kepler-2.4RC3/common-2.4.0/configs/ptolemy/configs/kepler/$CLASSPATH/getting-started/04-HelloWorld.xml, also tried<br /> null and<br />null<br /> at ptolemy.actor.gui.HTMLViewer.hyperlinkUpdate(HTMLViewer.java:342)<br /> at javax.swing.JEditorPane.fireHyperlinkUpdate(JEditorPane.java:345)<br /> at javax.swing.text.html.HTMLEditorKit$LinkController.activateLink(HTMLEditorKit.java:877)<br /> at javax.swing.text.html.HTMLEditorKit$LinkController.mouseClicked(HTMLEditorKit.java:676)<br /> at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:270)<br /> at java.awt.Component.processMouseEvent(Component.java:6507)<br /> at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)<br /> at java.awt.Component.processEvent(Component.java:6269)<br /> at java.awt.Container.processEvent(Container.java:2229)<br /> at java.awt.Component.dispatchEventImpl(Component.java:4860)<br /> at java.awt.Container.dispatchEventImpl(Container.java:2287)<br /> at java.awt.Component.dispatchEvent(Component.java:4686)<br /> at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)<br /> at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4501)<br /> at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)<br /> at java.awt.Container.dispatchEventImpl(Container.java:2273)<br /> at java.awt.Window.dispatchEventImpl(Window.java:2713)<br /> at java.awt.Component.dispatchEvent(Component.java:4686)<br /> at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)<br /> at java.awt.EventQueue.access$000(EventQueue.java:101)<br /> at java.awt.EventQueue$3.run(EventQueue.java:666)<br /> at java.awt.EventQueue$3.run(EventQueue.java:664)<br /> at java.security.AccessController.doPrivileged(Native Method)<br /> at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)<br /> at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)<br /> at java.awt.EventQueue$4.run(EventQueue.java:680)<br /> at java.awt.EventQueue$4.run(EventQueue.java:678)<br /> at java.security.AccessController.doPrivileged(Native Method)<br /> at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)<br /> at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)<br /> at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)<br /> at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)<br /> at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)<br /> at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)<br /> at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)<br /> at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)<br />Caused by: java.io.FileNotFoundException: /home/cxh/src/kepler-2.4RC3/common-2.4.0/configs/ptolemy/configs/kepler/$CLASSPATH/getting-started/04-HelloWorld.xml (No such file or directory)<br /> at java.io.FileInputStream.open(Native Method)<br /> at java.io.FileInputStream.<init>(FileInputStream.java:138)<br /> at java.io.FileInputStream.<init>(FileInputStream.java:97)<br /> at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)<br /> at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)<br /> at java.net.URL.openStream(URL.java:1035)<br /> at ptolemy.actor.gui.EffigyFactory.checkForDTD(EffigyFactory.java:127)<br /> at ptolemy.actor.gui.PtolemyEffigy$Factory.createEffigy(PtolemyEffigy.java:384)<br /> at ptolemy.actor.gui.EffigyFactory.createEffigy(EffigyFactory.java:233)<br /> at ptolemy.actor.gui.Configuration.openModel(Configuration.java:1079)<br /> at ptolemy.actor.gui.Configuration.openModel(Configuration.java:1005)<br /> at ptolemy.actor.gui.HTMLViewer.hyperlinkUpdate(HTMLViewer.java:293)<br /> ... 35 more</p> Kepler - Bug #5894 (Closed): Clone problems in NamedObjIdhttps://projects.ecoinformatics.org/ecoinfo/issues/58942013-03-19T19:07:23ZChristopher Brookscxh@eecs.berkeley.edu
<p>Checking the configuration results in messages about clone problems in NamedObjId:</p>
<p>The valueListeners java.util.Vector field<br /> in the clone of "org.kepler.moml.NamedObjId" <br /> does not point to an object distinct from the master. <br /> This may cause problems with actor oriented classes.<br /> The clone(Workspace) method should have a line like:<br /> newObject.valueListeners = (Vector)newObject<br /> /* Get the object method or null? <strong>/ valueListeners;<br />The _id org.kepler.objectmanager.lsid.KeplerLSID field<br /> in the clone of "org.kepler.moml.NamedObjId" <br /> does not point to an object distinct from the master. <br /> This may cause problems with actor oriented classes.<br /> The clone(Workspace) method should have a line like:<br /> newObject._id = (KeplerLSID)newObject<br /> /</strong> Get the object method or null? */ _id;</p>
<p>To replicate:<br />1) Start Kepler<br />2) Click on the Documentation link<br />3) Click on "Background information about Ptolemy" <br />4) Click on the Copyright link<br />5) Click on the Copyright link at the bottom (Other copyrights ...)<br />6) Click on "other" information about this configuration at the bottom<br />7) Click on "about:configuration"</p>
<p>The text above will appear.</p>
<p>The issue with cloning could be causing problems with actor oriented classes.</p>
<p>This class should have a clone(Workspace) method added.</p> Kepler - Bug #5893 (Closed): During installation, Kepler takes a long time to start up under Windowshttps://projects.ecoinformatics.org/ecoinfo/issues/58932013-03-19T14:51:33ZChristopher Brookscxh@eecs.berkeley.edu
<p>With Kepler-2.4RC3 under Windows2008R2 64-bit, the user is asked if they want to start up Kepler. I chose "yes" and nothing happened, so I completed the installation.</p>
<p>Then, I started up Kepler from the menu and it took a long time (over a minute?) to start up.</p>
<p>Then, it seemed like there were two Kepler instances?</p>
<p>It seems like Kepler took a long time to start, which is why when Kepler was starting during the installation, it seemed like nothing was happening.</p> Kepler - Bug #5892 (Resolved): After running various demos like HelloWorld, the user is prompted ...https://projects.ecoinformatics.org/ecoinfo/issues/58922013-03-19T14:47:26ZChristopher Brookscxh@eecs.berkeley.edu
<p>In the 2.4RC3 Windows installer, after I run various demos, when I close the demo, the "Save changes to KAR" dialog pops up.</p>
<p>Probably the Kar files need to be updated in the svn repository.</p>
<p>HelloWorld, SimpleAddition and others are affected.</p> Kepler - Bug #5891 (Resolved): Installer acks need to be update for Ptolemyhttps://projects.ecoinformatics.org/ecoinfo/issues/58912013-03-19T14:38:29ZChristopher Brookscxh@eecs.berkeley.edu
<p>The 2.4Rc3 installer acks for Ptolemy are out of date.<br />The text should be updated to say:</p>
<p>--start--<br />Ptolemy receives support in part by the Center for Hybrid and Embedded Software Systems (CHESS) at UC Berkeley, which receives support from the National Science Foundation (NSF awards #0720882 (CSR-EHS: PRET), #1035672 (CPS: Medium: Ptides), and #0931843 (CPS: Large: ActionWebs)), the Naval Research Laboratory (#NOOI73-12-1-G015), the Multiscale Systems Center (MuSyC), one of six research centers funded under the Focus Center Research Program, a Semiconductor Research Corporation program, and the following companies: Bosch, National Instruments, and Toyota. In the past, CHESS has been sponsorted by Agilent, DGIST, General Motors, Hewlett Packard, Infineon, and Microsoft.</p>
<p>Ptolemy is also supported in part by the TerraSwarm Research Center, one of six centers supported by the STARnet phase of the Focus Center Research Program (FCRP) a Semiconductor Research Corporation program sponsored by MARCO and DARPA.</p>
<p>Ptolemy is also supported in part by the Naval Research Laboratory project, "Software Producibility for System of Systems," and was accomplished under Cooperative Agreement Number NOOI73-12-1-G015.</p>
<p>--end--</p>
<p>To close this bug, the documentation for how to build a release should<br />be update to include going to <a class="external" href="http://ptolemy.eecs.berkeley.edu/sponsors.htm">http://ptolemy.eecs.berkeley.edu/sponsors.htm</a><br />to update the list of Ptolemy sponsors.</p> Kepler - Bug #5834 (New): Fix Kepler Javadoc warningshttps://projects.ecoinformatics.org/ecoinfo/issues/58342013-01-30T16:12:23ZChristopher Brookscxh@eecs.berkeley.edu
<p>Running "ant javadoc" produces warnings about javadoc problems.<br />The Kepler nightly build at Berkeley now reports these warnings, see<br /><a class="external" href="http://sisyphus:8079/hudson/job/kepler/warnings31">http://sisyphus:8079/hudson/job/kepler/warnings31</a></p>
<p>It would be good to fix these warnings.</p> Kepler - Bug #5694 (Resolved): Dragging from a port results in a NPEhttps://projects.ecoinformatics.org/ecoinfo/issues/56942012-08-23T21:45:37ZChristopher Brookscxh@eecs.berkeley.edu
<p>Dan wrote:<br />--start--</p>
<p>The problem is related to the change listener in<br />org.kepler.moml.NamedObjId. When the workflow is changed, this<br />listener fires off additional change requests in changeExecuted().<br />When I comment out the additional change requests, I don't get<br />errors or weird behavior with the grab handle. Also, if the<br />requests are made in the Swing thread, everything works. It's<br />not clear to me if this actually fixes the problem or why it's<br />necessary after r64430...Hopefully this helps you track down<br />the problem.</p>
<p>--end--</p>
<p>On 8/21/12 4:24 PM, Christopher Brooks wrote:</p>
<blockquote>
<p>The problem seems to be fairly complex.<br />There are two changes, r64418 to diva BasicGraphHandle where we check<br />for null<br />and r64430 where there are a bunch of changes to ptolemy outside of diva.</p>
<p>I agree that the change to BasicGraphHandle would seem to be a good idea.<br />However, if it is present and r64430 is present, then the blue grab<br />handles don't<br />work well in Kepler and Ptolemy. When I drag a connection around it<br />does not<br />have a blue grab handle at the end. A blue grab handle appears at the<br />upper left.<br />I do get NPEs, but the behavior seems to be better.</p>
<p>Another issue is that I believe that Kepler uses diva.jar, so the change to<br />BasicGraphHandle was not present until I updated diva.jar.</p>
<p>I'm not sure about a fix to this, the bug is fairly mysterious. I can take<br />a look, but it may take a day or two.</p>
<p>_Christopher</p>
<p>Edward writes:</p>
<blockquote>
<p>Rolling back this change will cause more null pointer exceptions.<br />If the "return" below is not executed, you <em>will</em> get a NPE.</p>
<p>if (_site.getFigure() null || _site.getFigure().getParent() null) {<br />// Cannot relocate.<br />return;<br />}</p>
<p>Edward</p>
</blockquote>
<p>On 8/21/12 12:42 AM, Christopher Brooks wrote:</p>
<blockquote>
<p>Hi Derik,<br />I think this change:<br />2012-08-18 17:08 eal</p>
<ul>
<li>[r64430] /trunk/ptolemy/actor/Manager.java,<br />/trunk/ptolemy/actor/lib/hoc/LifeCycleManager.java,<br />/trunk/ptolemy/kernel/undo/RedoChangeRequest.java,<br />/trunk/ptolemy/kernel/undo/UndoChangeRequest.java,<br />/trunk/ptolemy/kernel/util/Changeable.java,<br />/trunk/ptolemy/kernel/util/NamedObj.java,<br />/trunk/ptolemy/moml/MoMLParser.java: Fixed long standing deadlock<br />that occurs while editing models while they run</li>
</ul>
<p>is what is causing the stack trace like [1] below.</p>
<p>I'll take a further look tomorrow.</p>
<p>This change is fairly important in that it solves a long standing<br />issue, so we need<br />to fix the bug as opposed to just reverting.</p>
<p>_Christopher</p>
<p>On 8/20/12 6:44 PM, Derik Barseghian wrote:</p>
<blockquote>
<p>Hey Christopher,<br />I updated my local copy of kepler to use ptII r64449 but I'm still<br />getting errors like [1] below, wild dragging behavior, and remaining<br />dots.<br />I haven't seen any rogue floating upper-left endpoints yet though.<br />Derik</p>
<p>On Aug 20, 2012, at 6:14 PM, Christopher<br />Brooks<<a class="email" href="mailto:cxh@eecs.berkeley.edu">cxh@eecs.berkeley.edu</a>> wrote:</p>
<blockquote>
<p>Hi Derik,</p>
<p>It seems like it is Edward's change:</p>
<p>2012-08-18 06:22 eal</p>
<ul>
<li>[r64418] /trunk/diva/canvas/interactor/BasicGrabHandle.java:<br />Prevent null pointer exception that can happen while editing a<br />model while it is running by checking the Figure of Site for the<br />connector being dragged.</li>
</ul>
<p>The change is:</p>
<blockquote>
<p>[dhcp-39-161:~/ptII] cxh% svn diff -r64417:64418<br />diva/canvas/interactor/BasicGrabHandle.java<br />Index: diva/canvas/interactor/BasicGrabHandle.java
===================================================================<br />--- diva/canvas/interactor/BasicGrabHandle.java (revision 64417)<br />+<ins>+ diva/canvas/interactor/BasicGrabHandle.java (revision 64418)<br /><code>@ -87,6 +87,10 </code>@<br />// Be sure to take into account that the transformContext<br />of the<br />// site and the context of the grab handle may be different.<br />TransformContext tc = getTransformContext();<br /></ins> if (_site.getFigure() null ||<br />_site.getFigure().getParent() null) {<br />+ // Cannot relocate.<br />+ return;<br />+ }<br />Point2D p = _site.getPoint(tc);<br />double x = p.getX();<br />double y = p.getY();</p>
</blockquote>
<p>I rolled back r64418 and updated diva.jar</p>
<p>_Christopher</p>
<p>On 8/20/12 3:28 PM, Derik Barseghian wrote:</p>
<blockquote>
<p>Hey Christopher,<br />Dan and I are getting an error<sup><a href="#fn1">1</a></sup> when trying to drag a relation<br />from a port today in Kepler.<br />I'm also seeing a few other issues that seem to happen after the<br />above. I got an NPE<sup><a href="#fn2">2</a></sup> from a click, have strange actor-drag<br />behavior (actor drags wildly / shoots off in one direction), and<br />sometimes dots are left over on canvas at the point where I clicked<br />on the port. Also when I'm dragging out a relation I also notice in<br />the upper left corner of canvas a blue 'port endpoint' square<br />(generally only noticeable in the overview section in the lower left).<br />See attached screenshot to see dots and blue square.<br />Derik</p>
<p>[1]<br />java.lang.NullPointerException<br />at<br />diva.canvas.TransformContext.getTransform(TransformContext.java:161)<br />at diva.canvas.AbstractSite.getPoint(AbstractSite.java:82)<br />at<br />diva.canvas.connector.BasicManhattanRouter.routeManhattan(BasicManhattanRouter.java:87)</p>
<p>at<br />diva.canvas.connector.BasicManhattanRouter.route(BasicManhattanRouter.java:68)</p>
<p>at<br />diva.canvas.connector.ManhattanConnector.route(ManhattanConnector.java:121)</p>
<p>at<br />ptolemy.vergil.actor.KielerLayoutConnector.route(KielerLayoutConnector.java:214)</p>
<p>at<br />diva.canvas.connector.AbstractConnector.reroute(AbstractConnector.java:285)</p>
<p>at<br />diva.canvas.connector.AbstractConnector.tailMoved(AbstractConnector.java:406)</p>
<p>at<br />diva.canvas.connector.AbstractConnector.setTailSite(AbstractConnector.java:398)</p>
<p>at<br />ptolemy.vergil.actor.ActorEditorGraphController$LinkCreator.mousePressed(ActorEditorGraphController.java:676)</p>
<p>at<br />diva.canvas.interactor.CompositeInteractor.mousePressed(CompositeInteractor.java:199)</p>
<p>at diva.canvas.FigureLayer.dispatchEventUpTree(FigureLayer.java:551)<br />at diva.canvas.FigureLayer.grabPointer(FigureLayer.java:319)<br />at diva.canvas.FigureLayer.processLayerEvent(FigureLayer.java:673)<br />at diva.canvas.FigureLayer.dispatchEvent(FigureLayer.java:203)<br />at diva.canvas.CanvasPane.processLayerEvent(CanvasPane.java:280)<br />at diva.canvas.CanvasPane.dispatchEvent(CanvasPane.java:89)<br />at diva.canvas.JCanvas.internalProcessMouseEvent(JCanvas.java:520)<br />at diva.canvas.JCanvas.processMouseEvent(JCanvas.java:474)<br />at java.awt.Component.processEvent(Component.java:6140)<br />at java.awt.Container.processEvent(Container.java:2083)<br />at java.awt.Component.dispatchEventImpl(Component.java:4737)<br />at java.awt.Container.dispatchEventImpl(Container.java:2141)<br />at java.awt.Component.dispatchEvent(Component.java:4565)<br />at<br />java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4619)<br />at<br />java.awt.LightweightDispatcher.processMouseEvent(Container.java:4277)<br />at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4210)<br />at java.awt.Container.dispatchEventImpl(Container.java:2127)<br />at java.awt.Window.dispatchEventImpl(Window.java:2482)<br />at java.awt.Component.dispatchEvent(Component.java:4565)<br />at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:684)<br />at java.awt.EventQueue.access$000(EventQueue.java:85)<br />at java.awt.EventQueue$1.run(EventQueue.java:643)<br />at java.awt.EventQueue$1.run(EventQueue.java:641)<br />at java.security.AccessController.doPrivileged(Native Method)<br />at<br />java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)</p>
<p>at<br />java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)</p>
<p>at java.awt.EventQueue$2.run(EventQueue.java:657)<br />at java.awt.EventQueue$2.run(EventQueue.java:655)<br />at java.security.AccessController.doPrivileged(Native Method)<br />at<br />java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)</p>
<p>at java.awt.EventQueue.dispatchEvent(EventQueue.java:654)<br />at<br />java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)</p>
<p>at<br />java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)</p>
<p>at<br />java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)</p>
<p>at<br />java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)<br />at<br />java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)<br />at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)</p>
<p>[2]<br />[run] Exception in thread "AWT-EventQueue-0" <br />java.lang.NullPointerException<br />[run]<br />at<br />diva.canvas.TransformContext.getTransform(TransformContext.java:161)<br />[run]<br />at diva.canvas.AbstractSite.getPoint(AbstractSite.java:82)<br />[run]<br />at<br />diva.canvas.interactor.BasicGrabHandle.relocate(BasicGrabHandle.java:94)</p>
<p>[run]<br />at<br />diva.canvas.interactor.Manipulator.relocateGrabHandles(Manipulator.java:191)</p>
<p>[run]<br />at<br />diva.canvas.interactor.Manipulator.repaint(Manipulator.java:211)<br />[run]<br />at<br />diva.canvas.interactor.Manipulator.repaint(Manipulator.java:175)<br />[run]<br />at<br />diva.canvas.AbstractFigure.repaint(AbstractFigure.java:236)<br />[run]<br />at<br />diva.canvas.AbstractFigure.repaint(AbstractFigure.java:224)<br />[run]<br />at<br />diva.canvas.FigureDecorator.setChild(FigureDecorator.java:190)<br />[run]<br />at<br />diva.canvas.connector.ConnectorManipulator.setChild(ConnectorManipulator.java:215)</p>
<p>[run]<br />at diva.canvas.FigureLayer.decorate(FigureLayer.java:180)<br />[run]<br />at<br />diva.canvas.interactor.BasicSelectionRenderer.renderSelected(BasicSelectionRenderer.java:119)</p>
<p>[run]<br />at<br />diva.canvas.interactor.BasicSelectionModel.renderSelected(BasicSelectionModel.java:271)</p>
<p>[run]<br />at<br />diva.canvas.interactor.BasicSelectionModel.addSelection(BasicSelectionModel.java:101)</p>
<p>[run]<br />at<br />diva.canvas.interactor.SelectionInteractor.mousePressed(SelectionInteractor.java:172)</p>
<p>[run]<br />at<br />diva.canvas.FigureLayer.dispatchEventUpTree(FigureLayer.java:551)<br />[run]<br />at diva.canvas.FigureLayer.grabPointer(FigureLayer.java:319)<br />[run]<br />at<br />diva.canvas.FigureLayer.processLayerEvent(FigureLayer.java:673)<br />[run]<br />at<br />diva.canvas.FigureLayer.dispatchEvent(FigureLayer.java:203)<br />[run]<br />at<br />diva.canvas.CanvasPane.processLayerEvent(CanvasPane.java:280)<br />[run]<br />at diva.canvas.CanvasPane.dispatchEvent(CanvasPane.java:89)<br />[run]<br />at<br />diva.canvas.JCanvas.internalProcessMouseEvent(JCanvas.java:520)<br />[run]<br />at diva.canvas.JCanvas.processMouseEvent(JCanvas.java:474)<br />[run]<br />at java.awt.Component.processEvent(Component.java:6140)<br />[run]<br />at java.awt.Container.processEvent(Container.java:2083)<br />[run]<br />at java.awt.Component.dispatchEventImpl(Component.java:4737)<br />[run]<br />at java.awt.Container.dispatchEventImpl(Container.java:2141)<br />[run]<br />at java.awt.Component.dispatchEvent(Component.java:4565)<br />[run]<br />at<br />java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4619)<br />[run]<br />at<br />java.awt.LightweightDispatcher.processMouseEvent(Container.java:4277)<br />[run]<br />at<br />java.awt.LightweightDispatcher.dispatchEvent(Container.java:4210)<br />[run]<br />at java.awt.Container.dispatchEventImpl(Container.java:2127)<br />[run]<br />at java.awt.Window.dispatchEventImpl(Window.java:2482)<br />[run]<br />at java.awt.Component.dispatchEvent(Component.java:4565)<br />[run]<br />at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:684)<br />[run]<br />at java.awt.EventQueue.access$000(EventQueue.java:85)<br />[run]<br />at java.awt.EventQueue$1.run(EventQueue.java:643)<br />[run]<br />at java.awt.EventQueue$1.run(EventQueue.java:641)<br />[run]<br />at java.security.AccessController.doPrivileged(Native Method)<br />[run]<br />at<br />java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)</p>
<p>[run]<br />at<br />java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)</p>
<p>[run]<br />at java.awt.EventQueue$2.run(EventQueue.java:657)<br />[run]<br />at java.awt.EventQueue$2.run(EventQueue.java:655)<br />[run]<br />at java.security.AccessController.doPrivileged(Native Method)<br />[run]<br />at<br />java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)</p>
<p>[run]<br />at java.awt.EventQueue.dispatchEvent(EventQueue.java:654)<br />[run]<br />at<br />java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)</p>
<p>[run]<br />at<br />java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)</p>
<p>[run]<br />at<br />java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)</p>
<p>[run]<br />at<br />java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)<br />[run]<br />at<br />java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)<br />[run]<br />at<br />java.awt.EventDispatchThread.run(EventDispatchThread.java:122)</p>
</blockquote></blockquote></blockquote></blockquote></blockquote> Kepler - Bug #5677 (Resolved): SDF Iterations now defaults to AUTOhttps://projects.ecoinformatics.org/ecoinfo/issues/56772012-08-14T18:44:49ZChristopher Brookscxh@eecs.berkeley.edu
<p>The iterations parameter of the SDFDirector defaults to AUTO.<br />See bug <a class="issue tracker-1 status-3 priority-2 priority-default closed" title="Bug: SDF director iterations parameter default of 0 is unfriendly (Resolved)" href="https://projects.ecoinformatics.org/ecoinfo/issues/5546">#5546</a>.</p>
<p>To close this bug:<br />1) Update the Kepler version of SDFDirector.xml<br />2) Update the Kepler printed documentation</p> Kepler - Feature #5666 (New): Build system needs a target to build all common or blessed non-core...https://projects.ecoinformatics.org/ecoinfo/issues/56662012-08-07T18:07:33ZChristopher Brookscxh@eecs.berkeley.edu
<p>There should be a way to easily build all the common or "blessed" <br />non-core modules.<br />For example, "ant change-to -Dsuite=kepler" does not check out <br />reporting or tagging.</p>
<p>We should have notion of "blessed" modules, which I would say at a minumum<br />must meet two requirements:<br />1) There is someone on kepler-dev who is actively maintaining the module<br />2) There is at least one automatic test that at least does a smoke test<br />to ensure that the module works. More tests are better, but "ant test-blessed" <br />or something should do something with each module.</p>
<p>Having blessed modules would help in refactoring the tree because we<br />would have a better idea about what will break.</p> Kepler - Bug #5665 (Resolved): modulemanager et al.: swing-worker-1.2.jar should be removedhttps://projects.ecoinformatics.org/ecoinfo/issues/56652012-08-07T03:19:45ZChristopher Brookscxh@eecs.berkeley.edu
<p>bug <a class="issue tracker-1 status-3 priority-2 priority-default closed" title="Bug: Remove SwingWorker and use javax.swing.SwingWorker (Resolved)" href="https://projects.ecoinformatics.org/ecoinfo/issues/5661">#5661</a> is about removing util.SwingWorker.</p>
<p>Unfortunately, there is code that uses a different SwingWorker from module-manager/lib/jar/swing-worker-1.2.jar</p>
<p>./gui/src/org/kepler/gui/kar/ImportModuleDependenciesAction.java:import org.jdesktop.swingworker.SwingWorker;<br />./module-manager-gui/src/org/kepler/modulemanager/gui/AvailableModulesPanel.java:import org.jdesktop.swingworker.SwingWorker;<br />./module-manager-gui/src/org/kepler/modulemanager/gui/CurrentSuitePanel.java:import org.jdesktop.swingworker.SwingWorker;<br />./module-manager-gui/src/org/kepler/modulemanager/gui/ModulesList.java:import org.jdesktop.swingworker.SwingWorker;<br />./module-manager-gui/src/org/kepler/modulemanager/gui/patch/UpgradeDialogPanel.java:import org.jdesktop.swingworker.SwingWorker;<br />./module-manager-gui/src/org/kepler/modulemanager/gui/SuitesList.java:import org.jdesktop.swingworker.SwingWorker;</p>
<p>bash-3.2$ jar -tvf ./module-manager/lib/jar/swing-worker-1.2.jar<br /> 0 Fri Jul 25 15:51:54 PDT 2008 META-INF/<br /> 106 Fri Jul 25 15:51:52 PDT 2008 META-INF/MANIFEST.MF<br /> 0 Fri Jul 25 15:51:50 PDT 2008 org/<br /> 0 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/<br /> 0 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/<br /> 1202 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/AccumulativeRunnable.class<br /> 673 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/SwingPropertyChangeSupport$1.class<br /> 940 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/SwingPropertyChangeSupport.class<br /> 925 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/SwingWorker$1.class<br /> 901 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/SwingWorker$2.class<br /> 801 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/SwingWorker$3.class<br /> 1034 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/SwingWorker$4.class<br /> 472 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/SwingWorker$5.class<br /> 1230 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/SwingWorker$6.class<br /> 1473 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/SwingWorker$7.class<br /> 1516 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/SwingWorker$DoSubmitAccumulativeRunnable.class<br /> 1038 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/SwingWorker$StateValue.class<br /> 830 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/SwingWorker$SwingWorkerPropertyChangeSupport$1.class<br /> 1064 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/SwingWorker$SwingWorkerPropertyChangeSupport.class<br /> 5491 Fri Jul 25 15:51:50 PDT 2008 org/jdesktop/swingworker/SwingWorker.class</p>
<p>Wikipedia says that org.jdesktop.swingworker.SwingWorker is a backport of<br />SwingWorker to Java 1.5. Kepler requires Java 1.6, so this is no longer necessary.<br />See <a class="external" href="http://en.wikipedia.org/wiki/SwingWorker">http://en.wikipedia.org/wiki/SwingWorker</a> and<br /><a class="external" href="http://java.net/projects/swingworker/">http://java.net/projects/swingworker/</a></p>
<p>The reason to move towards javax.swing.SwingWorker is because it is now<br />the standard SwingWorker. Having a class with the same name but a different<br />set of methods will cause confusion. In addition, javax.swing.SwingWorker is<br />maintained, org.jdesktop.swingworker.SwingWorker is probably not maintained at<br />all or is not as well maintained.</p> Kepler - Bug #5664 (New): Check for duplicate codehttps://projects.ecoinformatics.org/ecoinfo/issues/56642012-08-07T00:01:51ZChristopher Brookscxh@eecs.berkeley.edu
<p>See bug <a class="issue tracker-1 status-3 priority-2 priority-default closed" title="Bug: Examine Kepler for duplicated Ptolemy code (Resolved)" href="https://projects.ecoinformatics.org/ecoinfo/issues/4926">#4926</a> for how to check for duplicate code.</p>
<p>This bug is targeted to 2.5.0 so that we don't forget to do it.</p> Kepler - Bug #4670 (Resolved): svn update fails to update module with modificationshttps://projects.ecoinformatics.org/ecoinfo/issues/46702010-01-15T00:56:36ZChristopher Brookscxh@eecs.berkeley.edu
<p>Under Mac OS 10.5, I ran svn update:</p>
<p>[update-modules] Updating ptII...<br />[update-modules] svn -r head update /Users/cxh/src/kepler/ptII <br />[update-modules] At revision 22494.<br />[update-modules] <br />[update-modules] The following classes have been modified in the ptolemy module:<br />[update-modules] /Users/cxh/src/kepler/ptolemy/ptolemy/vergil/basic/BasicGraphFrame.java<br />[update-modules] /Users/cxh/src/kepler/ptolemy/ptolemy/actor/gui/TableauFrame.java<br />[update-modules] WARNING: the ptolemy module cannot be updated because of modifications.</p>
<p>Indeed, BasicGraphFrame and TableauFrame are modified. I would expect<br />that the ptII module would get updates including merges from changes.<br />Not updating the ptII repository makes it difficult to troubleshoot problems.</p>
<p>This is in a tree that was freshly checked out today and in which I had done<br /> ant update-ptolemy -Drev=head</p> Kepler - Bug #4282 (Resolved): Duplicate of ptolemy.gui.Tophttps://projects.ecoinformatics.org/ecoinfo/issues/42822009-08-05T21:28:06ZChristopher Brookscxh@eecs.berkeley.edu
<p>I'm creating a bug for this so that it does not get lost and because<br />this will block bug# 3801.</p>
<p>I don't have the time right now to do a merge between the fix for 3801<br />and the duplicate code. I don't think the functionality provided<br />by the duplicate copy of Top is worth the overhead of a duplicate class<br />and an entire module (ptII).</p>
<p>David wrote:</p>
<blockquote>
<p>Hi Christopher,</p>
<p>I am happy to consider any alternative methods that you would like to <br />achieve the same result. What I want is a menu item that allows you to <br />invoke the Module Manager from Ptolemy. This allows you to switch from <br />Ptolemy to Kepler and back via the Module Manager without using the <br />build system. This has proven to be highly convenient on more than one <br />occasion.</p>
<p>This functionality probably does not make sense in the context of <br />Ptolemy run without Kepler. That is why it is in the Kepler repository <br />and I have not discussed with you the possibility of integrating it <br />into Ptolemy.</p>
<p>The reason I use Top is so that the option to invoke the Module <br />Manager will exist in every possible context where Ptolemy is run <br />using the Kepler build system. That way, a user exploring Ptolemy <br />functionality always has an easy way to invoke the Module Manager to <br />get back into Kepler.</p>
<p>David</p>
</blockquote>
<p>On Aug 5, 2009, at 11:48 AM, Christopher Brooks wrote:</p>
<blockquote>
<p>Hi David,<br />It looks like you checked in ptII/src/ptolemy/gui/Top.java,<br />which is a duplicate of ptolemy/src/ptolemy/gui/Top.java.</p>
<p>The comment for ptII/src/ptolemy/gui/Top.java is:</p>
<p>r19082 | welker | 2009-06-05 14:41:40 -0700 (Fri, 05 Jun 2009) | 2 <br />lines</p>
<p>Adding a Tools-->Module Manager... menu item into ptII so that users <br />who switch to Ptolemy from the Module Manager can go back to Kepler.</p>
<p>I think we should remove ptII/src/ptolemy/gui/Top.java because it<br />is a duplicate and because the functionality it provides is used very<br />little, if at all.</p>
<p>It looks like the ptII module is only present to support the duplicate<br />Top class. Thus, if we get rid of the duplicate Top class, we can<br />get rid of the ptII module, which reduces complexity in the module <br />system.</p>
<p>If you would like to come up with a patch to Top.java that provides<br />a hook for the menu choice that you would like to add, then we could<br />consider that. One problem is that Top does not use the <br />Configuration,<br />so this might entail setting a property and reading it or something.</p>
<p>The reason this comes up is because I'm tracking down the white boxes<br />under Windows problem at<br /><a class="external" href="http://bugzilla.ecoinformatics.org/show_bug.cgi?id=3801">http://bugzilla.ecoinformatics.org/show_bug.cgi?id=3801</a><br />that occurs when the background is set to white.</p>
<p>My fix worked fine in ptolemy outside of Kepler, but failed inside <br />Kepler<br />because of the duplicate Top class.</p>
<p>_Christopher</p>
</blockquote> Kepler - Bug #3898 (Resolved): update .kepler instead of removing it between versionshttps://projects.ecoinformatics.org/ecoinfo/issues/38982009-03-17T16:59:32ZChristopher Brookscxh@eecs.berkeley.edu
<p>Thanks to Qiao Huijie for pointing this out.<br />When switching between Kepler-1.0.0 and the Subversion development tree,<br />the ~/.kepler directory must be removed.<br />If it is not removed, then no actors are present in the actor browser pane.</p>
<p>I'm not sure why there is an incompatibility, but the code should detect<br />this incompatibility and prompt the user.</p>
<p>In addition, upon startup, the code should check to see if the actor browser<br />pane is empty and, if it is, prompt the user to delete their ~/.kepler <br />directory</p>
<p>Also, the developer instructions should be updated to mention removing<br />the ~/.kepler directory. I'll update the instructions.</p>