Re: [Pharo-users] Error: No factory specified

2014-04-09 Thread Stephan Eggermont
Ok, there is a bug in The ConfigurationOfDBXDriver,
the baseline has a versionString entry. That should be removed

After removing that (and renaming Cache) it loads.

Glorp loads already after renaming Cache.
I’m not sure the isKindOf: on ProtoObject is safe.
There is a renaming issue after loading Glorp (13188)

Stephan


Re: [Pharo-users] Error: No factory specified

2014-04-09 Thread Sven Van Caekenberghe
Thanks, Stephan.

I will have a look and try to load/use Glorp myself towards the end of the week.

On 09 Apr 2014, at 11:08, Stephan Eggermont step...@stack.nl wrote:

 Ok, there is a bug in The ConfigurationOfDBXDriver,
 the baseline has a versionString entry. That should be removed
 
 After removing that (and renaming Cache) it loads.
 
 Glorp loads already after renaming Cache.
 I’m not sure the isKindOf: on ProtoObject is safe.
 There is a renaming issue after loading Glorp (13188)
 
 Stephan




Re: [Pharo-users] Error: No factory specified

2014-04-09 Thread Markus Fritsche


On 09.04.2014 00:51, Stephan Eggermont wrote:

 That would be nice but creates problems. There is existing third
 party code we want to use. We can be much more precise in naming, and
 should not use generic names for specific implementations.

 When #totalWeight is no longer below #maximumWeight, the least
 recently used item of the cache is evicted (removed) to make room. „
 is not part of the Cache behavior, but of LRUCache.

Sorry for the noise, but cnr:


“There are only two hard problems in computer science: cache
invalidation and naming things.” -- Phil Karlton




Re: [Pharo-users] Error: No factory specified

2014-04-09 Thread Esteban A. Maringolo
Renaming Cache to AbstractCache (or whatever else, it has no global
references) I was able to load Glorp and have it running with the
NativePostgresDriver.

However there are a mix of things that are innecesary interdependant.
For instance:
* Running the tests the default glorp login doesn't have any encoding
strategy, but it is required by the Glorp Session. So many tests fail.
* The Encoders are in the DBXTalk packages :)

I'm willing to help here, but what approach should we take here?
I look forward for advice and guidance to accomplish this.

Regards,

Esteban A. Maringolo


2014-04-09 6:22 GMT-03:00 Sven Van Caekenberghe s...@stfx.eu:
 Thanks, Stephan.

 I will have a look and try to load/use Glorp myself towards the end of the 
 week.

 On 09 Apr 2014, at 11:08, Stephan Eggermont step...@stack.nl wrote:

 Ok, there is a bug in The ConfigurationOfDBXDriver,
 the baseline has a versionString entry. That should be removed

 After removing that (and renaming Cache) it loads.

 Glorp loads already after renaming Cache.
 I'm not sure the isKindOf: on ProtoObject is safe.
 There is a renaming issue after loading Glorp (13188)

 Stephan





Re: [Pharo-users] Error: No factory specified

2014-04-08 Thread Pharo4Stef
Not really. 
This is strange.

Stef

 I'm trying to load a Metacello Configuration I use in Pharo 2 into a brand 
 new Pharo 3 image.
 
 However I'm getting an error when attempting to load it, and it opens the 
 emergency evaluator.
 
 In the console I see following stack, which repeats over and over:
 
 LRUCache(Object)error:
 LRUCache(Cache)at:
 ScrollBar classarrowOfDirection:size:color:
 ScrollBarupImage
 ScrollBarupdateUpButtonImage
 ScrollBarinitializeUpButton
 ScrollBarinitializeSlider
 ScrollBar(Slider)extent:
 ScrollBarextent:
 ScrollBar(Morph)bounds:
 MorphTreeMorph(ScrollPane)hResizeScrollBar
 MorphTreeMorph(ScrollPane)resizeScrollBars
 MorphTreeMorph(ScrollPane)hideOrShowScrollBars
 MorphTreeMorph(ScrollPane)setScrollDeltas
 MorphTreeMorphadjustSubmorphPositionsOf:startIdx:startPos:
 MorphTreeMorphadjustSubmorphPositions
 MorphTreeMorphinnerWidgetChanged
 MorphTreeMorphprivateUpdateColumnMorphs
 MorphTreeMorphupdateColumnMorphs
 MorphTreeMorphaddSubmorphsFromNodeList:previouslyExpanded:
 MorphTreeMorphupdateContentsWithPreviouslyExpanded:
 MorphTreeMorphupdateList
 MorphTreeMorphupdate:
 PackageTreeModel(Object)changed: in Block: [ :aDependent | aDependent 
 update: aParameter ]
 DependentsArraydo:
 PackageTreeModel(Object)changed:
 PackageTreeNautilusUIupdatePackageView
 PackageTreeNautilusUI(AbstractNautilusUI)mcWorkingCopyCreated:
 WeakMessageSendvalue:
 WeakMessageSendcull:
 Error: No factory specified
 
 Any clues?
 
 
 Esteban A. Maringolo




