Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Debugger shows when browsing Metacello preferences #13

Open
j4yk opened this issue Nov 11, 2015 · 10 comments
Open

Debugger shows when browsing Metacello preferences #13

j4yk opened this issue Nov 11, 2015 · 10 comments

Comments

@j4yk
Copy link

j4yk commented Nov 11, 2015

A debugger with the following stack trace opens when I want to browse the 'Metacello' preference category. Thus, the category is currently inaccessible.

SubclassResponsibility: My MCGitBasedNetworkRepository class subclass should have overridden basicDescription
MCGitBasedNetworkRepository class(Object)>>subclassResponsibility
MCGitBasedNetworkRepository class>>basicDescription
MCGitBasedNetworkRepository class>>defaultCacheDirectory
MCGitBasedNetworkRepository class>>cacheDirectory
MCGitBasedNetworkRepository class>>cacheDirectoryPath
PragmaPreference>>preferenceValue
PBTextPreferenceView>>preferenceValue
PluggableTextMorph>>getText
PluggableTextMorph>>on:text:accept:readSelection:menu:
PluggableTextMorph class>>on:text:accept:readSelection:menu:
PluggableTextMorph class>>on:text:accept:
PBTextPreferenceView>>textField
PBTextPreferenceView>>representativeButtonWithColor:inPanel:
PBPreferenceButtonMorph>>preferenceMorphicView
PBPreferenceButtonMorph>>initializeWithPreference:model:
PBPreferenceButtonMorph class>>preference:model:
PreferenceBrowserMorph>>newPreferenceButtonFor:
[] in PreferenceBrowserMorph>>newPreferenceListInnerPanel
SortedCollection(OrderedCollection)>>do:
PreferenceBrowserMorph>>newPreferenceListInnerPanel
@marceltaeumel
Copy link
Contributor

This is a bug in Metacello, not Metacello-Git. 😄 You can just remove that #subclassResponsibility send as a quick fix.

@dalehenrich
Copy link

This bug was fixed in the summer[1] and actually indicates that Jakob is
not using the latest version of Metacello ... perhaps that could be the
source of other problems?

Dale

[1] https://github.com/dalehenrich/metacello-work/issues/347

On 11/11/15 4:06 AM, Marcel Taeumel wrote:

This is a bug in Metacello, not Metacello-Git. 😄 You can just
remove that #subclassResponsibility send as a quick fix.


Reply to this email directly or view it on GitHub
#13 (comment).

@j4yk
Copy link
Author

j4yk commented Nov 17, 2015

Well, as Marcel can confirm, it would not be the first time during the last weeks that I have old stuff which breaks things... I provisioned that image only three weeks or so ago, using the scripts laid out in the respective Readme-files on GitHub, also for metacello-work, always from the master branches. Are the baselines or Readme instructions out-of-date? Otherwise I am left wondering why I got these old versions.

For reference, in that image I have currently loaded Metacello-Core-dhk.813, BaselineOfMetacello-ChristopheDemarey.87, ConfigurationOfMetacello-topa.802 and ConfigurationOfMetacelloPreview-dkh.60.

@dalehenrich
Copy link

Jakob,

In order to get the latest version of Metacello you need to load from
Github following these instructions[1]. If you've already loaded the
ConfigurationOfMetacelloPreview, which it looks like you've done, then
you can skip to the chunk labeled "Now load latest version of
Metacello", then you will have the latest version of Metacello ...

Dale

[1] https://github.com/dalehenrich/metacello-work#squeak

On 11/17/15 2:41 PM, Jakob Reschke wrote:

Well, as Marcel can confirm, it would not be the first time during the
last weeks that I have old stuff which breaks things... I provisioned
that image only three weeks or so ago, using the scripts laid out in
the respective Readme-files on GitHub, also for metacello-work, always
from the master branches. Are the baselines or Readme instructions
out-of-date? Otherwise I am left wondering why I got these old versions.

For reference, in that image I have currently loaded
Metacello-Core-dhk.813, BaselineOfMetacello-ChristopheDemarey.87,
ConfigurationOfMetacello-topa.802 and
ConfigurationOfMetacelloPreview-dkh.60.


Reply to this email directly or view it on GitHub
#13 (comment).

@j4yk
Copy link
Author

j4yk commented Nov 17, 2015

Thank you, Dale. IIRC, that is what I did three weeks ago and I have done it again just now. Metacello-Core is now at dkh.818, so the new versions from 31 October have arrived. (Should I check the versions of another package?)

But when I try to access the Metacello preference category I still get the very same error which I reported in the original post.

When I run the whole Squeak part of the Readme again, I get the following error:

