Re: [Pharo-dev] Error adding a Class instVar

2014-04-25 Thread Marcus Denker

On 25 Apr 2014, at 04:33, Esteban A. Maringolo  wrote:

> I was adding a Class instance variable when I got this, admittedly, funny 
> error.
> 
> Any clues of why?
> 
> The class has a Trait (which I plan to remove). Maybe that is causing this?

This is this problem:

https://pharo.fogbugz.com/f/cases/13028/Adding-ClassVariables-corrupts-class-hierarchy




Re: [Pharo-dev] Error adding a Class instVar

2014-04-25 Thread Camille Teruel

On 25 avr. 2014, at 09:13, Marcus Denker  wrote:

> 
> On 25 Apr 2014, at 04:33, Esteban A. Maringolo  wrote:
> 
>> I was adding a Class instance variable when I got this, admittedly, funny 
>> error.
>> 
>> Any clues of why?
>> 
>> The class has a Trait (which I plan to remove). Maybe that is causing this?
> 
> This is this problem:
> 
> https://pharo.fogbugz.com/f/cases/13028/Adding-ClassVariables-corrupts-class-hierarchy

No I don't think so, 13028 is the subclass cache problem whereas Esteban's 
problem seems to be related to wrong slot scope problem.
Esteban, is it the latest image?
Can run this script in your image and tell us the content of toRebuild?

all := Smalltalk allClasses flatCollect: [ :e | { e . e class } ].
candidates := all reject: [ :e | e superclass isNil or: [e layout slotScope 
isKindOf: LayoutEmptyScope ] ].
toRebuild := candidates reject: [ :e | e superclass layout slotScope == e 
layout slotScope parentScope ].

Does toRebuild contains your class or one class of its hierarchy?

> 
> 




[Pharo-dev] [pharo-project/pharo-core]

2014-04-25 Thread GitHub
  Branch: refs/tags/30835
  Home:   https://github.com/pharo-project/pharo-core


[Pharo-dev] [pharo-project/pharo-core] 5d24c1: 30835

2014-04-25 Thread GitHub
  Branch: refs/heads/3.0
  Home:   https://github.com/pharo-project/pharo-core
  Commit: 5d24c1e6d88000d16c22074380c5e668fa1510b5
  
https://github.com/pharo-project/pharo-core/commit/5d24c1e6d88000d16c22074380c5e668fa1510b5
  Author: Jenkins Build Server 
  Date:   2014-04-25 (Fri, 25 Apr 2014)

  Changed paths:
A ScriptLoader30.package/ScriptLoader.class/instance/pharo - 
scripts/script488.st
A ScriptLoader30.package/ScriptLoader.class/instance/pharo - 
updates/update30835.st
M 
ScriptLoader30.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
M 
Spec-Core.package/ContainerModel.class/instance/protocol/buildAdapterWithSpec.st

  Log Message:
  ---
  30835
13225 SpecInterpreter should not reset bindings
https://pharo.fogbugz.com/f/cases/13225

http://files.pharo.org/image/30/30835.zip




Re: [Pharo-dev] Modifications to be integrated in Pharo 3.0 VM

2014-04-25 Thread Esteban Lorenzano
Hi Nicolas, 

I cannot approve your pull requests because there are conflicts (I suspects is 
all the same conflict). 

can you fix them?

thanks, 
Esteban

On 25 Apr 2014, at 01:16, Nicolas Cellier  
wrote:

> I think this fix is essential and should be applied before releasing Pharo VM:
> 
> https://github.com/pharo-project/pharo-vm/pull/31
> 
> Those are optionals but would be nice to have:
> 
> https://github.com/pharo-project/pharo-vm/pull/32
> https://github.com/pharo-project/pharo-vm/pull/33
> https://github.com/pharo-project/pharo-vm/pull/34
> https://github.com/pharo-project/pharo-vm/pull/42
> 
> Those can wait but are ready and not dangerous IMO:
> 
> https://github.com/pharo-project/pharo-vm/pull/37
> https://github.com/pharo-project/pharo-vm/pull/39
> https://github.com/pharo-project/pharo-vm/pull/40
> 
> This one works perfectly for me but failed on the CI server I really wonder 
> why... 
> 
> https://github.com/pharo-project/pharo-vm/pull/41
> 
> This one would be nice to have too but does not fully work on my mac.
> I really fail to understand why...
> The exact same code in Cog branch works perfectly with same compiler 
> (slightly different options maybe?)
> I'd be curious to know if all Kernel-Number tests pass when compiled by 
> someone else.
> 
> https://github.com/pharo-project/pharo-vm/pull/35
> 
> And last, the compiler flags should be fixed on MacOSX for bug 
> https://pharo.fogbugz.com/f/cases/11130
> Or clang replaced by an older gcc...
> 



Re: [Pharo-dev] Debugging in Production Servers

2014-04-25 Thread askoh
Thanks for all the comments. Let me distilled what I have learned. Correct me
if I am wrong.

In Smalltalk:
Production environment and development environment are very similar if not
identical.
Runtime and debug modes are identical. So, debugging is instantaneous
available.
Debugging occurs at the context of the exception itself - not in a handler
or somewhere else.
Debugger, nah, the whole environment allows doit's, code changes and resumes
always.
Reflection is constantly available for debugging and logging.

