BUG's?: DrawIndexedPrimitive blue-screens WinXP on invalid index

BUG's?: DrawIndexedPrimitive blue-screens WinXP on invalid index

Post by Ted Howar » Tue, 18 Feb 2003 10:38:53



    Using a D3DX mesh's attribute table, I've been trying to draw a mesh
using DIP. I have optimized the mesh in place to generate the attribute
table properly and have not optimized it in any other way. Using the
attribute table's VertexStart/VertexCount and FaceStart/FaceCount members
causes an invalid index in the index buffer because it references a vertex
index less than VertexStart. 'Present'ing then causes my WinXP machine to
blue-screen crash. There is no other debug spew besides the one invalid
index statement. If I use 0, mesh.NumberVertices in my DIP instead of the
attribute table's VertexStart/VertexCount values, then it all works fine (no
debug spew).

It seems to me that there are two issues:

1. The attribute table doesn't do what I would expect. It is generated with
at least one invalid VertexStart value. Has anyone else seen this happen?
(I'm using the SDK asset 'bigship1.x')

2. Should any computer ever crash because of an invalid index?

--
-Ted
Want to hire a C# or C++ programmer/former WildTangent employee/BSEE from
Rice/Fulbright Scholar?

 
 
 

BUG's?: DrawIndexedPrimitive blue-screens WinXP on invalid index

Post by Patrice Scrib » Tue, 18 Feb 2003 20:04:14


1) Device.Indices called ? Does it work with DrawSubset ? The exact
DrawIndexedPrimitive call may help.

2) I suppose D3D assume parameters are correct when it would be costly to
check for validity and the hardware likely does the same thing all the time
(not sure also how it could report anyway the error).

--
http://www.chez.com/scribe/en/directx/index.htm



>     Using a D3DX mesh's attribute table, I've been trying to draw a mesh
> using DIP. I have optimized the mesh in place to generate the attribute
> table properly and have not optimized it in any other way. Using the
> attribute table's VertexStart/VertexCount and FaceStart/FaceCount members
> causes an invalid index in the index buffer because it references a vertex
> index less than VertexStart. 'Present'ing then causes my WinXP machine to
> blue-screen crash. There is no other debug spew besides the one invalid
> index statement. If I use 0, mesh.NumberVertices in my DIP instead of the
> attribute table's VertexStart/VertexCount values, then it all works fine
(no
> debug spew).

> It seems to me that there are two issues:

