Re: Multithreading, crash



Hello,

Thanks for response, call stack is different depending on how much I prune
the code, but always in some not so logical place, for example in:

ntdll.dll!7c901230()
[Frames below may be incorrect and/or missing, no symbols loaded for
ntdll.dll]
d3d9d.dll!01cb3f81()
d3d9d.dll!01cb4069()
d3d9d.dll!01cb3a15()
msvcp80d.dll!_Mtxlock(_RTL_CRITICAL_SECTION * _Mtx=0x10573230) Line 45 C
msvcp80d.dll!_Mtxunlock(_RTL_CRITICAL_SECTION * _Mtx=0x10573230) Line 54
C
msvcp80d.dll!std::_Lockit::~_Lockit() Line 69 + 0x14 bytes C++
msvcp80d.dll!std::_Container_base::_Orphan_all() Line 200 + 0x8 bytes C++
msvcp80d.dll!std::_Container_base::~_Container_base() Line 107 C++
Sheepoid.exe!std::_Vector_val<long,std::allocator<long>
::~_Vector_val<long,std::allocator<long> >() + 0x35 bytes C++
002542d8()
ntdll.dll!7c9011a7()
ntdll.dll!7c923f31()
ntdll.dll!7c910945()
ntdll.dll!7c91094e()
kernel32.dll!7c81ca3e()
Sheepoid.exe!std::vector<long,std::allocator<long>
::~vector<long,std::allocator<long> >() Line 547 + 0x2a bytes C++
Sheepoid.exe!`dynamic atexit destructor for 'mIzabrani''() + 0x28 bytes C++

this happens even if I dont do anything special with Vector 'mIzabrani''(),
(for example I just declare it as vector<long> mIzabrani;)
If I completely remove this vector and any code related to it, crash happens
in some other object no matter how simple it is, there is no dynamic memory
management or anything fancy, it just crashes randomly. Any idea, could it
be something with Nvidia drivers?


"Robert Dunlop [MS MVP]" <rdunlop@xxxxxxxx> wrote in message
news:OvDNAsYWGHA.3496@xxxxxxxxxxxxxxxxxxxxxxx
"A.Cicak" <ovca@xxxxxxxxxxx> wrote in message
news:uTvvvUXWGHA.3972@xxxxxxxxxxxxxxxxxxxxxxx
[clip]
When I switch to REF I get memfini! again (no errors, no crash). (errors
happen on GeForce go 6600). I am using multithreaded debug dll
configuration
(since I am using SDL with DX), could this cause any problems? Also I am
using october SDK. I pruned my app and when it contains no Mesh
allocation
(just textures) this does not happen, however when I just load mesh (I
tried
many, simplest) from x and release it this happens again (only in HAL,
debug
dx, debug conf, REF is always clean, relase DX always clean, relase conf
always clean).

Maybe its something related to threads, break always happens in xmtx.c:
_RELIABILITY_CONTRACT
void __CLRCALL_PURE_OR_CDECL _Mtxlock(_Rmtx *_Mtx)
{ /* lock mutex */
#ifdef _M_CEE
System::Threading::Thread::BeginThreadAffinity();
#endif
EnterCriticalSection(_Mtx);}

What does the call stack leading up to this show? I would start by
tracking back and figure out what call in your application is leading up
to the break.


--
Robert Dunlop
The X-Zone
http://www.directxzone.com/
Microsoft DirectX MVP
-------------
The opinions expressed in this message are my own personal views and do
not reflect the official views of the Microsoft Corporation.
The MVP program does not constitute employment or contractual obligation
with Microsoft.



.



Relevant Pages

  • Re: Multithreading, crash
    ... I am using multithreaded debug dll ... dx, debug conf, REF is always clean, relase DX always clean, relase conf ... Microsoft DirectX MVP ... reflect the official views of the Microsoft Corporation. ...
    (microsoft.public.win32.programmer.directx.graphics)
  • Re: Bluetooth stacks
    ... \par X-Newsreader: Microsoft Outlook Express 6.00.2800.1106 ... \par install a 3rd-party>stack on the device. ... \par Microsoft stack is used on the Pocket PC Phone systems. ... \par> Microsoft Bluetooth Stack and other have Widcomm/Broadcom Bluetooth stack. ...
    (microsoft.public.pocketpc.developer)
  • Re: Need Help Debugging
    ... you should use straight and plain ADPlus.VBS from the debugger package. ... debug info loaded, etc... ... does that avoid using the stack ?!? ... which is our custom CRITICAL_SECTION class. ...
    (microsoft.public.win32.programmer.kernel)
  • Re: push pop ebp
    ... and that not using the stack seems ... suggests "Windows bug" of some kind... ... SEH is typically generated automatically by a compiler when, ... And, as this is Microsoft, then the prospect of a "oops, didn't ...
    (alt.lang.asm)
  • [PATCH] i386: get rid of the use of KPROBE_ENTRY / KPROBE_END
    ... * Debug traps and NMI can happen at the one SYSENTER instruction ... * that sets up the real kernel stack. ... * a debug fault, and the debug fault hasn't yet been able to ...
    (Linux-Kernel)

Loading