Re: Memory woos

New Message Reply Date view Thread view Subject view Author view

John Rohlf (jrohlf++at++tubes)
Mon, 2 Oct 95 13:59:50 PDT


>
> Hi,
>
> I have spent two days looking for a memory problem and really could
> use some help (before I rewrite 500 pages in JAVA :->).
>
> Every call to pfMalloc (from my code) was checked and I sure don't
> seem to be messing up anything. The value for "arena" is always the
> same.
>
> I finally tried using sentinal (in single processor mode) to see if I
> can find the error. Unfortunately the only potential memory problems
> that it identified are in performer code.
>
> Has anyone else found any memory problems with the library?
>
> Any suggestions for looking further? The program only bombs in my
> applications that have lots of objects, smaller programs work fine.
>
> Here is the sentinal output:

        Does sentinel understand shared memory? I don't think it does
        because it would have then caught the memory stomping which caused
        the core dump. I think the Performer warnings you have
        are benign.

        I believe what you have here is a rare instantiation of a nasty
        hash table bug in Performer1.2. As a quick test, do not assign
        names to any of your nodes.

        The workaround for this bug is the following:

extern void **_pfNameTable;
_pfNameTable[2] = 0;

        The only problem is that you need to call this more than once
        to ensure that a value does not increment beyond the end of
        an array. It should work if you do it before every call
        to pfDelete(). If not, let me know.

>
> SENTINEL: Warning [Signal,59]: The program has generated the signal SIGSEGV.
> This is usually caused by an attempt by the program to perform an
> illegal operation (address a bad memory location, execute an invalid
> instruction, etc).
>
> This signal was caught at the following location:
>
> <<Signal Received: SIGSEGV>>
> _lmalloc() [amalloc.c:719]
> amalloc() [amalloc.c:76]
> pfMalloc() [../../../lib/libpr/mall.c:214]
> pfNode::setName() [../../../lib/libpf/pfNode.C:240]
> pfNodeName() [../../../lib/libpf/cNode.C:73]
> GiveMeThisObject() [/usr45/ve/performer/d/loaddata.c:966]
> DezNode::CreateObject() [dez.c:244]
> DezNode::SwitchIcon() [dez.c:212]
> AutoIcon::SwitchRepresentations() [autoicon.c:228]
> AutoIconSet::SwitchRepresentations() [autoicon.c:211]
> AutoIconSet::UpdateAutoIcon() [autoicon.c:201]
> WorldContext::UpdatePosition() [context.c:396]
> UpdateWorld() [presentation.c:446]
> WorldContext::StartWorld() [context.c:263]
> GlobalContext::StartWorld() [mixins.c:158]
> LoadAutoIcon() [atoken.c:592]
> ISSLoadFile() [/usr45/ve/performer/d/loadfile.c:163]
> doFileLoad() [/usr45/ve/performer/d/loaddata.c:303]
> lfFILENAME() [/usr45/ve/performer/d/more.c:806]
> doTokens() [/usr45/ve/performer/d/token.c:363]
> LoadDez() [/usr45/ve/performer/d/loaddata.c:742]
> ISSLoadFile() [/usr45/ve/performer/d/loadfile.c:148]
> initSceneGraph() [/usr45/ve/performer/d/perfly.c:354]
> InitScene() [/usr45/ve/performer/d/generic.c:304]
> main() [/usr45/ve/performer/d/main.c:96]
>
>
>


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:51:56 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.