Mantis Bugtracker
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0001486 [Squeak] VM major random 07-18-05 18:28 07-01-09 15:11
Reporter bjb View Status public  
Assigned To lewis
Priority normal Resolution no change required  
Status closed   Product Version
Summary 0001486: VM pointer comparison failure when loading imagesegment (was [BUG]UndefinedObject(Object)>>doesNotUnderstand: #do:)
Description I am getting this when trying to open a SqueakMap Package Loader in a
fresh 3.7-5989-Full image. I am sure that I could do this before, has
anything changed on the SqueakMap side?

I am on x86 Linux (Ubuntu) with the 3.6-3 VM from Ian Piumarta's site.

Thanks in advance for any help,
Additional Information 1 January 2005 3:38:11 pm

VM: unix - a SmalltalkImage
Image: Squeak3.7 [latest update: #5989]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /home/barry/Squeak/work/test
Trusted Dir /home/barry/Squeak/work/test/secure
Untrusted Dir /home/barry/Squeak/work/test/untrusted

UndefinedObject(Object)>>doesNotUnderstand: #do:
    Receiver: nil
    Arguments and temporary variables:
        aMessage: do: [] in ImageSegment>>comeFullyUpOnReload:
{[:importedObject | (im...etc...
    Receiver's instance variables:
nil

ImageSegment>>comeFullyUpOnReload:
    Receiver: an ImageSegment
    Arguments and temporary variables:
        smartRefStream: a SmartRefStream a ByteArray(39 70 114 111 109 32 83
113 117 10...etc...
        mapFakeClassesToReal: an
IdentityDictionary(Fake37SMSqueakMap->SMSqueakMap )
        ccFixups: true
        receiverClasses: an IdentitySet()
        rootsToUnhiberhate: nil
        myProject: nil
        importedObject: nil
        aFake: nil
    Receiver's instance variables:
        arrayOfRoots: nil
        segment: a WordArrayForSegment(1929386342 218247691 2180484332
2182593837 31614...etc...
        outPointers: #(Fake37SMSqueakMap nil 'sm' true Dictionary SMFileCache
Array UUI...etc...
        state: #imported
        segmentName: nil
        fileName: nil
        endMarker: a ByteArray(102 25 0 115 11 50 2 13 20 0 0 0 5 0 0 128 73
1 216 18 8...etc...
        userRootCnt: 1
        renamedClasses: nil

SmartRefStream(DataStream)>>next
    Receiver: a SmartRefStream a ByteArray(39 70 114 111 109 32 83 113 117
101 97 107 51 46 54 32 111 10...etc...
    Arguments and temporary variables:
        type: 16
        selector: #readShortInst
        anObject: an ImageSegment
        isARefType: true
        pos: nil
        internalObject: nil
    Receiver's instance variables:
        byteStream: a RWBinaryOrTextStream a ByteArray(39 70 114 111 109 32
83 113 117 ...etc...
        topCall: #marked
        basePos: 153
        references: an IdentityDictionary()
        objects: an IdentityDictionary(5->#('class structure' a
Dictionary(#Array->#(0)...etc...
        currentReference: 2778
        fwdRefEnds: an IdentityDictionary()
        blockers: an IdentityDictionary()
        skipping: an IdentitySet()
        insideASegment: false
        structures: a Dictionary(#Array->#(0) #ArrayedCollection->#(0)
#ByteArray->#(0)...etc...
        steady: a Set(Integer UUID SMDocument Symbol SMCategorizableObject
String SMFil...etc...
        reshaped: nil
        renamed: a Dictionary(#FlasherMorph->#Flasher )
        renamedConv: a Dictionary(1->#SMSqueakMap 5->#Dictionary
6->#SMFileCache 7->#Ar...etc...
        superclasses: a Dictionary(#Array->#ArrayedCollection
#ArrayedCollection->#Sequ...etc...
        progressBar: nil
        objCount: nil
        classInstVars: nil

SmartRefStream(ReferenceStream)>>next
    Receiver: a SmartRefStream a ByteArray(39 70 114 111 109 32 83 113 117
101 97 107 51 46 54 32 111 10...etc...
    Arguments and temporary variables:
        curPosn: 2778
        skipToPosn: nil
        haveIt: false
        theObject: false
        wasSkipping: nil
    Receiver's instance variables:
        byteStream: a RWBinaryOrTextStream a ByteArray(39 70 114 111 109 32
83 113 117 ...etc...
        topCall: #marked
        basePos: 153
        references: an IdentityDictionary()
        objects: an IdentityDictionary(5->#('class structure' a
Dictionary(#Array->#(0)...etc...
        currentReference: 2778
        fwdRefEnds: an IdentityDictionary()
        blockers: an IdentityDictionary()
        skipping: an IdentitySet()
        insideASegment: false
        structures: a Dictionary(#Array->#(0) #ArrayedCollection->#(0)
#ByteArray->#(0)...etc...
        steady: a Set(Integer UUID SMDocument Symbol SMCategorizableObject
String SMFil...etc...
        reshaped: nil
        renamed: a Dictionary(#FlasherMorph->#Flasher )
        renamedConv: a Dictionary(1->#SMSqueakMap 5->#Dictionary
6->#SMFileCache 7->#Ar...etc...
        superclasses: a Dictionary(#Array->#ArrayedCollection
#ArrayedCollection->#Sequ...etc...
        progressBar: nil
        objCount: nil
        classInstVars: nil


--- The full stack ---
UndefinedObject(Object)>>doesNotUnderstand: #do:
ImageSegment>>comeFullyUpOnReload:
SmartRefStream(DataStream)>>next
SmartRefStream(ReferenceStream)>>next
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SmartRefStream>>next
SmartRefStream>>scanFrom:
ObjectScanner>>scanFrom:
[] in RWBinaryOrTextStream(PositionableStream)>>fileInAnnouncing:
{[val := (self peekFor: $!) ifTrue: [(Compiler evaluate: self
nextChunk l...]}
...etc...
Attached Files

- Relationships
child of 0006671closed tim Build VMMaker for 3.9 

- Notes
(0001830 - 153 - 181 - 234 - 234 - 234 - 234)
KenCausey
07-18-05 18:30

Barry Bridgens <barry.bridgens@blueyonder.co.uk>:

"I just tried the same thing under Windows XP and everything worked OK. Not sure what is happening."
 
(0001831 - 507 - 583 - 628 - 628 - 628 - 628)
KenCausey
07-18-05 18:30

Tim Rowledge <tim@sumeru.stanford.edu>:

"This looks very much like the very irritating problem where the object
memroy range crosses over the 2Gb level and some important code is
treating oops as signed integer. Do a comparison when that happens and
the code fails, the relevant primitive fails and the segment loading
fails.

We will eventually fix this. Just don't hold your breath since dark
blue is a very unnattractive colour for a human face. Even if you still
claim Boudica as your Queen."
 
(0001832 - 273 - 354 - 394 - 394 - 394 - 394)
KenCausey
07-18-05 18:31

Ned Konz <ned@squeakland.org>:

"This looks like the 2Gb problem. I was getting that when I used

 -mmap 512M

but not when I used the default (which on my system would be 1024M).

What command-line arguments are you using?

How much virtual memory is available?"
 
(0001833 - 377 - 429 - 468 - 468 - 468 - 468)
KenCausey
07-18-05 18:33

David Shaffer <cdshaffer@acm.org>:

"Are you running the 2.6 kernel in Ubuntu? Ever since I started running
Gentoo linux I've had the same problem. I can no longer use SqueakMap
on any of my machines. It also eliminates it from use in our campus
UNIX labs which are Gentoo/2.6 these days. Anyway, I don't have a
solution and find the situation quite unfortunate."
 
(0001834 - 229 - 279 - 320 - 320 - 320 - 320)
KenCausey
07-18-05 18:34

"Yar Hwee Boon" <hboon@motionobj.com>:

"I posted a similar error before. Not sure if it is related, but I had been
using the 3.6 VM with a 3.7 image. When I switched to the 3.7 VM
(windows), the problem seem to go away."
 
(0001835 - 890 - 1002 - 1047 - 1047 - 1047 - 1047)
KenCausey
07-18-05 18:35

Tim Rowledge <tim@sumeru.stanford.edu>:

"It is absolutely related. It's nothing to do with particular VMs as
such, nor cpu architecture (well....) but all to do with the OS and
it's approach to allocating memory.

If the chunk allocated for Object Space end above 2Gb then plausible
OOPS will appear to be negative numbers when treated as ints. The VM
code uses ints all over the place - as it has for eight plus years now
- and unless you have some bizarre cpu/compiler combination the
comparison of two OOPS may well go wrong. It is a strange coincidence
that the only place where this appears to have an effect is in a
routine involved in loading and image segment.

We _will_ fix it sometime. Just not today. If I were being paid to work
on such issues it would have been fixed already but I'm currently
occupied with other issues and so it has to sit on my todo list."
 
(0001836 - 744 - 872 - 925 - 925 - 925 - 925)
KenCausey
07-18-05 18:35

Barry Bridgens <barry.bridgens@blueyonder.co.uk>:

"I am not using any command line arguments.

I have 512Meg physical memory and 512Meg swap space (although even with
Squeak running, "top" says the none of the swap space is being used).

I think that I only started to see this issue when I upgraded from
256Meg physical memory to 512Meg, so maybe with Squeak having more
memory is not always a good thing!

After typing the above I just tried the -mmap 512M that you used.

In a couple of quick tests -mmap 512M fixes the problem for me but -mmap
1024M still fails. This would seem to be the opposite of what you found
but different machine, different OS(?) who knows.

Anyway thanks for the pointer, I am now running again."
 
(0008876 - 201 - 221 - 221 - 221 - 221 - 221)
wayward4now
01-14-07 10:29

Just how do you use "-mmap 512M", is that something set in the config, or used command line or what? I have 2gigs of memory, running FC6 Linux. And still hammering away on the "SO_REUSEPORT" error. Ric
 
(0008879 - 453 - 654 - 654 - 654 - 654 - 654)
KenCausey
01-14-07 23:49

ken@12-222-173-196:~$ squeak -help
Usage: squeak [<option>...] [<imageName> [<argument>...]]
       squeak [<option>...] -- [<argument>...]

<snip>
Common <option>s:
  -encoding <enc> set the internal character encoding (default: MacRoman)
  -help print this help message, then exit
  -memory <size>[mk] use fixed heap size (added to image size)
  -mmap <size>[mk] limit dynamic heap size (default: 1024m)
<snip>
 
(0013137 - 166 - 166 - 166 - 166 - 166 - 166)
lewis
06-27-09 18:47

This is probably a SqueakMap issue. SqueakMap uses image segments, which changed format as of Squeak 3.9. This leaves SqueakMap broken for earlier versions of Squeak.
 
(0013138 - 375 - 375 - 375 - 375 - 375 - 375)
KenCausey
06-30-09 16:07

Hmm. It's certainly a known issue that SqueakMap no longer works for 3.7. Whether this was true when this report was made, I'm not so sure. No matter, I see no reason that this particular report should be considered relevant any longer unless there is some reason to believe it exposes an issue separate from SqueakMap. I suggest closing it as 'will not fix' or the like.
 
(0013139 - 211 - 211 - 211 - 211 - 211 - 211)
lewis
07-01-09 15:11

This issue is probably the result a known SqueakMap (image segments) issue. In addition, most 32/64 bit pointer issues in the main VM have been addressed in VMMaker updates. I am closing the issue on that basis.
 

- Issue History
Date Modified Username Field Change
07-18-05 18:28 KenCausey New Issue
07-18-05 18:30 KenCausey Note Added: 0001830
07-18-05 18:30 KenCausey Note Added: 0001831
07-18-05 18:31 KenCausey Note Added: 0001832
07-18-05 18:32 KenCausey Reporter KenCausey => bjb
07-18-05 18:33 KenCausey Note Added: 0001833
07-18-05 18:34 KenCausey Note Added: 0001834
07-18-05 18:35 KenCausey Note Added: 0001835
07-18-05 18:35 KenCausey Note Added: 0001836
12-22-05 21:42 tim Summary [BUG]UndefinedObject(Object)>>doesNotUnderstand: #do: => VM pointer comparison failure when loading imagesegment (was [BUG]UndefinedObject(Object)>>doesNotUnderstand: #do:)
12-23-05 01:03 tim Status new => assigned
12-23-05 01:03 tim Assigned To  => tim
01-14-07 10:29 wayward4now Note Added: 0008876
01-14-07 23:49 KenCausey Note Added: 0008879
09-14-07 00:03 tim Relationship added child of 0006671
06-27-09 18:43 lewis Assigned To tim => lewis
06-27-09 18:44 lewis Issue Monitored: lewis
06-27-09 18:47 lewis Note Added: 0013137
06-27-09 18:47 lewis Status assigned => acknowledged
06-30-09 16:07 KenCausey Note Added: 0013138
07-01-09 15:11 lewis Status acknowledged => closed
07-01-09 15:11 lewis Note Added: 0013139
07-01-09 15:11 lewis Resolution open => no change required


Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
95 total queries executed.
60 unique queries executed.
Powered by Mantis Bugtracker