Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- 2 participants
- 144634 messages
Re: [Pharo-dev] MQTT for Pharo
by phil@highoctane.be
Sven,
I am currently working with IoT and MQTT is necessary. At this point I use
mosquitto as the broker and your Pharo client is nice to have and I will
test it and give you feedback.
I've got a working microPython codebase so can compare what is in there
(this for the LoPy device):
Thx for the module!
Phil
On Wed, Dec 21, 2016 at 12:15 PM, Sven Van Caekenberghe <sven(a)stfx.eu>
wrote:
> Hi,
>
> MQTT is a light-weight publish/subscribe messaging protocol, originally
> created around 1998. It is now an official open industry ISO standard. It
> is perfect for large-scale Internet of Things applications and high
> performance mobile messaging.
>
> The publish/subscribe messaging pattern requires a message broker. The
> broker is responsible for distributing messages to interested clients based
> on the topic of a message. Parties communicating with each other over MQTT
> would all be clients in different roles, like producers and consumers,
> using the broker as middleware.
>
> Many client libraries for different programming languages and multiple
> brokers/servers are available. Facebook Messenger and Amazon AWS IOT are
> two users, among many others.
>
>
> A good client library for Pharo was not yet available. I started a new
> MQTT project and I am looking for collaborators to help me finish it. The
> official specification is quite readable and there is a lot of information
> available (see the References/Links section at the end).
>
>
> Right now, a first version of the following features is available:
>
> - reading & writing of all 14 binary packet types
>
> - an experimental client with support for connection open/close, ping,
> subscribe/unsubscribe, QoS levels 0 (at most once), 1 (at least once) and 2
> (exactly once) for application (publish) messages in both directions,
> message/package IDs and keep alive (heartbeat)
>
> - unit tests, for packet reading/writing and for clients against 3
> publicly available sandbox/test brokers
>
> Basically, the code works but needs polishing and maturing. Also, it might
> be useful to experiment with alternative client API design. Not all
> features are yet implemented. It would also be nice to implement an actual
> server/broker, not to replace production quality servers, but as a proof of
> concept and tools during development.
>
>
> Code
>
> http://smalltalkhub.com/#!/~SvenVanCaekenberghe/MQTT/
>
> Right now, documentation is limited, but there are class comments and the
> most important public API methods are commented too. There is no Metacello
> configuration yet, just load the 3 packages.
>
>
> References/Links
>
> - http://mqtt.org
> - https://en.wikipedia.org/wiki/MQTT
> - http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html
> - https://github.com/mqtt/mqtt.github.io/wiki/software
> - http://mosquitto.org
> - https://github.com/emqtt/emqttd
> - http://kamilfb.github.io/mqtt-spy/
> - https://github.com/eclipse/paho.mqtt-spy/wiki
> - https://eclipse.org/paho/
> - https://eclipse.org/paho/clients/c/embedded/
> - http://www.rabbitmq.com/mqtt.html
> - https://vernemq.com
> - https://www.ibm.com/developerworks/community/
> blogs/c565c720-fe84-4f63-873f-607d87787327/entry/mqtt_security
>
>
> Sandbox/test Servers/Brokers
>
> iot.eclipse.org:1883
> test.mosquitto.org:1883
> broker.mqtt-dashboard.com:1883
>
>
> Sven
>
> --
> Sven Van Caekenberghe
> http://stfx.eu
> Smalltalk is the Red Pill
>
>
>
Dec. 21, 2016
Re: [Pharo-dev] MQTT for Pharo
by Henrik Johansen
Hi Sven!
One thing I noticed when testing the RabbitMQ client with keepalive > 0, was connection being closed and all subscriptions lost when receiving large payloads, due to timeout before the keepalive packet could be sent before waiting to receive next object.
I see the default in ExperimentalClient is to disregard ConnectionTimedOut when that happens, and resend a ping.
Are MQTT servers generally more lenient wrt dropping subscriptions once the timeout occurs, or will that lead to no new data being received from the broker?
(Also, doesn't there need to be a guarantee that timeout < keepalive when keepalive is > 0, for this logic to work as intended?)
Cheers,
Henry
> On 21 Dec 2016, at 12:15 , Sven Van Caekenberghe <sven(a)stfx.eu> wrote:
>
> Hi,
>
> MQTT is a light-weight publish/subscribe messaging protocol, originally created around 1998. It is now an official open industry ISO standard. It is perfect for large-scale Internet of Things applications and high performance mobile messaging.
>
> The publish/subscribe messaging pattern requires a message broker. The broker is responsible for distributing messages to interested clients based on the topic of a message. Parties communicating with each other over MQTT would all be clients in different roles, like producers and consumers, using the broker as middleware.
>
> Many client libraries for different programming languages and multiple brokers/servers are available. Facebook Messenger and Amazon AWS IOT are two users, among many others.
>
>
> A good client library for Pharo was not yet available. I started a new MQTT project and I am looking for collaborators to help me finish it. The official specification is quite readable and there is a lot of information available (see the References/Links section at the end).
>
>
> Right now, a first version of the following features is available:
>
> - reading & writing of all 14 binary packet types
>
> - an experimental client with support for connection open/close, ping, subscribe/unsubscribe, QoS levels 0 (at most once), 1 (at least once) and 2 (exactly once) for application (publish) messages in both directions, message/package IDs and keep alive (heartbeat)
>
> - unit tests, for packet reading/writing and for clients against 3 publicly available sandbox/test brokers
>
> Basically, the code works but needs polishing and maturing. Also, it might be useful to experiment with alternative client API design. Not all features are yet implemented. It would also be nice to implement an actual server/broker, not to replace production quality servers, but as a proof of concept and tools during development.
>
>
> Code
>
> http://smalltalkhub.com/#!/~SvenVanCaekenberghe/MQTT/
>
> Right now, documentation is limited, but there are class comments and the most important public API methods are commented too. There is no Metacello configuration yet, just load the 3 packages.
>
>
> References/Links
>
> - http://mqtt.org
> - https://en.wikipedia.org/wiki/MQTT
> - http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html
> - https://github.com/mqtt/mqtt.github.io/wiki/software
> - http://mosquitto.org
> - https://github.com/emqtt/emqttd
> - http://kamilfb.github.io/mqtt-spy/
> - https://github.com/eclipse/paho.mqtt-spy/wiki
> - https://eclipse.org/paho/
> - https://eclipse.org/paho/clients/c/embedded/
> - http://www.rabbitmq.com/mqtt.html
> - https://vernemq.com
> - https://www.ibm.com/developerworks/community/blogs/c565c720-fe84-4f63-873f-…
>
>
> Sandbox/test Servers/Brokers
>
> iot.eclipse.org:1883
> test.mosquitto.org:1883
> broker.mqtt-dashboard.com:1883
>
>
> Sven
>
> --
> Sven Van Caekenberghe
> http://stfx.eu
> Smalltalk is the Red Pill
>
>
Dec. 21, 2016
MQTT for Pharo
by Sven Van Caekenberghe
Hi,
MQTT is a light-weight publish/subscribe messaging protocol, originally created around 1998. It is now an official open industry ISO standard. It is perfect for large-scale Internet of Things applications and high performance mobile messaging.
The publish/subscribe messaging pattern requires a message broker. The broker is responsible for distributing messages to interested clients based on the topic of a message. Parties communicating with each other over MQTT would all be clients in different roles, like producers and consumers, using the broker as middleware.
Many client libraries for different programming languages and multiple brokers/servers are available. Facebook Messenger and Amazon AWS IOT are two users, among many others.
A good client library for Pharo was not yet available. I started a new MQTT project and I am looking for collaborators to help me finish it. The official specification is quite readable and there is a lot of information available (see the References/Links section at the end).
Right now, a first version of the following features is available:
- reading & writing of all 14 binary packet types
- an experimental client with support for connection open/close, ping, subscribe/unsubscribe, QoS levels 0 (at most once), 1 (at least once) and 2 (exactly once) for application (publish) messages in both directions, message/package IDs and keep alive (heartbeat)
- unit tests, for packet reading/writing and for clients against 3 publicly available sandbox/test brokers
Basically, the code works but needs polishing and maturing. Also, it might be useful to experiment with alternative client API design. Not all features are yet implemented. It would also be nice to implement an actual server/broker, not to replace production quality servers, but as a proof of concept and tools during development.
Code
http://smalltalkhub.com/#!/~SvenVanCaekenberghe/MQTT/
Right now, documentation is limited, but there are class comments and the most important public API methods are commented too. There is no Metacello configuration yet, just load the 3 packages.
References/Links
- http://mqtt.org
- https://en.wikipedia.org/wiki/MQTT
- http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html
- https://github.com/mqtt/mqtt.github.io/wiki/software
- http://mosquitto.org
- https://github.com/emqtt/emqttd
- http://kamilfb.github.io/mqtt-spy/
- https://github.com/eclipse/paho.mqtt-spy/wiki
- https://eclipse.org/paho/
- https://eclipse.org/paho/clients/c/embedded/
- http://www.rabbitmq.com/mqtt.html
- https://vernemq.com
- https://www.ibm.com/developerworks/community/blogs/c565c720-fe84-4f63-873f-…
Sandbox/test Servers/Brokers
iot.eclipse.org:1883
test.mosquitto.org:1883
broker.mqtt-dashboard.com:1883
Sven
--
Sven Van Caekenberghe
http://stfx.eu
Smalltalk is the Red Pill
Dec. 21, 2016
[pharo-project/pharo-core] 258c2c: 60333
by GitHub
Branch: refs/heads/6.0
Home: https://github.com/pharo-project/pharo-core
Commit: 258c2c569dd82ba6184a5bd6facfd13aa0d172da
https://github.com/pharo-project/pharo-core/commit/258c2c569dd82ba6184a5bd6…
Author: Jenkins Build Server <board(a)pharo-project.org>
Date: 2016-12-21 (Wed, 21 Dec 2016)
Changed paths:
M BaselineOfMorphic.package/BaselineOfMorphic.class/instance/actions/postload_package_.st
A Monticello.package/MonticelloBootstrap.class/README.md
A Monticello.package/MonticelloBootstrap.class/class/instance-creation/bootstrapDefault.st
A Monticello.package/MonticelloBootstrap.class/class/instance-creation/inDirectory_.st
A Monticello.package/MonticelloBootstrap.class/definition.st
A Monticello.package/MonticelloBootstrap.class/instance/accessing/directory_.st
A Monticello.package/MonticelloBootstrap.class/instance/accessing/localRepository.st
A Monticello.package/MonticelloBootstrap.class/instance/bootstrapping/bootstrap.st
A Monticello.package/MonticelloBootstrap.class/instance/bootstrapping/createWorkingCopies.st
A Monticello.package/MonticelloBootstrap.class/instance/bootstrapping/loadBootstrapPackageNamed_.st
A Monticello.package/MonticelloBootstrap.class/instance/bootstrapping/loadBootstrapPackages.st
A Monticello.package/MonticelloBootstrap.class/instance/bootstrapping/loadBootstrapPackagesNamed_.st
A Monticello.package/MonticelloBootstrap.class/instance/bootstrapping/loadPackageNamed_.st
A Monticello.package/MonticelloBootstrap.class/instance/bootstrapping/loadPackageVersion_.st
A Monticello.package/MonticelloBootstrap.class/instance/bootstrapping/loadPackagesNamed_.st
A Monticello.package/MonticelloBootstrap.class/instance/versions/bootstrapVersionsExcept_.st
A Monticello.package/MonticelloBootstrap.class/instance/versions/bootstrapVersionsSatisfying_.st
A Monticello.package/MonticelloBootstrap.class/instance/versions/fileNameForPackageNamed_.st
R ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60332.st
A ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60333.st
R ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60332.st
A ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60333.st
M ScriptLoader60.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
Log Message:
-----------
60333
19484 BaselineOfMorphic references unexisting class
https://pharo.fogbugz.com/f/cases/19484
19483 Add bootstrap specific code in Monticello
https://pharo.fogbugz.com/f/cases/19483
http://files.pharo.org/image/60/60333.zip
Dec. 21, 2016
[pharo-project/pharo-core]
by GitHub
Branch: refs/tags/60333
Home: https://github.com/pharo-project/pharo-core
Dec. 21, 2016
Re: [Pharo-dev] Epicea user experience report
by Denis Kudriashov
2016-12-21 8:03 GMT+01:00 Tudor Girba <tudor(a)tudorgirba.com>:
> Hi,
>
> I think I would prefer to not have to think about this choice at all when
> in the world menu level. The user interface from the Epicea window already
> allows me to switch between current session and all sessions, and usually
> the decision of what to look at is based on whether I find what I am
> looking for or not. So, rather then asking the user to think about it
> upfront, I would prefer to have one command that opens the Epicea window on
> the current session and allow the user to dive deeper. This would also
> imply that we would have only one command in the menu item. What do you
> think?
>
+1
Dec. 21, 2016
Re: [Pharo-dev] [Moose-dev] Too frequent crashes :-(
by Esteban Lorenzano
would be possible to have one of your crashing images?
so I can test⦠because one of my problems is that Iâm not able to reproduce the problem when I try, and is hard to fix blindly...
Esteban
> On 21 Dec 2016, at 08:09, Alexandre Bergel <alexandre.bergel(a)me.com> wrote:
>
> I had plenty of elements in my Roassal visualization, and on some point it just crashed.
> I have the impression that having many elements and / or animations (as in the case of Johan Fabry) triggers the crash.
>
> Alexandre
>
>
>> On Dec 20, 2016, at 9:12 AM, Stephane Ducasse <stepharo.self(a)gmail.com> wrote:
>>
>> So what was your crash problem?
>>
>>
>> On Tue, Dec 20, 2016 at 8:43 AM, Alexandre Bergel <alexandre.bergel(a)me.com> wrote:
>>> so did it work?
>>> Is there something that we should do?
>>
>> I had no problem, but as Henrik and Peter said, the problem is likely to be more complex
>>
>> Alexandre
>>
>>
>>>
>>> On Fri, Dec 16, 2016 at 5:06 PM, Alexandre Bergel <alexandre.bergel(a)me.com> wrote:
>>> Okay, tryingâ¦
>>>
>>> Alexandre
>>>
>>>
>>>> On Dec 16, 2016, at 4:40 PM, Aliaksei Syrel <alex.syrel(a)gmail.com> wrote:
>>>>
>>>> According to crash.dmp TRMorph>drawOn: draws an image using FormCanvas>>#image:at:sourceRect:rule: at a coordinate represented by a Float point.
>>>> Try to round it to integer point.
>>>>
>>>> Cheers,
>>>> Alex
>>>>
>>>> On 16 December 2016 at 16:34, Alexandre Bergel <alexandre.bergel(a)me.com> wrote:
>>>> Hi!
>>>>
>>>> Vincent and I are experiencing many crashes from GrafPort>copyBits. It crashes every couple of minutes.
>>>>
>>>> I know that not much can be done so far. Stability is my biggest concern with Pharo :-(
>>>> I use the latest VM.
>>>>
>>>> Cheers,
>>>> Alexandre
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>>> Alexandre Bergel http://www.bergel.eu
>>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Moose-dev mailing list
>>>> Moose-dev(a)list.inf.unibe.ch
>>>> https://www.list.inf.unibe.ch/listinfo/moose-dev
>>>>
>>>>
>>>
>>> --
>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>> Alexandre Bergel http://www.bergel.eu
>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>
>>>
>>>
>>>
>>>
>>
>> --
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>>
>>
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
Dec. 21, 2016
Re: [Pharo-dev] [Moose-dev] Too frequent crashes :-(
by Tudor Girba
Hi Nicolai,
Thanks for the explanation!
Peter said that his fix works for Windows. Why would this fix only work for Windows? And what can we do for other platforms?
Cheers,
Doru
> On Dec 21, 2016, at 8:48 AM, Nicolai Hess <nicolaihess(a)gmail.com> wrote:
>
>
>
> Am 21.12.2016 8:10 vorm. schrieb "Alexandre Bergel" <alexandre.bergel(a)me.com>:
> I had plenty of elements in my Roassal visualization, and on some point it just crashed.
> I have the impression that having many elements and / or animations (as in the case of Johan Fabry) triggers the crash.
>
>
> One problem, the one peter (partly) fixed, is n issue with bitblt, Cairo (as a surface plugin) and garbage collection.
> Bitblt my call the surface plugin to request some information about the Form.
> NB-based ffi for Cairo just called gen. asm code. But with UFFI, we now callback to Smalltalk code, which may trigger a GC.
> So every time bitblt, makes a call to the surface plugin (Cairo) and this callback allocates a new ST-Object, the GC may run and moves(!)the objects, to which bitblt still holds a reference.
> Accessing this objects in bitblt, after the callback returns (may) result in a segfault.
> Depending on the concrete bltoperation, the object memory layout, the size(!) of the initial Cairo surface.
> With peters fix/hack, the code does not crash but it still may access and operates on moved objects.
> Pining the objects may help, but you need to know where in the (vm image) code a form is used for drawing, and if it is a real form or external data managed by the surface plugin.
> And of course, when to "unpin" the object.
>
> A saver way would be, to just disable any GC during the executing of the callback, if it was called by a plugin (here:bitblt)
>
>
>
> Alexandre
>
>
> > On Dec 20, 2016, at 9:12 AM, Stephane Ducasse <stepharo.self(a)gmail.com> wrote:
> >
> > So what was your crash problem?
> >
> >
> > On Tue, Dec 20, 2016 at 8:43 AM, Alexandre Bergel <alexandre.bergel(a)me.com> wrote:
> > > so did it work?
> > > Is there something that we should do?
> >
> > I had no problem, but as Henrik and Peter said, the problem is likely to be more complex
> >
> > Alexandre
> >
> >
> > >
> > > On Fri, Dec 16, 2016 at 5:06 PM, Alexandre Bergel <alexandre.bergel(a)me.com> wrote:
> > > Okay, tryingâ¦
> > >
> > > Alexandre
> > >
> > >
> > > > On Dec 16, 2016, at 4:40 PM, Aliaksei Syrel <alex.syrel(a)gmail.com> wrote:
> > > >
> > > > According to crash.dmp TRMorph>drawOn: draws an image using FormCanvas>>#image:at:sourceRect:rule: at a coordinate represented by a Float point.
> > > > Try to round it to integer point.
> > > >
> > > > Cheers,
> > > > Alex
> > > >
> > > > On 16 December 2016 at 16:34, Alexandre Bergel <alexandre.bergel(a)me.com> wrote:
> > > > Hi!
> > > >
> > > > Vincent and I are experiencing many crashes from GrafPort>copyBits. It crashes every couple of minutes.
> > > >
> > > > I know that not much can be done so far. Stability is my biggest concern with Pharo :-(
> > > > I use the latest VM.
> > > >
> > > > Cheers,
> > > > Alexandre
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > --
> > > > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> > > > Alexandre Bergel http://www.bergel.eu
> > > > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> > > >
> > > >
> > > >
> > > >
> > > > _______________________________________________
> > > > Moose-dev mailing list
> > > > Moose-dev(a)list.inf.unibe.ch
> > > > https://www.list.inf.unibe.ch/listinfo/moose-dev
> > > >
> > > >
> > >
> > > --
> > > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> > > Alexandre Bergel http://www.bergel.eu
> > > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> > >
> > >
> > >
> > >
> > >
> >
> > --
> > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> > Alexandre Bergel http://www.bergel.eu
> > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> >
> >
> >
> >
> >
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
--
www.tudorgirba.com
www.feenk.com
"Quality cannot be an afterthought."
Dec. 21, 2016
Re: [Pharo-dev] Epicea user experience report
by Norbert Hartl
I don't like the extra menu. I think going three levels in a menu should only be done for thing used rarely. Feels awkward very time.
Do we have three cases wirh epicea?
- this session meaning all changed since start of the image?
- last session/aborted session the last session that did not finished because of unexpected image stop. This should open automatically which does not work in current pharo6
- all other sessions
In this situation when the aborted session opens automatically it means I deliberately open epicea through the menu for other reasons. In this case I'm with Doru that it should be a single menu entry which opens epicea and someone can choose there what to see. In case of list display this session will be the top most entry anyway so it can be discussed if it is important to separate this session and the others really.
Norbert
> Am 20.12.2016 um 17:17 schrieb Martin Dias <tinchodias(a)gmail.com>:
>
> Hi all,
>
> One point of Ben's feedback is how Epicea code changes tool is presented in the World Menu. Below you can see the current state + 3 options to discuss it.
>
>
> 1. "Epicea" main entry > "Session Changes" + "All Changes" children [current state]
>
>
>
>
> 2. Attach purpose to the name: "Epicea Code Changes"
>
> <Epicea Code Changes.png>
>
>
> 3. Just "Code Changes" + rephrase children:
>
> â
> â
>
> 4. Flatten
>
> <Flatten.png>
> â
>
>
> Reminder: In World Menu > Help > Help Browser > Epicea you can find a description of the tool and it's model.
>
> Cheers.
> Martin
>
>> On Mon, Oct 31, 2016 at 1:02 AM, Martin Dias <tinchodias(a)gmail.com> wrote:
>> Hello Ben,
>>
>> About discussion points in 2 (a, b and c): I agree with your arguments... somebody that just moved from Pharo 5 to 6 and crashed an image will look for a "Recover lost changes" in the menu and can have a problem to discover it the replacement in a World->Tools->Epicea->... entry.
>>
>> Then, as a first step we could flatten the 2 menu entries and then at least anybody will easily find an entry related to changes in World->Tools.
>>
>> Second, we could try to merge both Epicea GUIs into one (suggestions are welcome).
>>
>> I still have to read more in detail the remaining of your report to answer. Anyway, thanks a lot for it.
>>
>> Cheers,
>> Martin
>>
>>
>>> On Sat, Oct 29, 2016 at 5:22 AM, Ben Coman <btc(a)openinworld.com> wrote:
>>> 1. Created fresh Pharo image (build 60269)
>>>
>>>
>>> 2. Opened World > Tools > Epicea > All changes
>>>
>>> Points for discussion...
>>>
>>> a. How many submenu items are expected for Epicea? Can we push the
>>> current ones up so the Tools menu remains a flat menu.
>>>
>>> b. Do we need the two current menu items? "Current session" is
>>> encompassed by "All changes"? What expectations do people have of how
>>> often they'll use the former rather than the latter?
>>>
>>> c. When people move from Pharo 5 to Pharo 6 and in a panic want to
>>> "recover changes" for a crashed image, they'll be looking for that
>>> familiar feature name, not a new app name. Could the app name be left
>>> out or placed in brackets "Changes (Epicea)".
>>>
>>> btw, the interface looks really slick! nice work.
>>>
>>>
>>> 3. Opened World > System Browser.
>>>
>>> 4. Added package AAA
>>> All Changes window - no dynamic change.
>>> On <refresh>, still no change, i.e. no sessions
>>> #New All Changes window - not visible, no sessions.
>>>
>>> 5. Added class AA.
>>> All Changes window - no dynamic change.
>>> On <refresh>, shows new session with AAA & AA.
>>>
>>> 5. Added method...
>>> AA>a
>>> ^'something'
>>> Prompted for author, entered 'BenComan'
>>> All Changes window with session selected - dynamic update showing AA>>a.
>>>
>>> 6. Added package BBB.
>>> All Changes window - no dynamic update.
>>> On <refresh>, BBB still not visible in session.
>>>
>>> 7. Added class A to package AAA.
>>> All Changes window - dynamic update showing A.
>>> On <refresh>, BBB still not visible in session.
>>>
>>> 8. Added class BB to package BBB.
>>> All Changes window - dynamic update showing BBB & BB.
>>>
>>> a. Package creation event seems not handled properly, being only
>>> pushed through when a class is created in it.
>>>
>>> b. Since there is a dynamic update for class and method
>>> modifications, could the session creation also dynamically update it
>>> UI.
>>>
>>> -----------
>>> 9. Killed the vm from command line
>>> $ ps -ef | grep pharo
>>> $ kill 29349
>>> Restarted Pharo image
>>>
>>> 10. World > Tools > Epica > All changes.
>>> Authorship is inconsistent:
>>> * AAA and AA have blank author
>>> * AA>>a, A, BBB, B have author 'BenComan'.
>>>
>>> a. I understand this follows on from Author not being requested until
>>> the first method was defined. Did the old changes track the author of
>>> packages and classes at all?
>>>
>>> b. Since Epicea can track package and class authors, can we trigger
>>> the author prompt earlier for them?
>>>
>>> 11. Selected all previous changes AAA, AA, AA>>a, A, BBB, BB
>>> and did <Apply Changes>.
>>> Prompted for author. Entered 'DrWho'
>>> Existing All Changes window - no change
>>> New All Changes window - shows new session with all six changes.
>>> Authorship is a little inconsistent:
>>> * AAA and AA have author 'Unknown'.
>>> * AA>>a, A, BBB, B have blank author.
>>>
>>> 12. Killed the vm from command line
>>> $ ps -ef | grep pharo
>>> $ kill 30696
>>> Restarted Pharo image
>>>
>>> 13. World > Tools > Epica > All changes.
>>> Authorship is a little inconsistent:
>>> First session
>>> * AAA and AA have blank author
>>> * AA>>a, A, BBB, B have author 'BenComan'.
>>> Second session
>>> * AAA and AA have blank author
>>> * AA>>a, A, BBB, B have author 'DrWho'.
>>>
>>> a. Epicea changes are reapplied as the current author. This seems a
>>> semantic change from Pharo 5 where changes were reapplied as their
>>> original author. Is this accidental or by design? Can we have some
>>> community discussion on this point (I don't remember seeing any)?
>>>
>>> cheers -ben
>>>
>>> P.S. I'll wait to see what arises out of discussion before creating any issues.
>>>
>>
>
Dec. 21, 2016
Re: [Pharo-dev] [Moose-dev] Too frequent crashes :-(
by Nicolai Hess
Am 21.12.2016 8:10 vorm. schrieb "Alexandre Bergel" <alexandre.bergel(a)me.com
>:
I had plenty of elements in my Roassal visualization, and on some point it
just crashed.
I have the impression that having many elements and / or animations (as in
the case of Johan Fabry) triggers the crash.
One problem, the one peter (partly) fixed, is n issue with bitblt, Cairo
(as a surface plugin) and garbage collection.
Bitblt my call the surface plugin to request some information about the
Form.
NB-based ffi for Cairo just called gen. asm code. But with UFFI, we now
callback to Smalltalk code, which may trigger a GC.
So every time bitblt, makes a call to the surface plugin (Cairo) and this
callback allocates a new ST-Object, the GC may run and moves(!)the objects,
to which bitblt still holds a reference.
Accessing this objects in bitblt, after the callback returns (may) result
in a segfault.
Depending on the concrete bltoperation, the object memory layout, the
size(!) of the initial Cairo surface.
With peters fix/hack, the code does not crash but it still may access and
operates on moved objects.
Pining the objects may help, but you need to know where in the (vm image)
code a form is used for drawing, and if it is a real form or external data
managed by the surface plugin.
And of course, when to "unpin" the object.
A saver way would be, to just disable any GC during the executing of the
callback, if it was called by a plugin (here:bitblt)
Alexandre
> On Dec 20, 2016, at 9:12 AM, Stephane Ducasse <stepharo.self(a)gmail.com>
wrote:
>
> So what was your crash problem?
>
>
> On Tue, Dec 20, 2016 at 8:43 AM, Alexandre Bergel <alexandre.bergel(a)me.com>
wrote:
> > so did it work?
> > Is there something that we should do?
>
> I had no problem, but as Henrik and Peter said, the problem is likely to
be more complex
>
> Alexandre
>
>
> >
> > On Fri, Dec 16, 2016 at 5:06 PM, Alexandre Bergel <
alexandre.bergel(a)me.com> wrote:
> > Okay, tryingâ¦
> >
> > Alexandre
> >
> >
> > > On Dec 16, 2016, at 4:40 PM, Aliaksei Syrel <alex.syrel(a)gmail.com>
wrote:
> > >
> > > According to crash.dmp TRMorph>drawOn: draws an image using
FormCanvas>>#image:at:sourceRect:rule: at a coordinate represented by a
Float point.
> > > Try to round it to integer point.
> > >
> > > Cheers,
> > > Alex
> > >
> > > On 16 December 2016 at 16:34, Alexandre Bergel <
alexandre.bergel(a)me.com> wrote:
> > > Hi!
> > >
> > > Vincent and I are experiencing many crashes from GrafPort>copyBits.
It crashes every couple of minutes.
> > >
> > > I know that not much can be done so far. Stability is my biggest
concern with Pharo :-(
> > > I use the latest VM.
> > >
> > > Cheers,
> > > Alexandre
> > >
> > >
> > >
> > >
> > >
> > >
> > > --
> > > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> > > Alexandre Bergel http://www.bergel.eu
> > > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> > >
> > >
> > >
> > >
> > > _______________________________________________
> > > Moose-dev mailing list
> > > Moose-dev(a)list.inf.unibe.ch
> > > https://www.list.inf.unibe.ch/listinfo/moose-dev
> > >
> > >
> >
> > --
> > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> > Alexandre Bergel http://www.bergel.eu
> > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> >
> >
> >
> >
> >
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Dec. 21, 2016