Can we coin a term for these capabilities/properties? Can we define a
standard to gauge programming environments?

All the best,
Aik-Siong Koh



--
View this message in context: 
http://forum.world.st/Debugging-in-Production-Servers-tp4756136p4756451.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.



[Pharo-dev] Units package access

2014-04-25 Thread Diego Lont
Hi all,

I think I have found a bug in Units and would like to correct it.

I am using Units, and although it has some quirks (100 kg * (10 m / 1 t) should 
be 1 m and not 1000 kilogram metres per tonne), it is working well for me. But 
one point is a problem for me: the “=“ is no longer symmetric.

The following things should be unequal:
10 kg = 10 s
10 kg = 10
10 = 10 kg

But the thing is, that 10 kg = 10 actually returns true. So if someone can give 
me access I will fix this bug (with a test case).

Regards,
Diego


Re: [Pharo-dev] CPU usage change on newer OS

2014-04-25 Thread Norbert Hartl
Here is mine. And it used to be around 2.

Norbert

 
top - 12:33:02 up 16 days, 15:45,  1 user,  load average: 5,03, 6,69, 7,02
Tasks:  30 total,   1 running,  29 sleeping,   0 stopped,   0 zombie
%Cpu(s): 13,8 us,  0,6 sy,  0,5 ni, 82,9 id,  2,2 wa,  0,0 hi,  0,0 si,  0,0 st
KiB Mem:  32834868 total, 31193000 used,  1641868 free,  1449816 buffers
KiB Swap: 33553332 total,   672508 used, 32880824 free. 21207288 cached Mem

  PID USER  PR  NIVIRTRESSHR S  %CPU %MEM TIME+ COMMAND
16667 mobility  20   0   72856  47096   2188 S   1,0  0,1  65:07.04 pharo-vm
22820 inbox 20   0   70500  43904   1344 S   1,0  0,1  26:37.38 pharo-vm
26745 events20   0   70500  40692   1264 S   1,0  0,1 145:37.59 pharo-vm
32093 geo   20   0  136308  47268   1436 S   1,0  0,1  92:17.80 pharo-vm
10523 gcm   20   0   82528  53152   2284 S   0,7  0,2  94:52.39 pharo-vm
11531 sms   20   0   70628  42096   1380 S   0,7  0,1  91:49.13 pharo-vm
18739 stats 20   0   70496  41980   1384 S   0,7  0,1  45:30.60 pharo-vm

Am 25.04.2014 um 07:30 schrieb Sven Van Caekenberghe :

> 
> On 25 Apr 2014, at 01:19, Esteban A. Maringolo  wrote:
> 
>> What % of CPU is it using?
>> 
>> My VM on idle state consumes about ~4-5% CPU.
> 
> That is about what I am used to, here is a real view of an Amazon AWS EC2 
> Small Instance running 4 Pharo VMs:
> 
> top - 05:25:09 up 413 days, 15:27,  1 user,  load average: 0.88, 0.66, 0.49
> Tasks:  73 total,   3 running,  70 sleeping,   0 stopped,   0 zombie
> Cpu(s):  0.6%us,  0.4%sy,  0.0%ni, 96.3%id,  0.2%wa,  0.0%hi,  0.0%si,  2.5%st
> Mem:   1706660k total,  1654928k used,51732k free,   136692k buffers
> Swap:0k total,0k used,0k free,  1006556k cached
> 
>   PID USER  PR  NI  VIRT  RES  SHR S %CPU %MEMTIME+  COMMAND  
>   
> 31639 ubuntu20   0 1030m  99m 1444 R  4.0  5.9  61:47.82 pharo
>   
>  4314 ubuntu20   0 1030m 162m 1504 S  2.0  9.7 140:28.55 pharo
>   
>  8014 ubuntu20   0 1030m  77m 1512 S  2.0  4.6 561:06.30 pharo
>   
> 31647 ubuntu20   0 1030m  92m 1444 R  2.0  5.6  63:31.80 pharo
>   
> 1 root  20   0  3540 1392  732 S  0.0  0.1   0:58.61 init  
> 
> Sven
> 
>> Esteban A. Maringolo
>> 
>> 
>> 2014-04-24 15:43 GMT-03:00 Norbert Hartl :
>>> I have a strange effect on my machines. I have a dedicated server and a lot 
>>> of virtual instances using LXC. The last few days I migrated most projects 
>>> of our projects from pharo2.0 to pharo3.0. And on the same time the images 
>>> moved from an ubuntu 12.04. system to a ubuntu 14.04 system. Looking at the 
>>> top command it appears the images/vms need noticable less CPU or better the 
>>> tools report less. The monitored overall CPU usage also is much lesser than 
>>> before.
>>> 
>>> This is not proved by any measurement. Has anyone an idea why this could 
>>> happen or appear differently?
>>> 
>>> Norbert
>>> 
>> 
> 



Re: [Pharo-dev] CPU usage change on newer OS

2014-04-25 Thread Guillermo Polito
I remember Igor made a comment not so long ago about fixing something in
the idle process (the relinquishBlaBla primitive). Maybe it's related...