MessageNotUnderstood: MCHttpRepository>>repositoryDescription
MCHttpRepository(Object)>>doesNotUnderstand: #repositoryDescription
[] in MetacelloLoadingMCSpecLoader(MetacelloCommonMCSpecLoader)>>loadPackageDirective:gofer:
[] in MetacelloSqueakPlatform>>do:displaying:
[] in [] in MorphicUIManager>>displayProgress:at:from:to:during:
BlockClosure>>on:do:
[] in MorphicUIManager>>displayProgress:at:from:to:during:
BlockClosure>>ensure:
MorphicUIManager>>displayProgress:at:from:to:during:
ProgressInitiationException>>defaultResumeValue
ProgressInitiationException(Exception)>>resume
ProgressInitiationException>>defaultAction
UndefinedObject>>handleSignal:
MethodContext(ContextPart)>>handleSignal:
MethodContext(ContextPart)>>handleSignal:
MethodContext(ContextPart)>>handleSignal:
ProgressInitiationException(Exception)>>signal
ProgressInitiationException>>display:at:from:to:during:
ProgressInitiationException class>>display:at:from:to:during:
ByteString(String)>>displayProgressAt:from:to:during:
MetacelloSqueakPlatform>>do:displaying:

@dalehenrich
Copy link

Jakob,

The part of the install up to ConfigurationOfMetacelloPreview is only
meant to be run once ...

Metacello-GitBasedRepository-dkh.16 is the package that should have the
fix. MCGitHubRepository.class class>>cacheDirectoryPath should have the
pragma removed[1].

Dale

[1]
dalehenrich/metacello-work@e212617#diff-6d6b15a24d9436ac004e71f1ecd56a45

On 11/17/15 3:57 PM, Jakob Reschke wrote:

Thank you, Dale. IIRC, that is what I did three weeks ago and I have
done it again just now. Metacello-Core is now at dkh.818, so the new
versions from 31 October have arrived. (Should I check the versions of
another package?)

But when I try to access the Metacello preference category I still get
the very same error which I reported in the original post.

When I run the whole Squeak part of the Readme again, I get the
following error:

|MessageNotUnderstood: MCHttpRepository>>repositoryDescription
MCHttpRepository(Object)>>doesNotUnderstand: #repositoryDescription []
in
MetacelloLoadingMCSpecLoader(MetacelloCommonMCSpecLoader)>>loadPackageDirective:gofer:
[] in MetacelloSqueakPlatform>>do:displaying: [] in [] in
MorphicUIManager>>displayProgress:at:from:to:during:
BlockClosure>>on:do: [] in
MorphicUIManager>>displayProgress:at:from:to:during:
BlockClosure>>ensure:
MorphicUIManager>>displayProgress:at:from:to:during:
ProgressInitiationException>>defaultResumeValue
ProgressInitiationException(Exception)>>resume
ProgressInitiationException>>defaultAction
UndefinedObject>>handleSignal:
MethodContext(ContextPart)>>handleSignal:
MethodContext(ContextPart)>>handleSignal:
MethodContext(ContextPart)>>handleSignal:
ProgressInitiationException(Exception)>>signal
ProgressInitiationException>>display:at:from:to:during:
ProgressInitiationException class>>display:at:from:to:during:
ByteString(String)>>displayProgressAt:from:to:during:
MetacelloSqueakPlatform>>do:displaying: |


Reply to this email directly or view it on GitHub
#13 (comment).

@j4yk
Copy link
Author

j4yk commented Nov 22, 2015

That is odd, it pulls Metacello-GitBasedRepository-dkh.16 and MCGitHubRepository class>>cacheDirectoryPath is version topa 5/5/2015 11:24 as indicated in the diff, but the pragma remains (see the image below).

image

It is absent in the filetree, however. I looked up the wrong class, sorry. EDIT new text from here: MCGitHubRepository is in the package Metacello-GitHub, and the method intendedly has the pragma there. In MCGitBasedNetworkRepository the method does not have it but the error appears anyway.

I also tried installing only Metacello in a fresh only-updated-last-week 5.0-15116 image, same picture. The PragmaReference object incorrectly lists MCGitBasedNetworkRepository as its provider.

image

Futher up the stack, I seem to have an obsolete PragmaReference object left in that category, since there is an equally named preference with the correct provider MCGitHubRepository.

image

@marceltaeumel
Copy link
Contributor

Well, I think it's a merge and not a load. Are pragmas preserved during the merge?

@dalehenrich
Copy link

I believe that this is correct though .... previously the pragma was in
the abstract superclass ... the subclassResponsibility method is
implemented in MCGitHubRepository .... If I'm not mistaken, the changes
were made to preserve the pragma and get rid of the error ...

Dale

On 11/22/2015 03:41 PM, Jakob Reschke wrote:

That is odd, it pulls Metacello-GitBasedRepository-dkh.16 and
|MCGitHubRepository class>>cacheDirectoryPath| is version topa
5/5/2015 11:24 as indicated in the diff, but the pragma remains (see
below). It is absent in the filetree, however.

image
https://cloud.githubusercontent.com/assets/151175/11327045/735b5408-917a-11e5-88d4-f61c2609279b.png


Reply to this email directly or view it on GitHub
#13 (comment).

@codeZeilen
Copy link
Member

Am I correct in the assumption that the old Preference for the cache directory of MCGitBasedNetworkRepository is actually not needed?

I have traced down the error to the fact that the PragmaPreference is still loaded during loading the MetacelloPreview. The defining method is later overridden by the method changed by Tobias, however the PragmaPreference object remains alive.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants