I'm working with an image which has most of the developer packages
loaded from the Package Universe, including Wisker, but no other local changes except the beginngings of a few new classes for a new project, and now when I open a Selector Browser (drag Method Finder from the Tools flap) and, type a selector in the top left pane and press return, then try to choose an item in the top right pane I get the following crash, which seems to be the result of a fairly straight forward programming bug within Wisker itself. The problem, as far as I can see, is that the initWithContents:prior:forList:indentLevel: method immediately does "self initWithContents: anObject asString font: nil emphasis: nil." but the initWithContents:font:emphasis: method is not expecting its font: parameter to be nil. At this point I'm lost. I don't know anything about Wisker's internals and I can't quite believe that a released version is so broken in this way. >From the debugger window cmd-v on the initWithContents:prior:forList:indentLevel: method shows only one version, "2002-11-06 12:55:00 dew WhiskerListItemMorph {initialization}", but there's no change set, perhaps because I was forced to do "Smalltalk condenseChanges" while loading the many packages. One more thing to check -- the version of the method that's assuming its font: parameter won't be null (WhiskerListItemMorph(IndentingListItemMorph)>>initWithContents:font:emp hasis:). Ah ha! It is much newer: "2008-09-15 16:35:00 dr IndentingListItemMorph {*ob-enhancements}". That's probably the change which causes this bug, but I'm not sure where it Damn that condeseChanges! ACK! An then if I accidentally close the debug window, poof, away go the details from this message too! Argh! OK, now we start over, cut&paste from the old message window, and be careful to send this message before closing any other windows. 19 November 2008 1:59:58 pm VM: Mac OS - a SmalltalkImage Image: Squeak3.10.2 [latest update: #7179] SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir /Users/woods/Squeak/Squeak3.10.2-7179-basic Trusted Dir /Users/woods/Squeak/Squeak3.10.2-7179-basic Untrusted Dir /Users/woods/Library/Preferences/Squeak/Internet/My Squeak UndefinedObject(Object)>>doesNotUnderstand: #emphasis: Receiver: nil Arguments and temporary variables: aMessage: emphasis: 0 Receiver's instance variables: nil WhiskerListItemMorph(IndentingListItemMorph)>>initWithContents:font:emph asis: Receiver: a WhiskerListItemMorph(2143)nil Arguments and temporary variables: aString: 'Object' aFont: nil emphasisCode: nil Receiver's instance variables: bounds: nil owner: nil submorphs: nil fullBounds: nil color: nil extension: nil font: nil emphasis: nil contents: nil hasFocus: nil indentLevel: nil isExpanded: nil complexContents: a ClassInHierarchyWrapper(2136) on Object firstChild: nil container: a MultiSelectHierarchicalListMorph(2378) nextSibling: nil icon: nil WhiskerListItemMorph>>initWithContents:prior:forList:indentLevel: Receiver: a WhiskerListItemMorph(2143)nil Arguments and temporary variables: anObject: a ClassInHierarchyWrapper(2136) on Object priorMorph: nil hostList: a MultiSelectHierarchicalListMorph(2378) newLevel: 0 Receiver's instance variables: bounds: nil owner: nil submorphs: nil fullBounds: nil color: nil extension: nil font: nil emphasis: nil contents: nil hasFocus: nil indentLevel: nil isExpanded: nil complexContents: a ClassInHierarchyWrapper(2136) on Object firstChild: nil container: a MultiSelectHierarchicalListMorph(2378) nextSibling: nil icon: nil [] in MultiSelectHierarchicalListMorph(SimpleHierarchicalListMorph)>>addMorphs To:from:allowSorting:withExpandedItems:atLevel: {[:item | priorMorph := self indentingItemClass basicNew initWithContent...]} Arguments and temporary variables: morphList: an OrderedCollection() aCollection: an Array(a ClassInHierarchyWrapper(2136) on Object) sortBoolean: false expandedItems: #() newIndent: 0 priorMorph: nil newCollection: an Array(a ClassInHierarchyWrapper(2136) on Object) firstAddition: nil a: nil b: nil item: a ClassInHierarchyWrapper(2136) on Object --- The full stack --- UndefinedObject(Object)>>doesNotUnderstand: #emphasis: WhiskerListItemMorph(IndentingListItemMorph)>>initWithContents:font:emph asis: WhiskerListItemMorph>>initWithContents:prior:forList:indentLevel: [] in MultiSelectHierarchicalListMorph(SimpleHierarchicalListMorph)>>addMorphs To:from:allowSorting:withExpandedItems:atLevel: {[:item | priorMorph := self indentingItemClass basicNew initWithContent...]} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Array(SequenceableCollection)>>do: MultiSelectHierarchicalListMorph(SimpleHierarchicalListMorph)>>addMorphs To:from:allowSorting:withExpandedItems:atLevel: MultiSelectHierarchicalListMorph(SimpleHierarchicalListMorph)>>list: MultiSelectHierarchicalListMorph>>on:list:selected:changeSelected:menu:k eystroke: MultiSelectHierarchicalListMorph class(SimpleHierarchicalListMorph class)>>on:list:selected:changeSelected:menu: WhiskerWindow>>addClassHierarchyPane WhiskerWindow>>initializeFromModel: WhiskerBrowser>>openAsMorphEditing: WhiskerBrowser class>>open WhiskerBrowser class>>openExistingBrowserOnClass:selector: Browser class>>fullOnClass:selector: SelectorBrowser>>classListIndex: PluggableListMorph>>changeModelSelection: PluggableListMorph>>mouseUp: PluggableListMorph(Morph)>>handleMouseUp: MouseButtonEvent>>sentTo: PluggableListMorph(Morph)>>handleEvent: MorphicEventDispatcher>>dispatchDefault:with: MorphicEventDispatcher>>dispatchEvent:with: PluggableListMorph(Morph)>>processEvent:using: PluggableListMorph(Morph)>>processEvent: PluggableListMorph>>handleFocusEvent: [] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self. ActiveEvent := anEvent. e := anEvent transformedB...]} [] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]} BlockContext>>on:do: PasteUpMorph>>becomeActiveDuring: HandMorph>>sendFocusEvent:to:clear: HandMorph>>sendEvent:focus:clear: HandMorph>>sendMouseEvent: HandMorph>>handleEvent: ...etc... |
This method of reporting bugs was deprecated years and years ago, please
use our bugs database, http://bugs.squeak.org/ , for 'official' reports. That being said it's not a bad idea to ask for sanity checks on the mailing list first and I will consider this email to be that. Whisker has not been updated for quite a while, it's not too surprising that you have found a problem with it. The version linked to in the 3.10 package universe dates back to March, 2004. There is a slighly newer version at http://www.squeaksource.com/Services/ but I would be surprised if it works much better. These were both developed with and for Squeak 3.7. My understanding of the Package Universe was that it was meant to only include packages known to work. However I'm not sure of the exact policy, it may be that inclusion is assumed until lack of support is positively known. How to report a problem, I don't know. Ken On Wed, 2008-11-19 at 14:49 -0500, Greg A. Woods wrote: > I'm working with an image which has most of the developer packages > loaded from the Package Universe, including Wisker, but no other local > changes except the beginngings of a few new classes for a new project, > and now when I open a Selector Browser (drag Method Finder from the > Tools flap) and, type a selector in the top left pane and press return, > then try to choose an item in the top right pane I get the following > crash, which seems to be the result of a fairly straight forward > programming bug within Wisker itself. > > The problem, as far as I can see, is that the > initWithContents:prior:forList:indentLevel: method immediately does > "self initWithContents: anObject asString font: nil emphasis: nil." but > the initWithContents:font:emphasis: method is not expecting its font: > parameter to be nil. > > At this point I'm lost. I don't know anything about Wisker's internals > and I can't quite believe that a released version is so broken in this > way. > > >From the debugger window cmd-v on the > initWithContents:prior:forList:indentLevel: method shows only one > version, "2002-11-06 12:55:00 dew WhiskerListItemMorph > {initialization}", but there's no change set, perhaps because I was > forced to do "Smalltalk condenseChanges" while loading the many > packages. > > One more thing to check -- the version of the method that's assuming its > font: parameter won't be null > (WhiskerListItemMorph(IndentingListItemMorph)>>initWithContents:font:emp > hasis:). Ah ha! It is much newer: "2008-09-15 16:35:00 dr > IndentingListItemMorph {*ob-enhancements}". That's probably the change > which causes this bug, but I'm not sure where it > > Damn that condeseChanges! > > ACK! An then if I accidentally close the debug window, poof, away go > the details from this message too! Argh! OK, now we start over, > cut&paste from the old message window, and be careful to send this > message before closing any other windows. > > 19 November 2008 1:59:58 pm > > VM: Mac OS - a SmalltalkImage > Image: Squeak3.10.2 [latest update: #7179] > > SecurityManager state: > Restricted: false > FileAccess: true > SocketAccess: true > Working Dir /Users/woods/Squeak/Squeak3.10.2-7179-basic > Trusted Dir /Users/woods/Squeak/Squeak3.10.2-7179-basic > Untrusted Dir /Users/woods/Library/Preferences/Squeak/Internet/My Squeak > > UndefinedObject(Object)>>doesNotUnderstand: #emphasis: > Receiver: nil > Arguments and temporary variables: > aMessage: emphasis: 0 > Receiver's instance variables: > nil > > WhiskerListItemMorph(IndentingListItemMorph)>>initWithContents:font:emph > asis: > Receiver: a WhiskerListItemMorph(2143)nil > Arguments and temporary variables: > aString: 'Object' > aFont: nil > emphasisCode: nil > Receiver's instance variables: > bounds: nil > owner: nil > submorphs: nil > fullBounds: nil > color: nil > extension: nil > font: nil > emphasis: nil > contents: nil > hasFocus: nil > indentLevel: nil > isExpanded: nil > complexContents: a ClassInHierarchyWrapper(2136) on Object > firstChild: nil > container: a MultiSelectHierarchicalListMorph(2378) > nextSibling: nil > icon: nil > > WhiskerListItemMorph>>initWithContents:prior:forList:indentLevel: > Receiver: a WhiskerListItemMorph(2143)nil > Arguments and temporary variables: > anObject: a ClassInHierarchyWrapper(2136) on Object > priorMorph: nil > hostList: a MultiSelectHierarchicalListMorph(2378) > newLevel: 0 > Receiver's instance variables: > bounds: nil > owner: nil > submorphs: nil > fullBounds: nil > color: nil > extension: nil > font: nil > emphasis: nil > contents: nil > hasFocus: nil > indentLevel: nil > isExpanded: nil > complexContents: a ClassInHierarchyWrapper(2136) on Object > firstChild: nil > container: a MultiSelectHierarchicalListMorph(2378) > nextSibling: nil > icon: nil > > [] in > MultiSelectHierarchicalListMorph(SimpleHierarchicalListMorph)>>addMorphs > To:from:allowSorting:withExpandedItems:atLevel: {[:item | priorMorph := > self indentingItemClass basicNew initWithContent...]} > Arguments and temporary variables: > morphList: an OrderedCollection() > aCollection: an Array(a ClassInHierarchyWrapper(2136) on Object) > sortBoolean: false > expandedItems: #() > newIndent: 0 > priorMorph: nil > newCollection: an Array(a ClassInHierarchyWrapper(2136) on Object) > firstAddition: nil > a: nil > b: nil > item: a ClassInHierarchyWrapper(2136) on Object > > > --- The full stack --- > UndefinedObject(Object)>>doesNotUnderstand: #emphasis: > WhiskerListItemMorph(IndentingListItemMorph)>>initWithContents:font:emph > asis: > WhiskerListItemMorph>>initWithContents:prior:forList:indentLevel: > [] in > MultiSelectHierarchicalListMorph(SimpleHierarchicalListMorph)>>addMorphs > To:from:allowSorting:withExpandedItems:atLevel: {[:item | priorMorph := > self indentingItemClass basicNew initWithContent...]} > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > Array(SequenceableCollection)>>do: > MultiSelectHierarchicalListMorph(SimpleHierarchicalListMorph)>>addMorphs > To:from:allowSorting:withExpandedItems:atLevel: > MultiSelectHierarchicalListMorph(SimpleHierarchicalListMorph)>>list: > MultiSelectHierarchicalListMorph>>on:list:selected:changeSelected:menu:k > eystroke: > MultiSelectHierarchicalListMorph class(SimpleHierarchicalListMorph > class)>>on:list:selected:changeSelected:menu: > WhiskerWindow>>addClassHierarchyPane > WhiskerWindow>>initializeFromModel: > WhiskerBrowser>>openAsMorphEditing: > WhiskerBrowser class>>open > WhiskerBrowser class>>openExistingBrowserOnClass:selector: > Browser class>>fullOnClass:selector: > SelectorBrowser>>classListIndex: > PluggableListMorph>>changeModelSelection: > PluggableListMorph>>mouseUp: > PluggableListMorph(Morph)>>handleMouseUp: > MouseButtonEvent>>sentTo: > PluggableListMorph(Morph)>>handleEvent: > MorphicEventDispatcher>>dispatchDefault:with: > MorphicEventDispatcher>>dispatchEvent:with: > PluggableListMorph(Morph)>>processEvent:using: > PluggableListMorph(Morph)>>processEvent: > PluggableListMorph>>handleFocusEvent: > [] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self. > ActiveEvent := anEvent. e := anEvent transformedB...]} > [] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]} > BlockContext>>on:do: > PasteUpMorph>>becomeActiveDuring: > HandMorph>>sendFocusEvent:to:clear: > HandMorph>>sendEvent:focus:clear: > HandMorph>>sendMouseEvent: > HandMorph>>handleEvent: > ...etc... > > signature.asc (196 bytes) Download Attachment |
On Nov 19, 2008, at 3:31 PM, Ken Causey wrote:
> My understanding of the Package Universe was that it was meant to only > include packages known to work. However I'm not sure of the exact > policy, it may be that inclusion is assumed until lack of support is > positively known. How to report a problem, I don't know. That's the idea. If Whisker is horribly broken, it shouldn't have been included. For the stable 3.10 universe, I don't think anyone is maintaining it. It's hopefully a useful starting point. If there is interest in updating it further, then the people interested should get organized and set up their own universe server, etc. Part of the system is that anyone can play the game. It might be more interesting, though, to use the package universe Damien Cassou is maintaining. As far as I know it's by far the package universe getting the most attention. Damien, where should people start, if they are interested? Should they grab one of your premade images? -Lex |
In reply to this post by Ken Causey-3
On 19-Nov-2008, at 3:31 PM, Ken Causey wrote: > This method of reporting bugs was deprecated years and years ago, > please > use our bugs database, http://bugs.squeak.org/ , for 'official' > reports. > That being said it's not a bad idea to ask for sanity checks on the > mailing list first and I will consider this email to be that. Well when the standard menu option to submit a bug report does what it does then that's what I would consider the "official" way to do things. BTW, any bug reporting system that doesn't have a proper true e-mail interface is unusable, at least by me. If there's an e-mail alias that imports standard reports into the bug database then please let me know what it is (and where the tools are to format the standard reports). > Whisker has not been updated for quite a while, it's not too > surprising > that you have found a problem with it. I don't understand why broken and/or untested things are in the official Package Universe list. > My understanding of the Package Universe was that it was meant to only > include packages known to work. I would hope so too. -- Greg A. Woods; Planix, Inc. <[hidden email]> PGP.sig (193 bytes) Download Attachment |
El 11/19/08 6:37 PM, "Greg A. Woods; Planix, Inc." <[hidden email]> escribió: > BTW, any bug reporting system that doesn't have a proper true e-mail > interface is unusable, at least by me. If there's an e-mail alias > that imports standard reports into the bug database then please let me > know what it is (and where the tools are to format the standard > reports). >> Mantis >> ------------------- >> >> From now on, bug reports and improvements are best reported by filling >> in a Mantis report at http://bugs.squeak.org. Instructions are available >> at http://bugs.squeak.org/proj_doc_page.php . >> This is on the http://ftp.squeak.org/3.10/README, should be on WelcomeWindow. If not, I apologize. Yes , tons of rot is still on the image. IMHO we should re-write 25% of the code for having a decent system. But all have a different vision of Squeak and we fail in have a Release Team with a unified view. > I don't understand why broken and/or untested things are in the > official Package Universe list. Package Universe try to help newbies on load things suited to the version (3.10 in this case). But the many times discussed "czar of packages" was no elected and nobody rules or control. In Ralph times, we discuss about a automatic server and to made a "shame page" on wiki with Lint results of all packages in Universes. When we was in charge, maintain contact with some people and in all cases they improve his packages, but Ralph go and me was forced to my own fork SqueakLightII. So many need improve. You wish help ? Edgar |
Free forum by Nabble | Edit this page |