On Fri, Apr 25, 2014 at 2:35 PM, Norbert Hartl  wrote:

> Here is mine. And it used to be around 2.
>
> Norbert
>
>
> top - 12:33:02 up 16 days, 15:45,  1 user,  load average: 5,03, 6,69, 7,02
> Tasks:  30 total,   1 running,  29 sleeping,   0 stopped,   0 zombie
> %Cpu(s): 13,8 us,  0,6 sy,  0,5 ni, 82,9 id,  2,2 wa,  0,0 hi,  0,0 si,
>  0,0 st
> KiB Mem:  32834868 total, 31193000 used,  1641868 free,  1449816 buffers
> KiB Swap: 33553332 total,   672508 used, 32880824 free. 21207288 cached Mem
>
>   PID USER  PR  NIVIRTRESSHR S  %CPU %MEM TIME+ COMMAND
> 16667 mobility  20   0   72856  47096   2188 S   1,0  0,1  65:07.04
> pharo-vm
> 22820 inbox 20   0   70500  43904   1344 S   1,0  0,1  26:37.38
> pharo-vm
> 26745 events20   0   70500  40692   1264 S   1,0  0,1 145:37.59
> pharo-vm
> 32093 geo   20   0  136308  47268   1436 S   1,0  0,1  92:17.80
> pharo-vm
> 10523 gcm   20   0   82528  53152   2284 S   0,7  0,2  94:52.39
> pharo-vm
> 11531 sms   20   0   70628  42096   1380 S   0,7  0,1  91:49.13
> pharo-vm
> 18739 stats 20   0   70496  41980   1384 S   0,7  0,1  45:30.60
> pharo-vm
>
> Am 25.04.2014 um 07:30 schrieb Sven Van Caekenberghe :
>
>
> On 25 Apr 2014, at 01:19, Esteban A. Maringolo 
> wrote:
>
> What % of CPU is it using?
>
> My VM on idle state consumes about ~4-5% CPU.
>
>
> That is about what I am used to, here is a real view of an Amazon AWS EC2
> Small Instance running 4 Pharo VMs:
>
> top - 05:25:09 up 413 days, 15:27,  1 user,  load average: 0.88, 0.66, 0.49
> Tasks:  73 total,   3 running,  70 sleeping,   0 stopped,   0 zombie
> Cpu(s):  0.6%us,  0.4%sy,  0.0%ni, 96.3%id,  0.2%wa,  0.0%hi,  0.0%si,
>  2.5%st
> Mem:   1706660k total,  1654928k used,51732k free,   136692k buffers
> Swap:0k total,0k used,0k free,  1006556k cached
>
>   PID USER  PR  NI  VIRT  RES  SHR S %CPU %MEMTIME+  COMMAND
>
> 31639 ubuntu20   0 1030m  99m 1444 R  4.0  5.9  61:47.82 pharo
>
>  4314 ubuntu20   0 1030m 162m 1504 S  2.0  9.7 140:28.55 pharo
>
>  8014 ubuntu20   0 1030m  77m 1512 S  2.0  4.6 561:06.30 pharo
>
> 31647 ubuntu20   0 1030m  92m 1444 R  2.0  5.6  63:31.80 pharo
>
> 1 root  20   0  3540 1392  732 S  0.0  0.1   0:58.61 init
>
> Sven
>
> Esteban A. Maringolo
>
>
> 2014-04-24 15:43 GMT-03:00 Norbert Hartl :
>
> I have a strange effect on my machines. I have a dedicated server and a
> lot of virtual instances using LXC. The last few days I migrated most
> projects of our projects from pharo2.0 to pharo3.0. And on the same time
> the images moved from an ubuntu 12.04. system to a ubuntu 14.04 system.
> Looking at the top command it appears the images/vms need noticable less
> CPU or better the tools report less. The monitored overall CPU usage also
> is much lesser than before.
>
> This is not proved by any measurement. Has anyone an idea why this could
> happen or appear differently?
>
> Norbert
>
>
>
>
>


Re: [Pharo-dev] CPU usage change on newer OS

2014-04-25 Thread Norbert Hartl
Ok, but it is the same vm. The one that comes from the pharo ppa.

Norbert

Am 25.04.2014 um 14:43 schrieb Guillermo Polito :