Re: [Pharo-users] Error: No factory specified

2014-04-08 Thread Esteban A. Maringolo
Another pointer here before opening the emergency recovery.
This is what I get. No other error.





Esteban A. Maringolo


2014-04-08 16:15 GMT-03:00 Esteban A. Maringolo emaring...@gmail.com:

 I tried closing all windows, and just having a workspace. But the same
 happens even if I load the configuration through the command line.

 Screenshot attached.

 Esteban A. Maringolo


 2014-04-08 16:10 GMT-03:00 Pharo4Stef pharo4s...@free.fr:

 Not really.
 This is strange.

 Stef

  I'm trying to load a Metacello Configuration I use in Pharo 2 into a
 brand new Pharo 3 image.
 
  However I'm getting an error when attempting to load it, and it opens
 the emergency evaluator.
 
  In the console I see following stack, which repeats over and over:
 
  LRUCache(Object)error:
  LRUCache(Cache)at:
  ScrollBar classarrowOfDirection:size:color:
  ScrollBarupImage
  ScrollBarupdateUpButtonImage
  ScrollBarinitializeUpButton
  ScrollBarinitializeSlider
  ScrollBar(Slider)extent:
  ScrollBarextent:
  ScrollBar(Morph)bounds:
  MorphTreeMorph(ScrollPane)hResizeScrollBar
  MorphTreeMorph(ScrollPane)resizeScrollBars
  MorphTreeMorph(ScrollPane)hideOrShowScrollBars
  MorphTreeMorph(ScrollPane)setScrollDeltas
  MorphTreeMorphadjustSubmorphPositionsOf:startIdx:startPos:
  MorphTreeMorphadjustSubmorphPositions
  MorphTreeMorphinnerWidgetChanged
  MorphTreeMorphprivateUpdateColumnMorphs
  MorphTreeMorphupdateColumnMorphs
  MorphTreeMorphaddSubmorphsFromNodeList:previouslyExpanded:
  MorphTreeMorphupdateContentsWithPreviouslyExpanded:
  MorphTreeMorphupdateList
  MorphTreeMorphupdate:
  PackageTreeModel(Object)changed: in Block: [ :aDependent | aDependent
 update: aParameter ]
  DependentsArraydo:
  PackageTreeModel(Object)changed:
  PackageTreeNautilusUIupdatePackageView
  PackageTreeNautilusUI(AbstractNautilusUI)mcWorkingCopyCreated:
  WeakMessageSendvalue:
  WeakMessageSendcull:
  Error: No factory specified
 
  Any clues?
 
 
  Esteban A. Maringolo




attachment: workspace-error-lrucache.png

Re: [Pharo-users] Error: No factory specified

2014-04-08 Thread Stephan Eggermont
Please check what is in your package cache.
Any package where you have multiple versions?

Stephan



Re: [Pharo-users] Error: No factory specified

2014-04-08 Thread Sven Van Caekenberghe
What are you loading ? There was a report back of some package overwriting 
system code leading to this error, I'll see if I can find it.

On 08 Apr 2014, at 21:05, Esteban A. Maringolo emaring...@gmail.com wrote:

 I'm trying to load a Metacello Configuration I use in Pharo 2 into a brand 
 new Pharo 3 image.
 
 However I'm getting an error when attempting to load it, and it opens the 
 emergency evaluator.
 




Re: [Pharo-users] Error: No factory specified

2014-04-08 Thread Sven Van Caekenberghe
https://pharo.fogbugz.com/f/cases/12667

It was BabyMock-Examples.

HTH,

Sven

On 08 Apr 2014, at 21:59, Sven Van Caekenberghe s...@stfx.eu wrote:

 What are you loading ? There was a report back of some package overwriting 
 system code leading to this error, I'll see if I can find it.
 
 On 08 Apr 2014, at 21:05, Esteban A. Maringolo emaring...@gmail.com wrote:
 
 I'm trying to load a Metacello Configuration I use in Pharo 2 into a brand 
 new Pharo 3 image.
 
 However I'm getting an error when attempting to load it, and it opens the 
 emergency evaluator.
 
 




Re: [Pharo-users] Error: No factory specified

2014-04-08 Thread Esteban A. Maringolo
Okay, I found the culprit: Glorp.

If you execute this, it will load a class named Cache, which will overwrite
Pharo's version. As happened with the referenced issue.

