[Visual Studio 2012]What does this error mean?

Started by
4 comments, last by chadmv 10 years, 8 months ago

After running my application I get the following output:


D3D11 WARNING: Live Producer at 0x0061B800, Refcount: 2. [ STATE_CREATION WARNING #0: UNKNOWN]
D3D11 WARNING: 	Live Object at 0x0061CB68, Refcount: 0. [ STATE_CREATION WARNING #0: UNKNOWN]
D3D11 WARNING: 	Live Object at 0x0058D000, Refcount: 0. [ STATE_CREATION WARNING #0: UNKNOWN]
D3D11 WARNING: 	Live Object at 0x0062F85C, Refcount: 0. [ STATE_CREATION WARNING #0: UNKNOWN]
D3D11 WARNING: 	Live Object at 0x0062FE0C, Refcount: 0. [ STATE_CREATION WARNING #0: UNKNOWN]
D3D11 WARNING: 	Live Object at 0x00592F2C, Refcount: 0. [ STATE_CREATION WARNING #0: UNKNOWN]
D3D11 WARNING: 	Live Object at 0x00593A5C, Refcount: 0. [ STATE_CREATION WARNING #0: UNKNOWN]
D3D11 WARNING: 	Live Object at 0x00593BCC, Refcount: 0. [ STATE_CREATION WARNING #0: UNKNOWN]
D3D11 WARNING: 	Live Object at 0x00593D18, Refcount: 1. [ STATE_CREATION WARNING #0: UNKNOWN]
D3D11 WARNING: 	Live Object at 0x0059427C, Refcount: 1. [ STATE_CREATION WARNING #0: UNKNOWN]
D3D11 WARNING: 	Live Object at 0x005945CC, Refcount: 0. [ STATE_CREATION WARNING #0: UNKNOWN]

Not sure what's going on here because I encapsulate all my d3d interfaces in CComPtr<T> which as I understand manages calling Release() on COM pointers when they go out of scope. Is there something I am missing here?

J.W.
Advertisement

I'm not too familiar with Windows specific stuff, but googling "[ STATE_CREATION WARNING #0: UNKNOWN]" yielded some interesting results, the top one being this.

[size=2][ I was ninja'd 71 times before I stopped counting a long time ago ] [ f.k.a. MikeTacular ] [ My Blog ] [ SWFer: Gaplessly looped MP3s in your Flash games ]

You're definitely leaking something if you're getting that output. It's still possible to leak even if you generally use smart pointers, since there may be cases where your smart pointers aren't being used or where the proper destructors don't get called.

I thought that with smart pointers, resources allocated were automatically freed up when the pointer goes out of scope?

J.W.

I've seen this happening in cases where the CComPtr<T> was a member of a subclass, but where the destructor wasn't made virtual. The destructor therefore wouldn't be called on the smart pointer, leaking the objects.

I was getting those. Make sure you are releasing everything you create. I was getting them because I forgot to release the adapters I queried from EnumAdapters and the output I queried from the adapter.

This topic is closed to new replies.

Advertisement