> I remember Igor made a comment not so long ago about fixing something in the 
> idle process (the relinquishBlaBla primitive). Maybe it's related...
> 
> 
> On Fri, Apr 25, 2014 at 2:35 PM, Norbert Hartl  wrote:
> Here is mine. And it used to be around 2.
> 
> Norbert
> 
>  
> top - 12:33:02 up 16 days, 15:45,  1 user,  load average: 5,03, 6,69, 7,02
> Tasks:  30 total,   1 running,  29 sleeping,   0 stopped,   0 zombie
> %Cpu(s): 13,8 us,  0,6 sy,  0,5 ni, 82,9 id,  2,2 wa,  0,0 hi,  0,0 si,  0,0 
> st
> KiB Mem:  32834868 total, 31193000 used,  1641868 free,  1449816 buffers
> KiB Swap: 33553332 total,   672508 used, 32880824 free. 21207288 cached Mem
> 
>   PID USER  PR  NIVIRTRESSHR S  %CPU %MEM TIME+ COMMAND
> 16667 mobility  20   0   72856  47096   2188 S   1,0  0,1  65:07.04 pharo-vm
> 22820 inbox 20   0   70500  43904   1344 S   1,0  0,1  26:37.38 pharo-vm
> 26745 events20   0   70500  40692   1264 S   1,0  0,1 145:37.59 pharo-vm
> 32093 geo   20   0  136308  47268   1436 S   1,0  0,1  92:17.80 pharo-vm
> 10523 gcm   20   0   82528  53152   2284 S   0,7  0,2  94:52.39 pharo-vm
> 11531 sms   20   0   70628  42096   1380 S   0,7  0,1  91:49.13 pharo-vm
> 18739 stats 20   0   70496  41980   1384 S   0,7  0,1  45:30.60 pharo-vm
> 
> Am 25.04.2014 um 07:30 schrieb Sven Van Caekenberghe :
> 
>> 
>> On 25 Apr 2014, at 01:19, Esteban A. Maringolo  wrote:
>> 
>>> What % of CPU is it using?
>>> 
>>> My VM on idle state consumes about ~4-5% CPU.
>> 
>> That is about what I am used to, here is a real view of an Amazon AWS EC2 
>> Small Instance running 4 Pharo VMs:
>> 
>> top - 05:25:09 up 413 days, 15:27,  1 user,  load average: 0.88, 0.66, 0.49
>> Tasks:  73 total,   3 running,  70 sleeping,   0 stopped,   0 zombie
>> Cpu(s):  0.6%us,  0.4%sy,  0.0%ni, 96.3%id,  0.2%wa,  0.0%hi,  0.0%si,  
>> 2.5%st
>> Mem:   1706660k total,  1654928k used,51732k free,   136692k buffers
>> Swap:0k total,0k used,0k free,  1006556k cached
>> 
>>   PID USER  PR  NI  VIRT  RES  SHR S %CPU %MEMTIME+  COMMAND 
>>
>> 31639 ubuntu20   0 1030m  99m 1444 R  4.0  5.9  61:47.82 pharo   
>>
>>  4314 ubuntu20   0 1030m 162m 1504 S  2.0  9.7 140:28.55 pharo   
>>
>>  8014 ubuntu20   0 1030m  77m 1512 S  2.0  4.6 561:06.30 pharo   
>>
>> 31647 ubuntu20   0 1030m  92m 1444 R  2.0  5.6  63:31.80 pharo   
>>
>> 1 root  20   0  3540 1392  732 S  0.0  0.1   0:58.61 init  
>> 
>> Sven
>> 
>>> Esteban A. Maringolo
>>> 
>>> 
>>> 2014-04-24 15:43 GMT-03:00 Norbert Hartl :
 I have a strange effect on my machines. I have a dedicated server and a 
 lot of virtual instances using LXC. The last few days I migrated most 
 projects of our projects from pharo2.0 to pharo3.0. And on the same time 
 the images moved from an ubuntu 12.04. system to a ubuntu 14.04 system. 
 Looking at the top command it appears the images/vms need noticable less 
 CPU or better the tools report less. The monitored overall CPU usage also 
 is much lesser than before.
 
 This is not proved by any measurement. Has anyone an idea why this could 
 happen or appear differently?
 
 Norbert
 
>>> 
>> 
> 
> 



Re: [Pharo-dev] Modifications to be integrated in Pharo 3.0 VM

2014-04-25 Thread Nicolas Cellier
2014-04-25 11:26 GMT+02:00 Esteban Lorenzano :

> Hi Nicolas,
>
> I cannot approve your pull requests because there are conflicts (I
> suspects is all the same conflict).
>
> can you fix them?
>
> thanks,
> Esteban
>

Hi Esteban,
I don't think there is a single source code conflict...
But of course, there is allways 1 conflict : the MC meta information
mc/VMMaker-oscog.package/monticello.meta/version

Since the branch was not forked from latest master, every other feature
branch will rot as soon as you integrate the first one.
That's the major limitation of gitfiletree.

The way I found to workaround this is to :

git checkout master
start an image in interactive mode, make sure to have current version from
gitfiletree loaded

git fetch someRepo someBranch
git checkout someBranch
>From the image, open git file tree and copy modifiedPackage in local MC
package-cache

git checkout master
git merge someBranch
git mergetool
answer remote/local as you like for .meta/version and say [y] it's fixed
(you'll overwrite it soon after)

>From the image MC merge modifiedPackage copy from the package-cache
Republish the merged package in gitfiletree
git commit -a -m "Merge pull request #... (fix someBranch)"

That's a bit heavier than a pure MC workflow, but it's bearable IMO...

Tell me if this sounds clear enough.

Another possibility is to do the exact mirror of this operation : merge
master branch in each someBranch.
But I don't think it's viable :
1) If I have 10 branches, and don't know in which order you want to
integrate, then I'll have to do it 10+9+8+... times - that's 45 times this
operation
2) If I know the order, I'll do that job in a single someBranch, it is
exactly the mirror of above operation : merge master into someBranch rather
than someBranch into master. But then it's both fragile (it can rot at any
time if you decide to interleave another fix), and it is against the spirit
of git : the feature branch should carry the minimum of changes IMO.