> 1. The attribute table doesn't do what I would expect. It is generated
with
> at least one invalid VertexStart value. Has anyone else seen this happen?
> (I'm using the SDK asset 'bigship1.x')

> 2. Should any computer ever crash because of an invalid index?

> --
> -Ted
> Want to hire a C# or C++ programmer/former WildTangent employee/BSEE from
> Rice/Fulbright Scholar?



 
 
 

BUG's?: DrawIndexedPrimitive blue-screens WinXP on invalid index

Post by Phil Taylor [ATI » Thu, 20 Feb 2003 07:50:35


wrt 2 -> iirc, some index validation is done at runtime so I dont know why
this one got under the radar BUT given that the graphics driver is in Ring0,
its hard to stop the card/driver from taking the machine down when bad data
is submitted to the card/driver.


>     Using a D3DX mesh's attribute table, I've been trying to draw a mesh
> using DIP. I have optimized the mesh in place to generate the attribute
> table properly and have not optimized it in any other way. Using the
> attribute table's VertexStart/VertexCount and FaceStart/FaceCount members
> causes an invalid index in the index buffer because it references a vertex
> index less than VertexStart. 'Present'ing then causes my WinXP machine to
> blue-screen crash. There is no other debug spew besides the one invalid
> index statement. If I use 0, mesh.NumberVertices in my DIP instead of the
> attribute table's VertexStart/VertexCount values, then it all works fine
(no
> debug spew).

> It seems to me that there are two issues:

> 1. The attribute table doesn't do what I would expect. It is generated
with
> at least one invalid VertexStart value. Has anyone else seen this happen?
> (I'm using the SDK asset 'bigship1.x')

> 2. Should any computer ever crash because of an invalid index?

> --
> -Ted
> Want to hire a C# or C++ programmer/former WildTangent employee/BSEE from
> Rice/Fulbright Scholar?


 
 
 

BUG's?: DrawIndexedPrimitive blue-screens WinXP on invalid index

Post by Ted Howar » Thu, 20 Feb 2003 08:04:49


I would've expected a quick program shut-down, but I never would've guessed
that a bad memory address would take down WinXP.

--
-Ted
Want to hire a C# or C++ programmer/former WildTangent employee/BSEE from
Rice/Fulbright Scholar?



> wrt 2 -> iirc, some index validation is done at runtime so I dont know why
> this one got under the radar BUT given that the graphics driver is in
Ring0,
> its hard to stop the card/driver from taking the machine down when bad
data
> is submitted to the card/driver.



> >     Using a D3DX mesh's attribute table, I've been trying to draw a mesh
> > using DIP. I have optimized the mesh in place to generate the attribute
> > table properly and have not optimized it in any other way. Using the
> > attribute table's VertexStart/VertexCount and FaceStart/FaceCount
members
> > causes an invalid index in the index buffer because it references a
vertex
> > index less than VertexStart. 'Present'ing then causes my WinXP machine
to
> > blue-screen crash. There is no other debug spew besides the one invalid
> > index statement. If I use 0, mesh.NumberVertices in my DIP instead of
the
> > attribute table's VertexStart/VertexCount values, then it all works fine
> (no
> > debug spew).

> > It seems to me that there are two issues:

> > 1. The attribute table doesn't do what I would expect. It is generated
> with
> > at least one invalid VertexStart value. Has anyone else seen this
happen?
> > (I'm using the SDK asset 'bigship1.x')

> > 2. Should any computer ever crash because of an invalid index?

> > --
> > -Ted
> > Want to hire a C# or C++ programmer/former WildTangent employee/BSEE
from
> > Rice/Fulbright Scholar?


 
 
 

BUG's?: DrawIndexedPrimitive blue-screens WinXP on invalid index

Post by Rich [Microsoft Direct3D MV » Thu, 20 Feb 2003 08:16:11


[Please do not mail me a copy of your followup]



Quote:>I would've expected a quick program shut-down, but I never would've guessed
>that a bad memory address would take down WinXP.

Anything inside the "trusted computing base", including the display
driver, can take down XP with a bogus operation.
--
"The Direct3D Graphics Pipeline"-- code samples, sample chapter, FAQ:
          <http://www.xmission.com/~legalize/book/>
        izfree: Open source tools for Windows Installer
                <http://izfree.sourceforge.net>
 
 
 

1. Can't Install ATM DLX 4 - Get Blue Screen of death

I have just bought a new system. Its a K6-2 300Mhz, with 1MB Cache, s3
virge/gx2 AGP board, 64Mb RAM, Seagate UltraDMA, 56K modem. I have tried to
install ATM Deluxe 4.0 and receive a fatal exception error 06 every time. The
system is clean. Only Win98 has been installed at this point. I have
downloaded the latest drivers on all components and have installed them
without any problem. Adobe couldn't seem to help me. They had me unistall my
video drivers and use the generic VGA drivers to try and install the program.
That didn't work. Tried other variations on the theme with them and they all
failed. the hardware manufacturer doesn't have a clue. I have ATM installed on
WIN95 systems without any problem. This is my first experience trying to set
up a win98 system. If I can't get ATM installed I'll be sending the system
back. Doesn't even pay to install any other of my adobe apps at this point.

Any help would be appreciated.

Thanks in advance.

Steve

2. CONFIDENTIAL!!!!IMPORTANT!!!DON'TLOOK

3. Combining client's index doc with PM indexing

4. Video Card + LW?

5. PSP and WinXP bug?

6. WinXP screen redraw / color problem

7. Blue, Blue, My Negs are Blue

8. Macintosh, 'x range is invalid'

9. gcc-2.95.2 -O2 Bug on Sparc-5 (invalid ldd alignment)

10. WMF files give me 'Invalid picture'