[squeak-dev] [BUG]UndefinedObject(Object)>>doesNotUnderstand: #emphasis:

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

[squeak-dev] [BUG]UndefinedObject(Object)>>doesNotUnderstand: #emphasis:

Greg A. Woods; Planix, Inc.
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...

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] [BUG]UndefinedObject(Object)>>doesNotUnderstand: #emphasis:

Ken Causey-3
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
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] [BUG]UndefinedObject(Object)>>doesNotUnderstand: #emphasis:

Lex Spoon-3
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



Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Re: broken releases (was: [BUG]UndefinedObject(Object)>>doesNotUnderstand: #emphasis:)

Greg A. Woods; Planix, Inc.
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
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: broken releases (was: [BUG]UndefinedObject(Object)>>doesNotUnderstand: #emphasis:)

Edgar J. De Cleene



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