The only advantage of this approach is to reduce the bottleneck effect by
reducing the work performed by the integrator, especially if you are alone
to cope with this burden... Unfortunately I'm out of time right now.

I wanted to blog about it, but blogging is taking time... Hope my
explanations help.

Cheers


>
> On 25 Apr 2014, at 01:16, Nicolas Cellier <
> nicolas.cellier.aka.n...@gmail.com> wrote:
>
> I think this fix is essential and should be applied before releasing Pharo
> VM:
>
> https://github.com/pharo-project/pharo-vm/pull/31
>
> Those are optionals but would be nice to have:
>
> https://github.com/pharo-project/pharo-vm/pull/32
> https://github.com/pharo-project/pharo-vm/pull/33
> https://github.com/pharo-project/pharo-vm/pull/34
> https://github.com/pharo-project/pharo-vm/pull/42
>
> Those can wait but are ready and not dangerous IMO:
>
> https://github.com/pharo-project/pharo-vm/pull/37
> https://github.com/pharo-project/pharo-vm/pull/39
> https://github.com/pharo-project/pharo-vm/pull/40
>
> This one works perfectly for me but failed on the CI server I really
> wonder why...
>
> https://github.com/pharo-project/pharo-vm/pull/41
>
> This one would be nice to have too but does not fully work on my mac.
> I really fail to understand why...
> The exact same code in Cog branch works perfectly with same compiler
> (slightly different options maybe?)
> I'd be curious to know if all Kernel-Number tests pass when compiled by
> someone else.
>
> https://github.com/pharo-project/pharo-vm/pull/35
>
> And last, the compiler flags should be fixed on MacOSX for bug
> https://pharo.fogbugz.com/f/cases/11130
> Or clang replaced by an older gcc...
>
>
>


Re: [Pharo-dev] Error adding a Class instVar

2014-04-25 Thread Esteban A. Maringolo
Camille, all the classes in my hiearchy are in the toRebuild collection.

But these others are also included:

AdabasLikePlatform class
AsyncFileReadStream class
CannotAutomaticallyDetermineJoin class
CannotFindSession class
DialogWindowModel class
DolphinDatabaseAccessor class
DuplicatePrimaryKeyException class
ExternalOSProcess class
GlorpDatabaseReadError class
GlorpDatabaseWriteError class
GlorpIllegalCommand class
GlorpInvalidExpressionError class
GlorpInvalidTypeError class
GlorpLinkTableAnywhereDescriptorSystem class
GlorpTransactionFailure class
GlorpWriteFailure class
JQueryClass class
JQueryInstance class
MAMemoryFileModel class
MBAbstractInfoList class
MBLabelInfo class
MBSpecInfo class
MCClassDefinition
MCClassDefinition class
MCClassTraitDefinition
MCClassTraitDefinition class
MCFileTreeFileSystemUtils class
MCMethodDefinition
MCMethodDefinition class
MCMockDefinition
MCMockDefinition class
MCOrganizationDefinition
MCOrganizationDefinition class
MCScriptDefinition
MCScriptDefinition class
MacOSProcessAccessor class
MacProcess class
MySQLPlatform class
OS2OSProcessAccessor class
OS2Process class
ObjectStudioDatabaseAccessor class
OcelotPlatform class
OraclePlatform class
PGAbstractStringResponse class
PGAsciiRow class
PGAuthentication class
PGBackendKeyData class
PGCancelRequest class
PGColumnDescription class
PGCopyInResponse class
PGCopyOutResponse class
PGFunctionCall class
PGFunctionResultResponse class
PGNotificationResponse class
PGPasswordPacket class
PGQuery class
PGReadyForQuery class
PGRowDescription class
PGStartupPacket class
PGTerminate class
PostgreSQLPlatform class
ProfStef class
RBSLDAPAuthenticationProvider class
RBSPostgresAuthenticationProvider class
RBSSuperUserSession class
RBSVoyageAuthenticationProvider class
RiscOSProcess class
RiscOSProcessAccessor class
SQLServerPlatform class
SQLite3Platform class
SpecDebugActionButton class
SqueakDatabaseAccessor class
TextInputFieldModel class
UIThemeVistary class
UIThemeWatery class
UnixProcess class
VADatabaseAccessor class
VWDatabaseAccessor class
ValidationError class
WAAncestryAttributeEditor class
WABufferedResponse class
WACacheAttributeEditor class
WAComboResponse class
WAConfigAttributeEditor class
WAFileAttributeEditor class
WAFileLibrary class
WAFileMetadataLibrary class
WAFilterAttributeEditor class
WAStreamedResponse class
WindowsOSProcessAccessor class
WindowsProcess class
WorldModel class

Regards!


Esteban A. Maringolo


