Hi Robert,

Now it makes sense, frankly I did not understand why You are trying do erase
items from activePagedLODList rather than pagedLODList. It was beyond me, so
just fixed bug locally.

No crash in debug mode. Currently I am testing Your new pager with our paged
databases. In old pager memory usage was contant about 80-100MB depending on
scene complexity. In the new pager memory usage is contantly increasing
reaching 500MB after 15 minutes of scene roaming. Setting OSG_MAX_PAGEDLOD
to low value (i.e. 30) does not help. There no notify messages about
releasing pages either.

Regards,
Maciej

2008/12/17 Robert Osfield <[email protected]>

> Hi Maciej,
>
> Thanks for reporting this problem, this is certainly buggy code with
> the wrong container being pruned.  I'm afraid your suggested changes
> retain this same bug.
>
> I've done a code review and I believe just doing:
>
>                itr = pagedLODList.erase(itr);
>
> Is the correct operation.
>
> Could you try out the attached DatabasePager.cpp to see if it anything
> is picked up by the debugger.
>
> Robert.
>
>
> On Wed, Dec 17, 2008 at 4:02 PM, Maciej Krol <[email protected]> wrote:
> > Hi Robert,
> >
> > In debug mode under WinXP VS2005 SP1 new database pager crashes with
> > following error "List erase iterator outside range". I traced the problem
> to
> > capped_removeExpiredSubgraphs method. When erasing element from
> > _activePagedLODList iterator from _inactivePagedLODList is used. I doubt
> > that this code ever worked. You will find the fix in the attachment.
> There
> > are two solutions - one with std::remove (commented out) and another one
> > using std::find and std::vector::erase.
> >
> > I am sending this submission second time because last time I got
> following
> > error from the mail delivery system
> >
> > <[email protected]> (expanded from
> >    <[email protected]>): Command died with status
> 1:
> >    "/dh/mailman/foreach/mail/
> > mailman post osg-submissions-openscenegraph.org".
> >    Command output: Traceback (most recent call last): Logging error:
> >    <StampedLogger to '/dh/mailman/foreach/logs/error'> Traceback (most
> > recent
> >    call last):   File "/dh/mailman/foreach/Mailman/Logging/Logger.py",
> line
> >    92, in write     f.write(msg)   File "codecs.py", line 501, in write
> >    return self.writer.write(data)   File "codecs.py", line 179, in write
> >    self.stream.write(data) IOError: [Errno 28] No space left on device
> >    Original log message: [Errno 28] No space left on device   File
> >    "/dh/mailman/foreach/scripts/post", line 69, in ?     main()   File
> >    "/dh/mailman/foreach/scripts/post", line 64, in main     tolist=1,
> >    _plaintext=1)   File
> "/dh/mailman/foreach/Mailman/Queue/Switchboard.py",
> >    line 138, in enqueue     fp.write(msgsave) IOError: [Errno 28] No
> space
> >    left on device
> > Regards,
> > Maciej
> >
> > _______________________________________________
> > osg-submissions mailing list
> > [email protected]
> >
> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
> >
> >
>
> _______________________________________________
> osg-submissions mailing list
> [email protected]
>
> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
>
>


-- 
Regards,
Maciej Krol
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

Reply via email to