Re: [Pharo-users] Error: No factory specified
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 : > 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 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
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
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 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
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
On 09 Apr 2014, at 03:31, Esteban A. Maringolo 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
Re: [Pharo-users] Error: No factory specified
On 09 Apr 2014, at 00:51, Stephan Eggermont wrote: > "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. Yes, you are correct: how room is made available and how it is decided which entry to remove is subclass behaviour, but the fact that the cache is limited using an abstract concept of weight is not.
Re: [Pharo-users] Error: No factory specified
'No version found for ''1.3.1'' of ConfigurationOfTalkFFI because: Yes, you can see that in https://ci.inria.fr/dbxtalk/job/DBXTalkDriver-BleedingEdge/BACKEND=pgsql,Platform=dbxtalk-ubuntu12-i386/138/console That’s fixed in the configuration I attached.
Re: [Pharo-users] Error: No factory specified
>I disagree: third-party code should not use un-prefixed general names for >classes as long as we live in one namespace. 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.
Re: [Pharo-users] Error: No factory specified
2014-04-08 19:31 GMT-03:00 Sven Van Caekenberghe : > > On 09 Apr 2014, at 00:16, Esteban A. Maringolo 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
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
On 09 Apr 2014, at 00:16, Esteban A. Maringolo 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 19:04 GMT-03:00 Sven Van Caekenberghe : > > 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
On 08 Apr 2014, at 23:06, Stephan Eggermont 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
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 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 : > https://pharo.fogbugz.com/f/cases/12667 > > It was BabyMock-Examples. > > HTH, > > Sven > > On 08 Apr 2014, at 21:59, Sven Van Caekenberghe 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 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
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
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 : > https://pharo.fogbugz.com/f/cases/12667 > > It was BabyMock-Examples. > > HTH, > > Sven > > On 08 Apr 2014, at 21:59, Sven Van Caekenberghe 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 > 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
https://pharo.fogbugz.com/f/cases/12667 It was BabyMock-Examples. HTH, Sven On 08 Apr 2014, at 21:59, Sven Van Caekenberghe 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 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
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 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
Please check what is in your package cache. Any package where you have multiple versions? Stephan
Re: [Pharo-users] Error: No factory specified
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 : > 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 : > > 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 class>>arrowOfDirection:size:color: >> > ScrollBar>>upImage >> > ScrollBar>>updateUpButtonImage >> > ScrollBar>>initializeUpButton >> > ScrollBar>>initializeSlider >> > ScrollBar(Slider)>>extent: >> > ScrollBar>>extent: >> > ScrollBar(Morph)>>bounds: >> > MorphTreeMorph(ScrollPane)>>hResizeScrollBar >> > MorphTreeMorph(ScrollPane)>>resizeScrollBars >> > MorphTreeMorph(ScrollPane)>>hideOrShowScrollBars >> > MorphTreeMorph(ScrollPane)>>setScrollDeltas >> > MorphTreeMorph>>adjustSubmorphPositionsOf:startIdx:startPos: >> > MorphTreeMorph>>adjustSubmorphPositions >> > MorphTreeMorph>>innerWidgetChanged >> > MorphTreeMorph>>privateUpdateColumnMorphs >> > MorphTreeMorph>>updateColumnMorphs >> > MorphTreeMorph>>addSubmorphsFromNodeList:previouslyExpanded: >> > MorphTreeMorph>>updateContentsWithPreviouslyExpanded: >> > MorphTreeMorph>>updateList >> > MorphTreeMorph>>update: >> > PackageTreeModel(Object)>>changed: in Block: [ :aDependent | aDependent >> update: aParameter ] >> > DependentsArray>>do: >> > PackageTreeModel(Object)>>changed: >> > PackageTreeNautilusUI>>updatePackageView >> > PackageTreeNautilusUI(AbstractNautilusUI)>>mcWorkingCopyCreated: >> > WeakMessageSend>>value: >> > WeakMessageSend>>cull: >> > Error: No factory specified >> > >> > Any clues? >> > >> > >> > Esteban A. Maringolo >> >> >> > <>
Re: [Pharo-users] Error: No factory specified
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 class>>arrowOfDirection:size:color: > ScrollBar>>upImage > ScrollBar>>updateUpButtonImage > ScrollBar>>initializeUpButton > ScrollBar>>initializeSlider > ScrollBar(Slider)>>extent: > ScrollBar>>extent: > ScrollBar(Morph)>>bounds: > MorphTreeMorph(ScrollPane)>>hResizeScrollBar > MorphTreeMorph(ScrollPane)>>resizeScrollBars > MorphTreeMorph(ScrollPane)>>hideOrShowScrollBars > MorphTreeMorph(ScrollPane)>>setScrollDeltas > MorphTreeMorph>>adjustSubmorphPositionsOf:startIdx:startPos: > MorphTreeMorph>>adjustSubmorphPositions > MorphTreeMorph>>innerWidgetChanged > MorphTreeMorph>>privateUpdateColumnMorphs > MorphTreeMorph>>updateColumnMorphs > MorphTreeMorph>>addSubmorphsFromNodeList:previouslyExpanded: > MorphTreeMorph>>updateContentsWithPreviouslyExpanded: > MorphTreeMorph>>updateList > MorphTreeMorph>>update: > PackageTreeModel(Object)>>changed: in Block: [ :aDependent | aDependent > update: aParameter ] > DependentsArray>>do: > PackageTreeModel(Object)>>changed: > PackageTreeNautilusUI>>updatePackageView > PackageTreeNautilusUI(AbstractNautilusUI)>>mcWorkingCopyCreated: > WeakMessageSend>>value: > WeakMessageSend>>cull: > Error: No factory specified > > Any clues? > > > Esteban A. Maringolo
[Pharo-users] Error: No factory specified
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 class>>arrowOfDirection:size:color: ScrollBar>>upImage ScrollBar>>updateUpButtonImage ScrollBar>>initializeUpButton ScrollBar>>initializeSlider ScrollBar(Slider)>>extent: ScrollBar>>extent: ScrollBar(Morph)>>bounds: MorphTreeMorph(ScrollPane)>>hResizeScrollBar MorphTreeMorph(ScrollPane)>>resizeScrollBars MorphTreeMorph(ScrollPane)>>hideOrShowScrollBars MorphTreeMorph(ScrollPane)>>setScrollDeltas MorphTreeMorph>>adjustSubmorphPositionsOf:startIdx:startPos: MorphTreeMorph>>adjustSubmorphPositions MorphTreeMorph>>innerWidgetChanged MorphTreeMorph>>privateUpdateColumnMorphs MorphTreeMorph>>updateColumnMorphs MorphTreeMorph>>addSubmorphsFromNodeList:previouslyExpanded: MorphTreeMorph>>updateContentsWithPreviouslyExpanded: MorphTreeMorph>>updateList MorphTreeMorph>>update: PackageTreeModel(Object)>>changed: in Block: [ :aDependent | aDependent update: aParameter ] DependentsArray>>do: PackageTreeModel(Object)>>changed: PackageTreeNautilusUI>>updatePackageView PackageTreeNautilusUI(AbstractNautilusUI)>>mcWorkingCopyCreated: WeakMessageSend>>value: WeakMessageSend>>cull: Error: No factory specified Any clues? Esteban A. Maringolo