Hi,
I was at ESUG last week and I discussed about this issue with some people, and in the end Stef told me "drop a mail in the mailing list, I am interested to understand what all the other people think about it". So, here I am.
I have my project in which I am modeling development sessions. Each session object has a number of meta-data (e.g., start, end time, etc.) and a collection of events. Each event object owns some meta-data and some references to classes that were "touched" by a given event (i.e., now I am using the Ring definition of the classes, since I plan to serialize and deserialize them and I cannot serialize the real class object, it would be too heavy, isn't it?).
Now the question: I would like to create a Moose model of a development session to be able to import the sessions in the Moose panel and play around with the excellent Moose tool-suite. How should I proceed? Do you think it's better to annotate and add pragmas to the existing classes or to create a minimal parallel hierarchy of my model (i.e., MooseSession for MySession) and have something like MySession>>#asMooseDef which returns an object of kind MooseSession?
Thanks in advance,
Roberto
Hi all,
as quickly reported before, there is a memory leak in Roassal. I have a reproducible case that shows this behavior when having popups. This is simply using the Easel and the examples present there. I am convinced that a similar problem exists when context menus are used, but the Easel does not have such an example, apparently, so I do not include one. I hope this one example is enough to be able to find the issue for both cases.
How to reproduce:
Paste the following code in a Workspace in the 4.8 release. (Thanks to Alex for the last line ;-) )
Smalltalk garbageCollect.
Smalltalk garbageCollect.
{ ROPopup . ROElement . ROAnnouncer . ROBox . ROLabel } collect: [:c | c allInstances size]
Print-it of this code after each step below, you should get the numbers that I pasted as well.
Step 1: Do nothing
#(0 0 0 0 0)
Step 2: Have Easel showing ROExample>>ClassHierarchy
#(0 235 293 47 204)
S3: Close the Easel
#(0 235 293 47 204)
This for me is already strange. I would expect it to go back to the numbers of Step 1, i.e. zero of everything.
S4: Save-quit image, reopen (just in case there is some magic)
#(0 235 293 47 204)
S5: Show ROExample>>ClassHierarchy, close Easel
#(0 235 293 47 204)
I repeated S5 a number of times. The numbers are the same. So at least we have a steady state, that's not really an issue.
S6: With Easel showing ROExample>>punchChart
#(15 267 307 76 207)
S7: After closing Easel
#(15 267 307 76 207)
Nothing got collected.
S8: With Easel showing ROExample>>punchChart
#(30 300 342 101 224)
S9: After closing Easel
#(30 300 342 101 224)
Again nothing got collected.
S10: With Easel showing ROExample>>punchChart
#(45 333 377 126 241)
S11: After closing Easel
#(45 333 377 126 241)
(and so on). This is a big issue for me, because I have a lot of popups in AspectMaps, and a lot of re-executing the visualization script. I effortlessly get to images of 300+ megs this way, when starting from 50 megs before starting to visualize things.
Hope this helps in finding the bug,
---> Save our in-boxes! http://emailcharter.org <---
Johan Fabry - http://pleiad.cl/~jfabry
PLEIAD lab - Computer Science Department (DCC) - University of Chile
First, THANKS FOR BREATHING NEW LIFE INTO SMALLTALK!!!!!
We've adopted Pharo/Moose/et.al. for a major project in IBM Research, and
as a 29-year Smalltalk veteran, I am simply blown away by all the extreme
functionality the community has developed.
In getting used to Glamour, I found a need for a doubleClick action, but
the only examples and APIs I could locate used the transmission to update
another pane. I worked out how to do what I need using a "hidden pane",
but its an awkward hack. What I would really like is a strongSelectionAct:
but I haven't learned enough of the infrastructure to add it myself.
I also found that once you doubleClick an unselected list item, it launches
the action, selects the list item, but then you can't doubleClick it again
for another action. I found a solution by resetting the port value.
Here's the code that works.
browser := GLMTabulator new.
browser row:#numbers; row:#numbersDoubleClick size:0.1.
browser transmit to: #numbers; andShow:[:a| a list display:[:n| 1to:
n]].
browser transmit to: #numbersDoubleClick; from: #numbers
port:#strongSelection;
andShow:[:x| (browser portValueAt: (#numbers->
#strongSelection)) explore.
browser portValueAt: (#numbers->
#strongSelection) put: nil].
browser openOn: 10.
Is there a better way?
Regards,
Sam
Sam S. Adams, CTO - Contextual Computing
IBM Distinguished Engineer, IBM Research
Mobile: 919-696-6064, email: ssadams(a)us.ibm.com
Assistant: Linda R. Morrison. (720) 395-0460 Fax: (845) 491-4318, Tie:
676-0460, linda.r.morrison(a)us.ibm.com
<<Hebrews 11:6, Proverbs 3:5-6, Romans 1:16-17, 1 Corinthians 1:10>>
Hi,
I now snapshotted the current version as Moose 4.8 and pushed it to the
Pharo 2.0 metacello repository. Together with this, I also snapshotted:
ConfigurationOfMooseAlgos->'2.4-snapshot'.
ConfigurationOfFame->'1.3-snapshot'.
ConfigurationOfPetitParser->'1.7-snapshot'.
ConfigurationOfMondrian->'2.10-snapshot'.
ConfigurationOfEyeSee->'1.1-snapshot'.
ConfigurationOfRoassal->'1.428-snapshot'.
ConfigurationOfGraphET->'0.2-snapshot'.
ConfigurationOfGlamour->'2.5-snapshot'.
ConfigurationOfGToolkit->'0.6-snapshot'.
ConfigurationOfMoose->'4.8-snapshot'
Please take a moment to test that things load properly in your image and
let us know both if it works and if it does not. We will announce the
release officially ideally today.
Cheers,
Doru
--
www.tudorgirba.com
"Every thing has its own flow"
Hi,
I would like to allow a short period of about 1-2 weeks for bug fixing
before we move to Pharo 3.0.
So, in case you notice a problem, please report it as soon as possible.
Once we move to Pharo 3.0, we will no longer support Pharo 2.0 for bug
fixes.
Cheers,
Doru
--
www.tudorgirba.com
"Every thing has its own flow"
See <https://ci.inria.fr/moose/job/moose-latest-dev-4.8/1104/>
------------------------------------------
Started by upstream project "roassal" build number 473
originally caused by:
[URLTrigger] A change within the response URL invocation (log)
Building remotely on moose-slave in workspace <https://ci.inria.fr/moose/job/moose-latest-dev-4.8/ws/>
Deleting project workspace... done
[moose-latest-dev-4.8] $ /bin/sh -xe /tmp/hudson9175072361312431320.sh
+ bash
+ wget --quiet -O - http://get.pharo.org/20+vmLatest
Downloading the latest 20 Image:
http://files.pharo.org/image/20/latest.zip
Pharo.image
Downloading the latest pharoVM:
http://files.pharo.org/vm/pharo/linux/latest.zip
pharo-vm/pharo
Downloading PharoV10.sources:
http://files.pharo.org/sources//PharoV10.sources.zip
Downloading PharoV20.sources:
http://files.pharo.org/sources//PharoV20.sources.zip
Creating starter scripts pharo and pharo-ui
+ ./pharo Pharo.image save moose-latest-dev-4.8
+ REPO=http://www.smalltalkhub.com/mc/Moose/Moose/main
+ ./pharo moose-latest-dev-4.8.image config http://www.smalltalkhub.com/mc/Moose/Moose/main ConfigurationOfMoose --install=development
[31m[33m
===============================================================================
Notice: Installing ConfigurationOfMoose development
===============================================================================
[0m[0m+ ./pharo moose-latest-dev-4.8.image mooseimagesetup --signature=https://ci.inria.fr/moose/job/moose-latest-dev-4.8/1104/
+ ./pharo moose-latest-dev-4.8.image moosetest --junit-xml-output
[31m[33m
===============================================================================
Notice: Running tests in 138 Packages
===============================================================================
[0m[0m[31mError: index out of range
[0mTabSelectorMorph(Object)>>error:
TabSelectorMorph(Morph)>>privateAddAllMorphs:atIndex:
TabSelectorMorph(Morph)>>addAllMorphs:
TabSelectorMorph>>updateTabs
TabSelectorMorph>>extent:
TabSelectorMorph(Morph)>>bounds:
TabSelectorMorph(Morph)>>layoutInBounds:
TableLayout>>layoutLeftToRight:in:
TableLayout>>layout:in:
PanelMorph(Morph)>>doLayoutIn:
PanelMorph(Morph)>>fullBounds in Block: [self doLayoutIn: self layoutBounds]
BlockClosure>>on:do:
PanelMorph(Morph)>>fullBounds
LazyTabGroupMorph(Morph)>>submorphBounds in Block: [:m | | subBox | m visible...
Array(SequenceableCollection)>>do:
LazyTabGroupMorph(Morph)>>submorphBounds
LazyTabGroupMorph(Morph)>>privateFullBounds
LazyTabGroupMorph(Morph)>>doLayoutIn:
LazyTabGroupMorph(Morph)>>fullBounds in Block: [self doLayoutIn: self layoutBounds]
BlockClosure>>on:do:
LazyTabGroupMorph(Morph)>>fullBounds
LazyTabGroupMorph(Morph)>>layoutProportionallyIn:
ProportionalLayout>>layout:in: in Block: [:m | m layoutProportionallyIn: newBounds]
Array(SequenceableCollection)>>do:
PanelMorph(Morph)>>submorphsDo:
ProportionalLayout>>layout:in:
PanelMorph(Morph)>>doLayoutIn:
PanelMorph(Morph)>>fullBounds in Block: [self doLayoutIn: self layoutBounds]
BlockClosure>>on:do:
PanelMorph(Morph)>>fullBounds
[0mBuild step 'Execute shell' marked build as failure
Archiving artifacts
Recording test results
ERROR: Failed to archive test reports
hudson.util.IOException2: remote file operation failed: <https://ci.inria.fr/moose/job/moose-latest-dev-4.8/ws/> at hudson.remoting.Channel@69c39cb2:moose-slave
at hudson.FilePath.act(FilePath.java:905)
at hudson.FilePath.act(FilePath.java:882)
at hudson.tasks.junit.JUnitParser.parse(JUnitParser.java:87)
at hudson.tasks.junit.JUnitResultArchiver.parse(JUnitResultArchiver.java:121)
at hudson.tasks.junit.JUnitResultArchiver.perform(JUnitResultArchiver.java:133)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:804)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:776)
at hudson.model.Build$BuildExecution.post2(Build.java:183)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:726)
at hudson.model.Run.execute(Run.java:1628)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:247)
Caused by: hudson.util.IOException2: Failed to read <https://ci.inria.fr/moose/job/moose-latest-dev-4.8/ws/Glamour-Tests-Morphic…>
at hudson.tasks.junit.TestResult.parse(TestResult.java:291)
at hudson.tasks.junit.TestResult.parsePossiblyEmpty(TestResult.java:230)
at hudson.tasks.junit.TestResult.parse(TestResult.java:165)
at hudson.tasks.junit.TestResult.parse(TestResult.java:148)
at hudson.tasks.junit.TestResult.<init>(TestResult.java:124)
at hudson.tasks.junit.JUnitParser$ParseResultCallable.invoke(JUnitParser.java:117)
at hudson.tasks.junit.JUnitParser$ParseResultCallable.invoke(JUnitParser.java:90)
at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2417)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:679)
Caused by: org.dom4j.DocumentException: Error on line 53 of document file://<https://ci.inria.fr/moose/job/moose-latest-dev-4.8/ws/Glamour-Tests-Morphic…> : XML document structures must start and end within the same entity. Nested exception: XML document structures must start and end within the same entity.
at org.dom4j.io.SAXReader.read(SAXReader.java:482)
at org.dom4j.io.SAXReader.read(SAXReader.java:264)
at hudson.tasks.junit.SuiteResult.parse(SuiteResult.java:130)
at hudson.tasks.junit.TestResult.parse(TestResult.java:274)
... 16 more
Caused by: org.xml.sax.SAXParseException; systemId: file://<https://ci.inria.fr/moose/job/moose-latest-dev-4.8/ws/Glamour-Tests-Morphic…;> lineNumber: 53; columnNumber: 1; XML document structures must start and end within the same entity.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:391)
at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1404)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.endEntity(XMLDocumentFragmentScannerImpl.java:882)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.endEntity(XMLDocumentScannerImpl.java:582)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.endEntity(XMLEntityManager.java:1370)
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(XMLEntityScanner.java:1740)
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.skipChar(XMLEntityScanner.java:1393)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2769)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:625)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:116)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:488)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:819)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:748)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1208)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:525)
at org.dom4j.io.SAXReader.read(SAXReader.java:465)
... 19 more
Hi!
Some news for Roassal:
- RoassalExtras is a new package that will contains some cool contributions. The configuration is updated. So far, only BSpline is in it. Screenshots are below.
- ConfigurationOfRoassal will be update only for major release. The versionning is moved to a new project I have worked on called VersionOfRoassal.
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.