2014-04-25 4:42 GMT-03:00 Camille Teruel :
>
> On 25 avr. 2014, at 09:13, Marcus Denker  wrote:
>
>>
>> On 25 Apr 2014, at 04:33, Esteban A. Maringolo  wrote:
>>
>>> I was adding a Class instance variable when I got this, admittedly, funny 
>>> error.
>>>
>>> Any clues of why?
>>>
>>> The class has a Trait (which I plan to remove). Maybe that is causing this?
>>
>> This is this problem:
>>
>> https://pharo.fogbugz.com/f/cases/13028/Adding-ClassVariables-corrupts-class-hierarchy
>
> No I don't think so, 13028 is the subclass cache problem whereas Esteban's 
> problem seems to be related to wrong slot scope problem.
> Esteban, is it the latest image?
> Can run this script in your image and tell us the content of toRebuild?
>
> all := Smalltalk allClasses flatCollect: [ :e | { e . e class } ].
> candidates := all reject: [ :e | e superclass isNil or: [e layout slotScope 
> isKindOf: LayoutEmptyScope ] ].
> toRebuild := candidates reject: [ :e | e superclass layout slotScope == e 
> layout slotScope parentScope ].
>
> Does toRebuild contains your class or one class of its hierarchy?
>
>>
>>
>
>



Re: [Pharo-dev] Debugging in Production Servers

2014-04-25 Thread kilon alios
AFAIK the term is "live coding" meaning the ability to fully code an
application while it runs.


On Fri, Apr 25, 2014 at 1:01 PM, askoh  wrote:

> Thanks for all the comments. Let me distilled what I have learned. Correct
> me
> if I am wrong.
>
> In Smalltalk:
> Production environment and development environment are very similar if not
> identical.
> Runtime and debug modes are identical. So, debugging is instantaneous
> available.
> Debugging occurs at the context of the exception itself - not in a handler
> or somewhere else.
> Debugger, nah, the whole environment allows doit's, code changes and
> resumes
> always.
> Reflection is constantly available for debugging and logging.
>
> Can we coin a term for these capabilities/properties? Can we define a
> standard to gauge programming environments?
>
> All the best,
> Aik-Siong Koh
>
>
>
> --
> View this message in context:
> http://forum.world.st/Debugging-in-Production-Servers-tp4756136p4756451.html
> Sent from the Pharo Smalltalk Developers mailing list archive at
> Nabble.com.
>
>


Re: [Pharo-dev] Modifications to be integrated in Pharo 3.0 VM

2014-04-25 Thread GOUBIER Thierry
Hi Nicolas,

from what you describe (double merge: one in git, one in MC), I wonder if my 
decision to maintain compatibility between gitfiletree and FileTree by writing 
the metadata (version / methodProperties) in gitfiletree is a good thing?

Thierry


De : Pharo-dev [pharo-dev-boun...@lists.pharo.org] de la part de Nicolas 
Cellier [nicolas.cellier.aka.n...@gmail.com]
Envoyé : vendredi 25 avril 2014 15:46
À : Pharo Development List
Objet : Re: [Pharo-dev] Modifications to be integrated in Pharo 3.0 VM


2014-04-25 11:26 GMT+02:00 Esteban Lorenzano 
mailto:esteba...@gmail.com>>:
Hi Nicolas,

I cannot approve your pull requests because there are conflicts (I suspects is 
all the same conflict).

can you fix them?

thanks,
Esteban

Hi Esteban,
I don't think there is a single source code conflict...
But of course, there is allways 1 conflict : the MC meta information
mc/VMMaker-oscog.package/monticello.meta/version

Since the branch was not forked from latest master, every other feature branch 
will rot as soon as you integrate the first one.
That's the major limitation of gitfiletree.

The way I found to workaround this is to :

git checkout master
start an image in interactive mode, make sure to have current version from 
gitfiletree loaded

git fetch someRepo someBranch
git checkout someBranch
>From the image, open git file tree and copy modifiedPackage in local MC 
>package-cache

git checkout master
git merge someBranch
git mergetool
answer remote/local as you like for .meta/version and say [y] it's fixed 
(you'll overwrite it soon after)

>From the image MC merge modifiedPackage copy from the package-cache
Republish the merged package in gitfiletree
git commit -a -m "Merge pull request #... (fix someBranch)"

That's a bit heavier than a pure MC workflow, but it's bearable IMO...

Tell me if this sounds clear enough.

Another possibility is to do the exact mirror of this operation : merge master 
branch in each someBranch.
But I don't think it's viable :
1) If I have 10 branches, and don't know in which order you want to integrate, 
then I'll have to do it 10+9+8+... times - that's 45 times this operation
2) If I know the order, I'll do that job in a single someBranch, it is exactly 
the mirror of above operation : merge master into someBranch rather than 
someBranch into master. But then it's both fragile (it can rot at any time if 
you decide to interleave another fix), and it is against the spirit of git : 
the feature branch should carry the minimum of changes IMO.

The only advantage of this approach is to reduce the bottleneck effect by 
reducing the work performed by the integrator, especially if you are alone to 
cope with this burden... Unfortunately I'm out of time right now.

I wanted to blog about it, but blogging is taking time... Hope my explanations 
help.

Cheers



Re: [Pharo-dev] Modifications to be integrated in Pharo 3.0 VM

2014-04-25 Thread Nicolas Cellier
2014-04-25 17:38 GMT+02:00 GOUBIER Thierry :

