c++builder - Assertion failed: xdrPtr && xdrPtr == *xdrLPP, file xx.cpp, line 2349 -
have system build using c++ builder 2010 after running 20 hours starts firing of assertion failures.
assertion failed: xdrptr && xdrptr == *xdrlpp, file xx.cpp, line 2349
tried google on crazy not info. people seem refer bunch of different assertions in xx.cpp shortcomings in exception handling in c++ builder. haven't found referencing particular line in file.
we have integrated madexcept , seems somewhere along way catches out of memory exception, not sure if it's connected. no matter assertion triggering doesn't seem correct.
edit: found instance of if-statement part of it's statement used function throw exception. wonder if culprit somehow messing flow of exception handling or something?
consider
if(foo() == 0) { ... }
wrapped in try catch block. if exception thrown within foo() no int returned here how if statement react? i'm thinking still might try finish executing line , performing if check on return of function barf since no int returned. defined or undefined behaviour? wouldn't
int foostatus = foo(); if(foostatus == 0) { ... }
be better (or should safer)?
edit 2:
i managed assertion on dev machine (the application standing idle) without exception memory popping , app consuming around 100 mb. not connected.
will try see if can catch again , see around barfs.
edit 3:
managed catch it. first comes assertion failure notice explained. debugger shows me exception notification.
if break takes me here in code
it highlights first code line after
pconnection->open();
but seems can change , line still highlighted. guess error in code above somehow. have seen more reports people getting type of assertion failure when working databases in rad studio... hmmmm.
update:
i found thread recursively called it's own execute function if wasn't able reach db server. think @ least part of issue. keep on trying , more , more worker threads spawn , keep trying can end in disaster.
if madexcept hinting have out of memory condition, assert fail if pointers null (i.e. allocation failed). values of xdrptr , xdrlpp when assert occurs? can trace allocated?
i start looking memory leaks.
Comments
Post a Comment