Gofer it
url: 'http://smalltalkhub.com/mc/DBXTalk/Glorp/main';
package: 'Glorp';
 load.

No one ever tried loading Glorp into a Pharo3 image? What do people use for
ORM?

Regards!


Esteban A. Maringolo


2014-04-08 17:00 GMT-03:00 Sven Van Caekenberghe s...@stfx.eu:

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

 It was BabyMock-Examples.

 HTH,

 Sven

 On 08 Apr 2014, at 21:59, Sven Van Caekenberghe s...@stfx.eu wrote:

  What are you loading ? There was a report back of some package
 overwriting system code leading to this error, I'll see if I can find it.
 
  On 08 Apr 2014, at 21:05, Esteban A. Maringolo emaring...@gmail.com
 wrote:
 
  I'm trying to load a Metacello Configuration I use in Pharo 2 into a
 brand new Pharo 3 image.
 
  However I'm getting an error when attempting to load it, and it opens
 the emergency evaluator.
 
 





Re: [Pharo-users] Error: No factory specified

2014-04-08 Thread Stephan Eggermont
We might be better off renaming Cache to WeightedCache (or NeoCache or 
SystemCache).
The class comment in Cache seems to cover more than what Cache actually does 
itself.

Stephan


Re: [Pharo-users] Error: No factory specified

2014-04-08 Thread Sven Van Caekenberghe
Argh, yeah, another namespace problem. Sorry you had to run into that.

I do wonder though: is there no warning when you are (about to) overwrite an 
existing class ? 

And I would never name any class of mine anything general like Cache or Record 
without a namespace prefix.

There should indeed be a CI job, I thought there was talk about a DBX one, but 
I can't find it.

On 08 Apr 2014, at 22:34, Esteban A. Maringolo emaring...@gmail.com wrote:

 Okay, I found the culprit: Glorp.
 
 If you execute this, it will load a class named Cache, which will overwrite 
 Pharo's version. As happened with the referenced issue.
 
 Gofer it 
   url: 'http://smalltalkhub.com/mc/DBXTalk/Glorp/main';
   package: 'Glorp';
   load.
 
 No one ever tried loading Glorp into a Pharo3 image? What do people use for 
 ORM?
 
 Regards!
 
 
 Esteban A. Maringolo
 
 
 2014-04-08 17:00 GMT-03:00 Sven Van Caekenberghe s...@stfx.eu:
 https://pharo.fogbugz.com/f/cases/12667
 
 It was BabyMock-Examples.
 
 HTH,
 
 Sven
 
 On 08 Apr 2014, at 21:59, Sven Van Caekenberghe s...@stfx.eu wrote:
 
  What are you loading ? There was a report back of some package overwriting 
  system code leading to this error, I'll see if I can find it.
 
  On 08 Apr 2014, at 21:05, Esteban A. Maringolo emaring...@gmail.com wrote:
 
  I'm trying to load a Metacello Configuration I use in Pharo 2 into a brand 
  new Pharo 3 image.
 
  However I'm getting an error when attempting to load it, and it opens the 
  emergency evaluator.
 
 
 
 
 




Re: [Pharo-users] Error: No factory specified

2014-04-08 Thread Sven Van Caekenberghe

On 08 Apr 2014, at 23:06, Stephan Eggermont step...@stack.nl wrote:

 We might be better off renaming Cache to WeightedCache (or NeoCache or 
 SystemCache).
 The class comment in Cache seems to cover more than what Cache actually does 
 itself.
 
 Stephan

I disagree: third-party code should not use un-prefixed general names for 
classes as long as we live in one namespace.

I don't understand the remark about Cache being more than what a cache should 
be: unless it is limited in some way, which any cache should be, you could just 
as well use a Dictionary. The same argument can be made about the factory 
concept.

Sven


Re: [Pharo-users] Error: No factory specified

2014-04-08 Thread Esteban A. Maringolo
2014-04-08 19:04 GMT-03:00 Sven Van Caekenberghe s...@stfx.eu:

 Argh, yeah, another namespace problem. Sorry you had to run into that.

Don't sorry. It was just a matter of trying to load it.

 I do wonder though: is there no warning when you are (about to) overwrite an 
 existing class ?

Apparently not :D

 And I would never name any class of mine anything general like Cache or 
 Record without a namespace prefix.

The main code trunk is in VisualWorks, which uses namespaces extensively.
So migrating to Pharo/Squeak with an added prefix is not an option, or
requires a lot of rewrites during the fileout.

 There should indeed be a CI job, I thought there was talk about a DBX one, 
 but I can't find it.

