BFAV2 problem: Failed to extract email file

Doug Way dway at mailcan.com
Fri Jan 30 21:10:44 UTC 2004


Marcus Denker wrote:

>
> Am 30.01.2004 um 15:24 schrieb Brent Vukmer:
>
>>
>> Hey Marcus.  I can see from the stack trace below that your BFAV
>> client's listing version doesn't match the server listing version.  What
>> should happen in that case, is that the client reloads the listing.
>> It's very important that this works correctly, since the listing is
>> regenerated after BFAV server maintenance, listing format changes, etc.
>>
>> Would you mind putting a halt at the beginning of ArchiveRepository >>
>> handleListingVersionUpdate and see if ArchiveRepository >> reload is
>> getting triggered? (I suspect it is not, since your local listingVersion
>> doesn't match http://bfav.squeakfoundation.org/listingversion).
>>
> Ups. Sorry: dumb me has allready deleted that installation. But I think
> this comes from my usage of BFAV: I never close BFAV, just save the
> whole image.... but I did a "reload" just before klicking on the post...
> (I will check with a new installation)


I was also seeing an error when opening the BFAV (now I don't remember 
if it was the "Failed to extract" error), so I put at halt in the place 
you mentioned.  I started with a fresh image and I loaded the latest 
BFAV2 (2.03), but my email-file-repository directory is about two weeks old.

When I hit the halt in 
ArchiveRepository>>serverHasUpdatedListingVersion, localVersion and 
serverVersion both are 2004012900, so then it returns false and does not 
reload.

If I proceed, I then seem to get a different error "At least one digit 
expected here", which I've seen on other occasions with the BFAV.  
Usually I end up deleting the email-file-repository directory and that 
fixes things. :-)  Here's the error stack:


Error: At least one digit expected here
30 January 2004 3:58:24 pm

VM: Win32 - a SmalltalkImage
Image: Squeak3.7alpha [latest update: #5657]

Integer class(Object)>>error:
    Receiver: Integer
    Arguments and temporary variables:
        aString:     'At least one digit expected here'
    Receiver's instance variables:
        superclass:     Number
        methodDict:     a MethodDictionary(#*->a CompiledMethod (474) 
#+->a CompiledMethod (1226) #-->a CompiledMethod (4087) #...etc...
        format:     2
        instanceVariables:     nil
        organization:     ('testing' even isInteger isPowerOfTwo)
('arithmetic' * + - / // ...etc...
        subclasses:     #(SmallInteger LargePositiveInteger)
        name:     #Integer
        classPool:     a Dictionary()
        sharedPools:     nil
        environment:     nil
        category:     nil

Integer class>>readFrom:base:
    Receiver: Integer
    Arguments and temporary variables:
        aStream:     a ReadStream ' Jan 2004 00\c34\c36 -0500'
        base:     10
        digit:     -16
        value:     0
        neg:     false
        startPos:     0
    Receiver's instance variables:
        superclass:     Number
        methodDict:     a MethodDictionary(#*->a CompiledMethod (474) 
#+->a CompiledMethod (1226) #-->a CompiledMethod (4087) #...etc...
        format:     2
        instanceVariables:     nil
        organization:     ('testing' even isInteger isPowerOfTwo)
('arithmetic' * + - / // ...etc...
        subclasses:     #(SmallInteger LargePositiveInteger)
        name:     #Integer
        classPool:     a Dictionary()
        sharedPools:     nil
        environment:     nil
        category:     nil

Number class>>readFrom:
    Receiver: Number
    Arguments and temporary variables:
        stringOrStream:     a ReadStream ' Jan 2004 00\c34\c36 -0500'
        value:     nil
        base:     10
        aStream:     a ReadStream ' Jan 2004 00\c34\c36 -0500'
        sign:     1
    Receiver's instance variables:
        superclass:     Magnitude
        methodDict:     a MethodDictionary(#%->a CompiledMethod (2265) 
#*->a CompiledMethod...etc...
        format:     2
        instanceVariables:     nil
        organization:     ('arithmetic' * + - / // \\ abs negated quo: 
reciprocal rem:)
('m...etc...
        subclasses:     #(Fraction Float Integer)
        name:     #Number
        classPool:     a Dictionary()
        sharedPools:     nil
        environment:     nil
        category:     nil

Number class(Object)>>readFromString:
    Receiver: Number
    Arguments and temporary variables:
        aString:     ' Jan 2004 00\c34\c36 -0500'
    Receiver's instance variables:
        superclass:     Magnitude
        methodDict:     a MethodDictionary(#%->a CompiledMethod (2265) 
#*->a CompiledMethod...etc...
        format:     2
        instanceVariables:     nil
        organization:     ('arithmetic' * + - / // \\ abs negated quo: 
reciprocal rem:)
('m...etc...
        subclasses:     #(Fraction Float Integer)
        name:     #Number
        classPool:     a Dictionary()
        sharedPools:     nil
        environment:     nil
        category:     nil


--- The full stack ---
Integer class(Object)>>error:
Integer class>>readFrom:base:
Number class>>readFrom:
Number class(Object)>>readFromString:
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
String>>asNumber
ArchiveListing class>>listingRowFromString:
[] in ArchiveListing class>>rowsFromString: {[:str | self 
listingRowFromString: str]}
OrderedCollection>>collect:
ArchiveListing class>>rowsFromString:
ArchiveListing class>>rowsFromFileStream:
ArchiveListing class>>fromFileStream:
ArchiveRepository>>loadListingIntoArchive:
PatchArchive>>loadListing
[] in PatchArchiveClient>>loadListing {[size := self model size.  
prevSize := size.  size > 0   ifTrue: [self statu...]}
BlockContext>>ensure:
CursorWithMask(Cursor)>>showWhile:
PatchArchiveClient>>loadListing
[] in PatchArchiveClient 
class>>openOn:withLabel:withColor:withDisplayGroupsPref: {[client 
loadListing]}
BlockContext>>ensure:
CursorWithMask(Cursor)>>showWhile:
PatchArchiveClient class>>openOn:withLabel:withColor:withDisplayGroupsPref:
PatchArchiveClient class>>openOn:withLabel:withColor:
PatchArchiveClient class>>openOn:
PatchArchiveClient class>>open
TheWorldMenu>>doMenuItem:with:
[] in MenuItemMorph>>invokeWithEvent: {[(selArgCount := selector 
numArgs) = 0   ifTrue: [target perform: selector] ...]}
BlockContext>>ensure:
CursorWithMask(Cursor)>>showWhile:
MenuItemMorph>>invokeWithEvent:
MenuItemMorph>>mouseUp:
MenuItemMorph>>handleMouseUp:
MouseButtonEvent>>sentTo:
MenuItemMorph(Morph)>>handleEvent:
MorphicEventDispatcher>>dispatchDefault:with:
...etc...





More information about the Squeak-dev mailing list