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
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
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 <pharo4Stef@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 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
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 <emaringolo@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 <pharo4Stef@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 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
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 <emaringolo@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.
https://pharo.fogbugz.com/f/cases/12667 It was BabyMock-Examples. HTH, Sven On 08 Apr 2014, at 21:59, Sven Van Caekenberghe <sven@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 <emaringolo@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.
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 <sven@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 <sven@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 <emaringolo@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.
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 <emaringolo@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 <sven@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 <sven@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 <emaringolo@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.
2014-04-08 19:04 GMT-03:00 Sven Van Caekenberghe <sven@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
On 09 Apr 2014, at 00:16, Esteban A. Maringolo <emaringolo@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
2014-04-08 19:31 GMT-03:00 Sven Van Caekenberghe <sven@stfx.eu>:
On 09 Apr 2014, at 00:16, Esteban A. Maringolo <emaringolo@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'')'
participants (3)
-
Esteban A. Maringolo -
Pharo4Stef -
Sven Van Caekenberghe