>  Hi Nicolas,
>
> from what you describe (double merge: one in git, one in MC), I wonder if
> my decision to maintain compatibility between gitfiletree and FileTree by
> writing the metadata (version / methodProperties) in gitfiletree is a good
> thing?
>
> Thierry
>
>
Very good question indeed.
This is spoiling the efficiency of git for merging...
I think that the answer is yes though, because not every one is using git
(think Eliot's branch).
Esteban is not publishing the MC packages back on SmalltalkHub for nothing.

Those MC package would not be usable if they loosed their history, and I'm
not sure that we are ready to loose that...
Yet, resolving the (real code) merge conflicts in an external tool does not
feel so cool to me, I'd like to specify git mergetool --pharo ;)

Another way would be to not attempt a merge at all via git, it would be
simpler to just pick the mc package somewhere, but I don't like it, we're
loosing git traceability (and those nice github networks).

Otherwise, if development was exclusively git driven, then we would be more
comfortable with git tools.

But still, we have the image which is a working copy, and not necessarily
in sync with gitfiletree, so we have a more complex process than file based
environments anyway : one more indirection.
image <-> files <-> staged files <-> repo

There is still one super-cool feature where git shines that we can use:
jumping from one branch to another (modulo the image sync with files), the
most usefull one IMO when we are mixing external platform files and
Smalltalk code that require some sync.

Nicolas

 --
> *De :* Pharo-dev [pharo-dev-boun...@lists.pharo.org] de la part de
> Nicolas Cellier [nicolas.cellier.aka.n...@gmail.com]
> *Envoyé :* vendredi 25 avril 2014 15:46
> *À :* Pharo Development List
> *Objet :* Re: [Pharo-dev] Modifications to be integrated in Pharo 3.0 VM
>
>
> 2014-04-25 11:26 GMT+02:00 Esteban Lorenzano :
>
>> Hi Nicolas,
>>
>>  I cannot approve your pull requests because there are conflicts (I
>> suspects is all the same conflict).
>>
>>  can you fix them?
>>
>>  thanks,
>>  Esteban
>>
>
>  Hi Esteban,
>  I don't think there is a single source code conflict...
> But of course, there is allways 1 conflict : the MC meta information
> mc/VMMaker-oscog.package/monticello.meta/version
>
>  Since the branch was not forked from latest master, every other feature
> branch will rot as soon as you integrate the first one.
>  That's the major limitation of gitfiletree.
>
>  The way I found to workaround this is to :
>
>  git checkout master
>  start an image in interactive mode, make sure to have current version
> from gitfiletree loaded
>
>  git fetch someRepo someBranch
>  git checkout someBranch
>  From the image, open git file tree and copy modifiedPackage in local MC
> package-cache
>
>  git checkout master
>  git merge someBranch
>  git mergetool
>  answer remote/local as you like for .meta/version and say [y] it's fixed
> (you'll overwrite it soon after)
>
>  From the image MC merge modifiedPackage copy from the package-cache
>  Republish the merged package in gitfiletree
>  git commit -a -m "Merge pull request #... (fix someBranch)"
>
>  That's a bit heavier than a pure MC workflow, but it's bearable IMO...
>
>  Tell me if this sounds clear enough.
>
>  Another possibility is to do the exact mirror of this operation : merge
> master branch in each someBranch.
>  But I don't think it's viable :
>  1) If I have 10 branches, and don't know in which order you want to
> integrate, then I'll have to do it 10+9+8+... times - that's 45 times this
> operation
>  2) If I know the order, I'll do that job in a single someBranch, it is
> exactly the mirror of above operation : merge master into someBranch rather
> than someBranch into master. But then it's both fragile (it can rot at any
> time if you decide to interleave another fix), and it is against the spirit
> of git : the feature branch should carry the minimum of changes IMO.
>
>  The only advantage of this approach is to reduce the bottleneck effect
> by reducing the work performed by the integrator, especially if you are
> alone to cope with this burden... Unfortunately I'm out of time right now.
>
>  I wanted to blog about it, but blogging is taking time... Hope my
> explanations help.
>
>  Cheers
>
>


[Pharo-dev] [pharo-project/pharo-core] cc556a: 30836

2014-04-25 Thread GitHub
  Branch: refs/heads/3.0
  Home:   https://github.com/pharo-project/pharo-core
  Commit: cc556a900432d496cec5c85bcf11682f37e6bb80
  
https://github.com/pharo-project/pharo-core/commit/cc556a900432d496cec5c85bcf11682f37e6bb80
  Author: Jenkins Build Server 
  Date:   2014-04-25 (Fri, 25 Apr 2014)

  Changed paths:
A ScriptLoader30.package/ScriptLoader.class/instance/pharo - 
scripts/script489.st
A ScriptLoader30.package/ScriptLoader.class/instance/pharo - 
updates/update30836.st
M 
ScriptLoader30.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
M 
Settings-Polymorph.package/PolymorphSystemSettings.class/class/desktop/pharoLogoContents.st

  Log Message:
  ---
  30836
11931 Use new flat Pharo logo

https://pharo.fogbugz.com/f/cases/11931

http://files.pharo.org/image/30/30836.zip




[Pharo-dev] [pharo-project/pharo-core]

2014-04-25 Thread GitHub
  Branch: refs/tags/30836
  Home:   https://github.com/pharo-project/pharo-core


Re: [Pharo-dev] Debugging in Production Servers