I haven't seen it either.
From my standpoint GLORP is abandoned in the Pharo realm.
There are some people, like me, that still use it, but no one maintains it.
It worries me that not a single person ran into this issue before,
during the whole testing of Pharo 3. Well... I am now, but I'd expect
more people using GLORP.


Esteban A. Maringolo



Re: [Pharo-users] Error: No factory specified

2014-04-08 Thread Sven Van Caekenberghe

On 09 Apr 2014, at 00:16, Esteban A. Maringolo emaring...@gmail.com wrote:

 From my standpoint GLORP is abandoned in the Pharo realm.
 There are some people, like me, that still use it, but no one maintains it.
 It worries me that not a single person ran into this issue before,
 during the whole testing of Pharo 3. Well... I am now, but I'd expect
 more people using GLORP.

No, it is not abandoned. See

 http://dbxtalk.smallworks.com.ar
 http://forum.world.st/dbxtalk-working-on-pharo-3-0-td4743313.html

Cache was added recently to Pharo 3.

But your remarks about porting and namespaces is correct. Maintaining something 
across multiple Smalltalk implementations is very hard.

Sven


Re: [Pharo-users] Error: No factory specified

2014-04-08 Thread Stephan Eggermont
There are ci jobs at ci.inria.fr/dbxtalk
I’ve started fixing one of them
https://ci.inria.fr/dbxtalk/job/DBXTalkDriver-BleedingEdge/
I don’t have commit rights
 
The easiest way to make sure glorp keeps working is
to create  pharo3 (and soon 4) builds for a configuration 
of all the open source you use.



ConfigurationOfOpenDBXDriver-StephanEggermont.29.mcz
Description: Binary data


Re: [Pharo-users] Error: No factory specified

2014-04-08 Thread Esteban A. Maringolo
2014-04-08 19:31 GMT-03:00 Sven Van Caekenberghe s...@stfx.eu:

 On 09 Apr 2014, at 00:16, Esteban A. Maringolo emaring...@gmail.com wrote:

 From my standpoint GLORP is abandoned in the Pharo realm.
 There are some people, like me, that still use it, but no one maintains it.
 It worries me that not a single person ran into this issue before,
 during the whole testing of Pharo 3. Well... I am now, but I'd expect
 more people using GLORP.

 No, it is not abandoned. See
  http://dbxtalk.smallworks.com.ar
  http://forum.world.st/dbxtalk-working-on-pharo-3-0-td4743313.html

DBXTalk is the driver layer, which is not GLORP per se (I know you know this).
In the mentioned thread Tudor talks about loading DBXTalk [1], not GlorpDBX.
Otherwise he would had run into the Cache name collision.

GLORP port is outdated by two years, Alan Knight confirmed it, and
Mariano told me porting it from VW is not as straightforward as you
would expect (name clashing aside), and the reason for GlorpDBX (which
only exists in Pharo/Squeak AFAIK) is to decouple VW's GLORP from
PostgreSQL (which is tightly bound).

 But your remarks about porting and namespaces is correct.
 Maintaining something across multiple Smalltalk implementations is very hard.

If not impossible ;-)

Thanks for your support.

Esteban A. Maringolo


[1] I tested the load of DBXTalk in a vanilla 3.0 image using:
Gofer new
  smalltalkhubUser: 'DBXTalk' project: 'DBXTalkDriver';
  package: 'ConfigurationOfOpenDBXDriver';
  load.
#ConfigurationOfOpenDBXDriver asClass loadBleedingEdge.

And got he following error:
 'No version found for ''1.3.1'' of ConfigurationOfTalkFFI because:
Version ''1.3.1'' is not defined in ConfigurationOfTalkFFI. Possible
versions include: #(#bleedingEdge #development ''1.0-baseline''
''1.0'' ''1.1-baseline'' ''1.1'' ''1.2-baseline'' ''1.2''
''1.3-baseline'' ''1.3'' ''1.4'' ''1.5'')'



Re: [Pharo-users] Error: No factory specified

2014-04-08 Thread Sven Van Caekenberghe

On 09 Apr 2014, at 03:31, Esteban A. Maringolo emaring...@gmail.com wrote:

 OpenDBX aside (which I don't plan to use), I don't see how this will
 get GLORP running :)

It is maintained as part of DBXTalk, as far as I understand

  http://www.smalltalkhub.com/#!/~DBXTalk/Glorp/

and yes that is a bit confusing, but you can't do much with Glorp unless you 
can talk to a database, so it makes some sense.

 Should I rename Pharo's Cache to something else, like PharoCache or
 AbstractCache?

Well, to get the code to load, that would be a dirty hack that could work.

But IMO we should rename Glorp's Cache to InstancesCache, it is only referred 
to via CacheManager.

Sven