Re: Errors locking offscreen surface if application heap is large




Thanks for your response.

"Phil Taylor" wrote:

> hard to say. I think the analysis in the report is suspect, its certainly
> not related to some crufty old NT 4.0 DDraw 3.0 bug.

That's just something (relatively) relevant we were able to find regarding
this error by searching in msdn and other places.

> how many machines tested on? whats the memory map for the machines, to

Plenty, with different hw/os configurations, so this is not uncommon.
Depending on systems' memory configuration the java's heap setting at which
the failure occurs could be different. On my 1.5G WinXP (Dell precision
530?)
it happens if more than 1.5G heap is requested.

On another completely different system is my notebook (Dell 700m with 500m
of ram with Intel i815 chipset), the failure point is something like 700
megs).

Basically, I'm pretty sure I can reproduce it on any system given some time
to find the right heap setting.

> understand whats already loaded into the process address space? and what is
> the largest contiguous block? and what are the physical and virtual memory
> settings? and whats the graphics hw/driver? all drivers for this hw show
> this problem?

I'll get back to you with the memory mapping settings, but I can reproduce
the problem on my system with different video boards (nvidia, ati), so I
doubt
that this is a driver-specific issue.

> on average, though, its hard to assume you can allocate more than 50% of the
> address space, which you are getting. at some point above that, things begin
> to fail.
>
> its not clear if its DDraw, or GDI since it appears a GetDC on a DDraw
> surface is what fails based on comments, code is not forthcoming. its also
> not clear if its specific to a card/driver or machine config.

Well, the most visible failure is actually the one that comes from the
failing Lock.

> this is going to be a hard bug to analyze. you need a few machines with a
> few different memory configs, and a few different graphics card configs, and
> experiment.

I realize that. Thanks for your help. As I mentioned, we've reproduced it on
several systems (including a couple of notebooks, with intel and ati
chipsets).

> and run the app on a machine with the debug DX installed, and run the app in
> the debugger to capture the debug spew.

I do have debug DX installed, but since we use DX7 there's not much
we can capture.

Thanks,
Dmitri


>
> perhaps that more detail will let an accurate analysis of the problem take
> place.



>
>
> "DmitriAtSun@xxxxxxxxxxxxxxxxx"
> <DmitriAtSun@xxxxxxxxxxxxxxxxx@discussions.microsoft.com> wrote in message
> news:EB19CF77-9BAC-4FBA-A422-655B6A89529E@xxxxxxxxxxxxxxxx
> > Hello,
> >
> > I have an application (it's Sun's java implementation) which could in some
> > cases
> > reserve large pieces of memory for heap and other stuff if requested by
> > users.
> >
> > The app is DirectX7-based. We load ddraw.dll with LoadLibrary (and the
> > call
> > succeeds).
> >
> > In these conditions I see calls to Lock a plain offscrreen surface fail
> > with DDERR_GENERIC, and also GetDC on offscreen surfaces fail occasionally
> > with DDERR_CANTCREATEDC.
> >
> > For additional details, take a look at this bug report:
> > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6353972
> >
> > My question is: first, why would Lock fail in these conditions? Is this
> > expected
> > behavior?
> >
> > And second: is there any way to detect a situation when ddraw could fail
> > because of (presumably) address space exaustion?
> >
> > Thanks,
> > Dmitri
> >
>
>
>
.



Relevant Pages

  • Re: Future proofing a system
    ... a quad running at 3.66GHz. ... the expensive machines have gaming video cards in them ... 2GB memory minimum. ... add upgrades to later). ...
    (alt.comp.hardware.pc-homebuilt)
  • Re: 54 Processors?
    ... > My memory is cloudy but I seem to recall these statements around the ... a big problem was strong memory consistency model and cache ... were saturating their machines ... ... the common L2 cache interfaced to the SCI memory access port. ...
    (bit.listserv.ibm-main)
  • Re: Cohens paper on byte order
    ... > The smallest bit that has an address on most machines is an 8-bit byte. ... one pulls a byte somewhere from the memory into, say, ... one gives it the designation bit-0. ... ein Ende setzen oder der Krieg | to war or war will put ...
    (sci.crypt)
  • Re: Null MDE / MDB failure
    ... Yes we do know about the auto correct - all machines have this switched ... Then open the database in the older version and compile ... > differences on the machines that do fail. ... We use Access 2k to get to the MDE ...
    (microsoft.public.access.forms)
  • Re: Working without a Word work file - Word 2003 / Outlook 2003
    ... Increased the memory on the server to 3gb and defragged ... Deleted the DataKey on the machines and the problem continued. ... and not do a bog standard install and use redirect to correct the ...
    (microsoft.public.word.application.errors)