2014-04-25 Thread Chris Muller
On Fri, Apr 25, 2014 at 5:01 AM, askoh  wrote:
> Thanks for all the comments. Let me distilled what I have learned. Correct me
> if I am wrong.
>
> In Smalltalk:
> Production environment and development environment are very similar if not
> identical.

The "environments" on my laptop are the same as my production server?
No, one should never count on that.

> Runtime and debug modes are identical. So, debugging is instantaneous
> available.

What about everyone's obsession with shrinking?  No one minds a
"luxurious" IDE image for development, but most of us seem hell-bent
on deploying "minimal" production servers totally stripped of those
IDE/debugging luxuries.  Now, I'm sure the debugger itself is not
stripped, so that's better than nothing, unless running true headless
with no way to get a window on the image.

We're certainly "able" to do it, but it seems like our desire to
shrink might cause need for some balance that provides the best of
both worlds..



Re: [Pharo-dev] Debugging in Production Servers

2014-04-25 Thread Sebastian Sastre


On Apr 25, 2014, at 7:01 AM, askoh  wrote:

> Thanks for all the comments. Let me distilled what I have learned. Correct me
> if I am wrong.
> 
> In Smalltalk:
> Production environment and development environment are very similar if not
> identical.
> Runtime and debug modes are identical. So, debugging is instantaneous
> available.
> Debugging occurs at the context of the exception itself - not in a handler
> or somewhere else.
> Debugger, nah, the whole environment allows doit's, code changes and resumes
> always.
> Reflection is constantly available for debugging and logging.
> 
> Can we coin a term for these capabilities/properties? Can we define a
> standard to gauge programming environments?

great question, yeah I can validate that for airflowing.

Those features allowed us to do hot maintenance more than once

At least a couple of times we did it live with a real customer on the other 
side, it was really great but don’t get too excited, managing a real bug and a 
real customer's perception both at the same time requires a lot of muscle

sebastian

o/




Re: [Pharo-dev] Debugging in Production Servers

2014-04-25 Thread Esteban A. Maringolo
What I found useful is the ability to patch (compile code) in a
running server. That's really a plus when you can't shutdown the
server.

To me... an interactive debugger in the production environment is not
a requirement.
Esteban A. Maringolo


2014-04-25 17:38 GMT-03:00 Sebastian Sastre :
>
>
> On Apr 25, 2014, at 7:01 AM, askoh  wrote:
>
> Thanks for all the comments. Let me distilled what I have learned. Correct
> me
> if I am wrong.
>
> In Smalltalk:
> Production environment and development environment are very similar if not
> identical.
> Runtime and debug modes are identical. So, debugging is instantaneous
> available.
> Debugging occurs at the context of the exception itself - not in a handler
> or somewhere else.
> Debugger, nah, the whole environment allows doit's, code changes and resumes
> always.
> Reflection is constantly available for debugging and logging.
>
> Can we coin a term for these capabilities/properties? Can we define a
> standard to gauge programming environments?
>
>
> great question, yeah I can validate that for airflowing.
>
> Those features allowed us to do hot maintenance more than once
>
> At least a couple of times we did it live with a real customer on the other
> side, it was really great but don’t get too excited, managing a real bug and
> a real customer's perception both at the same time requires a lot of muscle
>
> sebastian
>
> o/
>
>



Re: [Pharo-dev] Debugging in Production Servers

2014-04-25 Thread Sven Van Caekenberghe

On 25 Apr 2014, at 22:40, Esteban A. Maringolo  wrote:

> To me... an interactive debugger in the production environment is not a 
> requirement.

Hmm, but that _is_ a key point: often being able to 'look into a running 
server' to find or investigate a problem makes all the difference - this 
interactivity can be much more productive than trying fixes blind.


Re: [Pharo-dev] Debugging in Production Servers

2014-04-25 Thread Esteban A. Maringolo
2014-04-25 17:48 GMT-03:00 Sven Van Caekenberghe :
>
> On 25 Apr 2014, at 22:40, Esteban A. Maringolo  wrote:
>
>> To me... an interactive debugger in the production environment is not a 
>> requirement.
>
> Hmm, but that _is_ a key point: often being able to 'look into a running 
> server' to find or investigate a problem makes all the difference - this 
> interactivity can be much more productive than trying fixes blind.

I value a nice stack dump or a FUEL dump (I haven't tried this), to
recreate the context.
I understand the fact that "a similar error context" is not the same
as "the actual error context", but the truth is if the error is
related with I/O (files, network, db...) it is not going to be simple
to fix, and maybe the dependent party (a client on the other side) is
already gone.

That's why I said that, for me (emphasis here), it isn't a requirement,
particularly to fix bugs. For live inspection and modifications I DO
FIND it valuable.


Esteban A. Maringolo



Re: [Pharo-dev] Debugging in Production Servers

2014-04-25 Thread Sebastian Sastre

On Apr 25, 2014, at 5:48 PM, Sven Van Caekenberghe  wrote:

> look into a running server' to find or investigate a problem makes all the 
> difference

yeah, I agree. Logs are the last resource and hot debugs are unbeatable. They 
can cut costs a lot when investigating in the real environment where the 
problem happens and Smalltalk’s debugger is the closest thing to a 
developer-with-problem dream-tool that the industry can give.