Пользователь сообщил о сбое с драйвером ODBC, созданным с помощью нашего SDK, и предоставил два дампа памяти. Ниже я приведу трассировку стека:
Первый сбой:
RDFODBC_sb64.dll!_wassert(const wchar_t * expr, const wchar_t * filename, unsigned int lineno) Line 369 C
RDFODBC_sb64.dll!Simba::ODBC::ODBCTaskContainer::SetTask(Simba::ODBC::IODBCTask * in_taskPointer) Line 61 C++
RDFODBC_sb64.dll!Simba::ODBC::Statement::~Statement() Line 413 C++
RDFODBC_sb64.dll!Simba::ODBC::Statement::`scalar deleting destructor'(unsigned int) C++
RDFODBC_sb64.dll!`anonymous namespace'::DeleteAndRemove<std::vector<Simba::ODBC::Statement * __ptr64,std::allocator<Simba::ODBC::Statement * __ptr64> > >(std::vector<Simba::ODBC::Statement *,std::allocator<Simba::ODBC::Statement *> > & in_vector, std::_Vector_iterator<std::_Vector_val<std::_Simple_types<Simba::ODBC::Statement *> > > in_toDeleteAndRemove) Line 429 C++
RDFODBC_sb64.dll!Simba::ODBC::Connection::DeleteStatement(Simba::ODBC::Statement * in_statement) Line 846 C++
RDFODBC_sb64.dll!Simba::ODBC::ConnectionState::SQLFreeHandle(Simba::ODBC::Connection * in_connection, short HandleType, void * Handle) Line 179 C++
RDFODBC_sb64.dll!Simba::ODBC::Connection::SQLFreeHandle(short HandleType, void * Handle) Line 1592 C++
RDFODBC_sb64.dll!SQLFreeHandle::__l346::<lambda>() Line 1931 C++
RDFODBC_sb64.dll!std::_Callable_obj<short <lambda>(void),0>::_ApplyX<short>() Line 284 C++
RDFODBC_sb64.dll!std::_Func_impl<std::_Callable_obj<short <lambda>(void),0>,std::allocator<std::_Func_class<short> >,short>::_Do_call() Line 229 C++
RDFODBC_sb64.dll!std::_Func_class<short>::operator()() Line 316 C++
RDFODBC_sb64.dll!_default_sen_odbc_api_function_wrapper_(std::function<short __cdecl(void)> & apiFunction) Line 773 C++
RDFODBC_sb64.dll!SQLFreeHandle(short HandleType, void * Handle) Line 2014 C++
MPAPlugin.dll!SQLFreeHandle(short HandleType, void * Handle) Line 1786 C++
odbc32.dll!FreeStmt() Unknown
odbc32.dll!SQLFreeHandle() Unknown
sasodb.dll!00000000064d7187() Unknown
sasodb.dll!00000000064c1b26() Unknown
sasioodb.dll!000000000638d6a6() Unknown
sasxdbi.dll!0000000006456fe3() Unknown
sasxdbi.dll!0000000006417fdf() Unknown
sasyh.dll!00000000053cec60() Unknown
sasyh.dll!00000000053c157a() Unknown
sasxkern.dll!0000000005155a2c() Unknown
sashost.dll!000000000383e9b2() Unknown
sashost.dll!000000000383b877() Unknown
sashost.dll!000000000383b375() Unknown
sashost.dll!000000000383d962() Unknown
sashost.dll!000000000384081f() Unknown
sashost.dll!000000000383c4e3() Unknown
sashost.dll!00000000038322c4() Unknown
sashost.dll!000000000384628f() Unknown
sashost.dll!0000000003849d10() Unknown
sashost.dll!000000000383d509() Unknown
sashost.dll!00000000038506f0() Unknown
sashost.dll!000000000384f649() Unknown
0000000004846610() Unknown
fe48daea1d7f4cf6() Unknown
cccccccccccccccc() Unknown
000000000d3683d0() Unknown
> RDFODBC_sb64.dll!Simba::Support::AutoPtr<sbicu_58::GregorianCalendar,Simba::Support::AutoPtr_DefaultDeallocator<sbicu_58::GregorianCalendar> >::operator->() Line 142 C++
RDFODBC_sb64.dll!`anonymous namespace'::CreateEmptyCalendar(Simba::Support::ILogger * in_logger) Line 118 C++
RDFODBC_sb64.dll!Simba::Support::TimestampTzConverter::TimestampTzConverter(const Simba::Support::simba_wstring & in_format, Simba::Support::ILogger * in_logger) Line 395 C++
RDFODBC_sb64.dll!Simba::RestSQL::RSAbstractTable::RSAbstractTable(Simba::Support::ILogger * in_log, Simba::RestSQL::Settings & in_settings, Simba::RestSQL::RSConnection & in_connection, Simba::RestSQL::RestAPI & in_api, const Simba::RestSQL::_TableInfo & in_tableInfo, Simba::Support::IWarningListener * in_errorsListener, Simba::DriverSupport::HandlePool<void *,Simba::WebServiceSupport::CurlHandleManager,std::vector<void *,std::allocator<void *> > > & in_curlPool, Simba::RestSQL::MPAWrapper & in_mpa, Simba::Support::AutoPtr<Simba::RestSQL::EndpointParameterInfo,Simba::Support::AutoPtr_DefaultDeallocator<Simba::RestSQL::EndpointParameterInfo> > in_executionEndpoint) Line 538 C++
RDFODBC_sb64.dll!Simba::RestSQL::RSTableT<Simba::RestSQL::RSJsonTable>::RSTableT<Simba::RestSQL::RSJsonTable>(Simba::Support::ILogger * in_log, Simba::RestSQL::Settings & in_settings, Simba::RestSQL::RSConnection & in_connection, Simba::RestSQL::RestAPI & in_api, const Simba::RestSQL::_TableInfo & in_tableInfo, Simba::Support::IWarningListener * in_errorsListener, Simba::DriverSupport::HandlePool<void *,Simba::WebServiceSupport::CurlHandleManager,std::vector<void *,std::allocator<void *> > > & in_curlPool, Simba::RestSQL::MPAWrapper & in_mpa, Simba::Support::AutoPtr<Simba::RestSQL::EndpointParameterInfo,Simba::Support::AutoPtr_DefaultDeallocator<Simba::RestSQL::EndpointParameterInfo> > in_executionEndpoint) Line 807 C++
RDFODBC_sb64.dll!Simba::RestSQL::RSJsonTable::RSJsonTable(Simba::Support::ILogger * in_log, Simba::RestSQL::Settings & in_settings, Simba::RestSQL::RSConnection & in_connection, Simba::RestSQL::RestAPI & in_api, const Simba::RestSQL::_TableInfo & in_tableInfo, Simba::Support::IWarningListener * in_errorsListener, Simba::DriverSupport::HandlePool<void *,Simba::WebServiceSupport::CurlHandleManager,std::vector<void *,std::allocator<void *> > > & in_curlPool, Simba::RestSQL::MPAWrapper & in_mpa, Simba::Support::AutoPtr<Simba::RestSQL::EndpointParameterInfo,Simba::Support::AutoPtr_DefaultDeallocator<Simba::RestSQL::EndpointParameterInfo> > in_executionEndpoint) Line 54 C++
RDFODBC_sb64.dll!Simba::RestSQL::RSTableFactory::CreateRSTable(Simba::Support::ILogger * in_log, Simba::RestSQL::Settings & in_settings, Simba::RestSQL::RSConnection * in_connection, Simba::RestSQL::RestAPI & in_api, const Simba::RestSQL::_TableInfo & in_tableInfo, Simba::Support::IWarningListener * in_errorsListener, Simba::DriverSupport::HandlePool<void *,Simba::WebServiceSupport::CurlHandleManager,std::vector<void *,std::allocator<void *> > > & in_curlPool, Simba::RestSQL::MPAWrapper & in_mpa, Simba::Support::AutoPtr<Simba::RestSQL::EndpointParameterInfo,Simba::Support::AutoPtr_DefaultDeallocator<Simba::RestSQL::EndpointParameterInfo> > in_executionEndpoint) Line 72 C++
RDFODBC_sb64.dll!Simba::RestSQL::RSDataEngine::OpenTable(const Simba::Support::simba_wstring & in_catalogName, const Simba::Support::simba_wstring & in_schemaName, const Simba::Support::simba_wstring & in_tableName, Simba::SQLEngine::DSIExtTableOpenType in_openType) Line 200 C++
RDFODBC_sb64.dll!Simba::ViewSupport::ViewManagedDataEngine<Simba::RestSQL::RSDataEngine>::OpenTable(const Simba::Support::simba_wstring & in_catalogName, const Simba::Support::simba_wstring & in_schemaName, const Simba::Support::simba_wstring & in_tableName, Simba::SQLEngine::DSIExtTableOpenType in_openType) Line 276 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AETableNameBuilder::VisitNonTerminalParseNode(Simba::SQLEngine::PSNonTerminalParseNode * in_node) Line 70 C++
RDFODBC_sb64.dll!Simba::SQLEngine::PSNonTerminalParseNode::AcceptVisitor(Simba::SQLEngine::IParseTreeVisitor & in_visitor) Line 486 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AEBuilderBaseT<Simba::SQLEngine::AERelationalExpr,Simba::Support::AutoPtr<Simba::SQLEngine::AERelationalExpr,Simba::Support::AutoPtr_DefaultDeallocator<Simba::SQLEngine::AERelationalExpr> > >::Build(Simba::SQLEngine::PSParseNode * in_node) Line 70 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AETableRefBuilder::VisitNonTerminalParseNode(Simba::SQLEngine::PSNonTerminalParseNode * in_node) Line 77 C++
RDFODBC_sb64.dll!Simba::SQLEngine::PSNonTerminalParseNode::AcceptVisitor(Simba::SQLEngine::IParseTreeVisitor & in_visitor) Line 486 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AEBuilderBaseT<Simba::SQLEngine::AERelationalExpr,Simba::Support::AutoPtr<Simba::SQLEngine::AERelationalExpr,Simba::Support::AutoPtr_DefaultDeallocator<Simba::SQLEngine::AERelationalExpr> > >::Build(Simba::SQLEngine::PSParseNode * in_node) Line 70 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AETableRefListBuilder::VisitNonTerminalParseNode(Simba::SQLEngine::PSNonTerminalParseNode * in_node) Line 48 C++
RDFODBC_sb64.dll!Simba::SQLEngine::PSNonTerminalParseNode::AcceptVisitor(Simba::SQLEngine::IParseTreeVisitor & in_visitor) Line 486 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AEBuilderBaseT<Simba::SQLEngine::AERelationalExpr,Simba::Support::AutoPtr<Simba::SQLEngine::AERelationalExpr,Simba::Support::AutoPtr_DefaultDeallocator<Simba::SQLEngine::AERelationalExpr> > >::Build(Simba::SQLEngine::PSParseNode * in_node) Line 70 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AEQuerySpecBuilder::VisitNonTerminalParseNode(Simba::SQLEngine::PSNonTerminalParseNode * in_node) Line 85 C++
RDFODBC_sb64.dll!Simba::SQLEngine::PSNonTerminalParseNode::AcceptVisitor(Simba::SQLEngine::IParseTreeVisitor & in_visitor) Line 486 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AEBuilderBaseT<Simba::SQLEngine::AERelationalExpr,Simba::Support::AutoPtr<Simba::SQLEngine::AERelationalExpr,Simba::Support::AutoPtr_DefaultDeallocator<Simba::SQLEngine::AERelationalExpr> > >::Build(Simba::SQLEngine::PSParseNode * in_node) Line 70 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AERelationalExprBuilder::BuildSelectStatement(Simba::SQLEngine::PSNonTerminalParseNode * in_node) Line 132 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AERelationalExprBuilder::VisitNonTerminalParseNode(Simba::SQLEngine::PSNonTerminalParseNode * in_node) Line 65 C++
RDFODBC_sb64.dll!Simba::SQLEngine::PSNonTerminalParseNode::AcceptVisitor(Simba::SQLEngine::IParseTreeVisitor & in_visitor) Line 486 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AEBuilderBaseT<Simba::SQLEngine::AERelationalExpr,Simba::Support::AutoPtr<Simba::SQLEngine::AERelationalExpr,Simba::Support::AutoPtr_DefaultDeallocator<Simba::SQLEngine::AERelationalExpr> > >::Build(Simba::SQLEngine::PSParseNode * in_node) Line 70 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AEQueryBuilder::VisitNonTerminalParseNode(Simba::SQLEngine::PSNonTerminalParseNode * in_node) Line 66 C++
RDFODBC_sb64.dll!Simba::SQLEngine::PSNonTerminalParseNode::AcceptVisitor(Simba::SQLEngine::IParseTreeVisitor & in_visitor) Line 486 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AEBuilderBaseT<Simba::SQLEngine::AEStatement,Simba::Support::AutoPtr<Simba::SQLEngine::AEStatement,Simba::Support::AutoPtr_DefaultDeallocator<Simba::SQLEngine::AEStatement> > >::Build(Simba::SQLEngine::PSParseNode * in_node) Line 70 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AEStatementBuilder::BuildQuery(Simba::SQLEngine::PSNonTerminalParseNode * in_node) Line 146 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AEStatementBuilder::VisitNonTerminalParseNode(Simba::SQLEngine::PSNonTerminalParseNode * in_node) Line 60 C++
RDFODBC_sb64.dll!Simba::SQLEngine::PSNonTerminalParseNode::AcceptVisitor(Simba::SQLEngine::IParseTreeVisitor & in_visitor) Line 486 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AEBuilderBaseT<Simba::SQLEngine::AEStatement,Simba::Support::AutoPtr<Simba::SQLEngine::AEStatement,Simba::Support::AutoPtr_DefaultDeallocator<Simba::SQLEngine::AEStatement> > >::Build(Simba::SQLEngine::PSParseNode * in_node) Line 70 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AEAetBuilder::Build(Simba::SQLEngine::PSParseNode * in_node, Simba::SQLEngine::DSIExtSqlDataEngine * in_dataEngine) Line 22 C++
RDFODBC_sb64.dll!Simba::SQLEngine::DSIExtSqlDataEngine::Prepare(const Simba::Support::simba_wstring & in_sqlStatement) Line 170 C++
RDFODBC_sb64.dll!Simba::ODBC::StatementState::InternalPrepare(wchar_t * in_sqlText, int in_textLength, bool in_isDirectExecute) Line 1492 C++
RDFODBC_sb64.dll!Simba::ODBC::StatementState::DoPrepare(wchar_t * in_sqlText, int in_textLength, bool in_isDirectExecute) Line 877 C++
RDFODBC_sb64.dll!Simba::ODBC::StatementState::SQLPrepareW(wchar_t * StatementText, long TextLength) Line 742 C++
RDFODBC_sb64.dll!Simba::ODBC::StatementState1::SQLPrepareW(wchar_t * StatementText, long TextLength) Line 43 C++
RDFODBC_sb64.dll!Simba::ODBC::Statement::SQLPrepareW(wchar_t * StatementText, long TextLength) Line 1253 C++
RDFODBC_sb64.dll!Simba::ODBC::SQLPrepareTask<1>::DoSynchronously(Simba::ODBC::Statement & in_stmt, const Simba::ODBC::SQLPrepareTask<1>::TaskParameters & in_params) Line 211 C++
RDFODBC_sb64.dll!DoTask<Simba::ODBC::SQLPrepareTask<1> >(const char * in_functionName, void * in_handle, Simba::ODBC::SQLPrepareTask<1>::TaskParameters & in_parameters) Line 685 C++
RDFODBC_sb64.dll!SQLPrepareW::__l3::<lambda>() Line 4061 C++
RDFODBC_sb64.dll!std::_Callable_obj<short <lambda>(void),0>::_ApplyX<short>() Line 284 C++
RDFODBC_sb64.dll!std::_Func_impl<std::_Callable_obj<short <lambda>(void),0>,std::allocator<std::_Func_class<short> >,short>::_Do_call() Line 229 C++
RDFODBC_sb64.dll!std::_Func_class<short>::operator()() Line 316 C++
RDFODBC_sb64.dll!_default_sen_odbc_api_function_wrapper_(std::function<short __cdecl(void)> & apiFunction) Line 773 C++
RDFODBC_sb64.dll!SQLPrepareW(void * StatementHandle, wchar_t * StatementText, long TextLength) Line 4061 C++
MPAPlugin.dll!SQLPrepareW(void * StatementHandle, wchar_t * StatementText, long TextLength) Line 2251 C++
odbc32.dll!SQLPrepareCover() Unknown
odbc32.dll!SQLPrepare() Unknown
sasodb.dll!00000000064d7ab9() Unknown
sasodb.dll!00000000064c3e06() Unknown
sasioodb.dll!00000000063c17a4() Unknown
sasxdbi.dll!000000000644e0fa() Unknown
sasxdbi.dll!0000000006415abb() Unknown
sasyoio.dll!000000000bdaad5f() Unknown
sasyoio.dll!000000000bda7597() Unknown
sassqlp.dll!000000000ba4a787() Unknown
sassqlp.dll!000000000ba49d8e() Unknown
sassqlp.dll!000000000ba36853() Unknown
sassqlp.dll!000000000ba30cd2() Unknown
sassqx.dll!000000000b8a54b3() Unknown
sassqx.dll!000000000b8a4c0e() Unknown
sassql.dll!00000000092c147c() Unknown
sashost.dll!000000000384a366() Unknown
sashost.dll!0000000003850574() Unknown
kernel32.dll!BaseThreadInitThunk() Unknown
ntdll.dll!RtlUserThreadStart() Unknown
Второй сбой:
> kernel32.dll!IsBadReadPtr() Unknown
tkmk.dll!0000000010051baa() Unknown
tkmk.dll!000000001005383d() Unknown
tkmk.dll!0000000010053587() Unknown
tkmk.dll!0000000010054f63() Unknown
tkmk.dll!0000000010055713() Unknown
tkmk.dll!0000000010056894() Unknown
tkmk.dll!0000000010056715() Unknown
tkmk.dll!000000001005692b() Unknown
tkmk.dll!00000000100566f9() Unknown
tkmk.dll!000000001004aaaa() Unknown
sashost.dll!0000000003761589() Unknown
sashost.dll!00000000037521c4() Unknown
sashost.dll!000000000376628f() Unknown
sashost.dll!0000000003769d10() Unknown
sashost.dll!000000000375d509() Unknown
sashost.dll!00000000037706f0() Unknown
sashost.dll!000000000376f649() Unknown
0000000004844e40() Unknown
fe48daea1d7f4cf6() Unknown
cccccccccccccccc() Unknown
000000000cbd83d0() Unknown
RDFODBC_sb64.dll!Simba::Support::AutoPtr<sbicu_58::GregorianCalendar,Simba::Support::AutoPtr_DefaultDeallocator<sbicu_58::GregorianCalendar> >::operator->() Line 142 C++
RDFODBC_sb64.dll!`anonymous namespace'::CreateEmptyCalendar(Simba::Support::ILogger * in_logger) Line 118 C++
RDFODBC_sb64.dll!Simba::Support::TimestampTzConverter::TimestampTzConverter(const Simba::Support::simba_wstring & in_format, Simba::Support::ILogger * in_logger) Line 395 C++
RDFODBC_sb64.dll!Simba::RestSQL::RSAbstractTable::RSAbstractTable(Simba::Support::ILogger * in_log, Simba::RestSQL::Settings & in_settings, Simba::RestSQL::RSConnection & in_connection, Simba::RestSQL::RestAPI & in_api, const Simba::RestSQL::_TableInfo & in_tableInfo, Simba::Support::IWarningListener * in_errorsListener, Simba::DriverSupport::HandlePool<void *,Simba::WebServiceSupport::CurlHandleManager,std::vector<void *,std::allocator<void *> > > & in_curlPool, Simba::RestSQL::MPAWrapper & in_mpa, Simba::Support::AutoPtr<Simba::RestSQL::EndpointParameterInfo,Simba::Support::AutoPtr_DefaultDeallocator<Simba::RestSQL::EndpointParameterInfo> > in_executionEndpoint) Line 538 C++
RDFODBC_sb64.dll!Simba::RestSQL::RSTableT<Simba::RestSQL::RSJsonTable>::RSTableT<Simba::RestSQL::RSJsonTable>(Simba::Support::ILogger * in_log, Simba::RestSQL::Settings & in_settings, Simba::RestSQL::RSConnection & in_connection, Simba::RestSQL::RestAPI & in_api, const Simba::RestSQL::_TableInfo & in_tableInfo, Simba::Support::IWarningListener * in_errorsListener, Simba::DriverSupport::HandlePool<void *,Simba::WebServiceSupport::CurlHandleManager,std::vector<void *,std::allocator<void *> > > & in_curlPool, Simba::RestSQL::MPAWrapper & in_mpa, Simba::Support::AutoPtr<Simba::RestSQL::EndpointParameterInfo,Simba::Support::AutoPtr_DefaultDeallocator<Simba::RestSQL::EndpointParameterInfo> > in_executionEndpoint) Line 807 C++
RDFODBC_sb64.dll!Simba::RestSQL::RSJsonTable::RSJsonTable(Simba::Support::ILogger * in_log, Simba::RestSQL::Settings & in_settings, Simba::RestSQL::RSConnection & in_connection, Simba::RestSQL::RestAPI & in_api, const Simba::RestSQL::_TableInfo & in_tableInfo, Simba::Support::IWarningListener * in_errorsListener, Simba::DriverSupport::HandlePool<void *,Simba::WebServiceSupport::CurlHandleManager,std::vector<void *,std::allocator<void *> > > & in_curlPool, Simba::RestSQL::MPAWrapper & in_mpa, Simba::Support::AutoPtr<Simba::RestSQL::EndpointParameterInfo,Simba::Support::AutoPtr_DefaultDeallocator<Simba::RestSQL::EndpointParameterInfo> > in_executionEndpoint) Line 54 C++
RDFODBC_sb64.dll!Simba::RestSQL::RSTableFactory::CreateRSTable(Simba::Support::ILogger * in_log, Simba::RestSQL::Settings & in_settings, Simba::RestSQL::RSConnection * in_connection, Simba::RestSQL::RestAPI & in_api, const Simba::RestSQL::_TableInfo & in_tableInfo, Simba::Support::IWarningListener * in_errorsListener, Simba::DriverSupport::HandlePool<void *,Simba::WebServiceSupport::CurlHandleManager,std::vector<void *,std::allocator<void *> > > & in_curlPool, Simba::RestSQL::MPAWrapper & in_mpa, Simba::Support::AutoPtr<Simba::RestSQL::EndpointParameterInfo,Simba::Support::AutoPtr_DefaultDeallocator<Simba::RestSQL::EndpointParameterInfo> > in_executionEndpoint) Line 72 C++
RDFODBC_sb64.dll!Simba::RestSQL::RSDataEngine::OpenTable(const Simba::Support::simba_wstring & in_catalogName, const Simba::Support::simba_wstring & in_schemaName, const Simba::Support::simba_wstring & in_tableName, Simba::SQLEngine::DSIExtTableOpenType in_openType) Line 200 C++
RDFODBC_sb64.dll!Simba::ViewSupport::ViewManagedDataEngine<Simba::RestSQL::RSDataEngine>::OpenTable(const Simba::Support::simba_wstring & in_catalogName, const Simba::Support::simba_wstring & in_schemaName, const Simba::Support::simba_wstring & in_tableName, Simba::SQLEngine::DSIExtTableOpenType in_openType) Line 276 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AETableNameBuilder::VisitNonTerminalParseNode(Simba::SQLEngine::PSNonTerminalParseNode * in_node) Line 70 C++
RDFODBC_sb64.dll!Simba::SQLEngine::PSNonTerminalParseNode::AcceptVisitor(Simba::SQLEngine::IParseTreeVisitor & in_visitor) Line 486 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AEBuilderBaseT<Simba::SQLEngine::AERelationalExpr,Simba::Support::AutoPtr<Simba::SQLEngine::AERelationalExpr,Simba::Support::AutoPtr_DefaultDeallocator<Simba::SQLEngine::AERelationalExpr> > >::Build(Simba::SQLEngine::PSParseNode * in_node) Line 70 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AETableRefBuilder::VisitNonTerminalParseNode(Simba::SQLEngine::PSNonTerminalParseNode * in_node) Line 77 C++
RDFODBC_sb64.dll!Simba::SQLEngine::PSNonTerminalParseNode::AcceptVisitor(Simba::SQLEngine::IParseTreeVisitor & in_visitor) Line 486 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AEBuilderBaseT<Simba::SQLEngine::AERelationalExpr,Simba::Support::AutoPtr<Simba::SQLEngine::AERelationalExpr,Simba::Support::AutoPtr_DefaultDeallocator<Simba::SQLEngine::AERelationalExpr> > >::Build(Simba::SQLEngine::PSParseNode * in_node) Line 70 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AETableRefListBuilder::VisitNonTerminalParseNode(Simba::SQLEngine::PSNonTerminalParseNode * in_node) Line 48 C++
RDFODBC_sb64.dll!Simba::SQLEngine::PSNonTerminalParseNode::AcceptVisitor(Simba::SQLEngine::IParseTreeVisitor & in_visitor) Line 486 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AEBuilderBaseT<Simba::SQLEngine::AERelationalExpr,Simba::Support::AutoPtr<Simba::SQLEngine::AERelationalExpr,Simba::Support::AutoPtr_DefaultDeallocator<Simba::SQLEngine::AERelationalExpr> > >::Build(Simba::SQLEngine::PSParseNode * in_node) Line 70 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AEQuerySpecBuilder::VisitNonTerminalParseNode(Simba::SQLEngine::PSNonTerminalParseNode * in_node) Line 85 C++
RDFODBC_sb64.dll!Simba::SQLEngine::PSNonTerminalParseNode::AcceptVisitor(Simba::SQLEngine::IParseTreeVisitor & in_visitor) Line 486 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AEBuilderBaseT<Simba::SQLEngine::AERelationalExpr,Simba::Support::AutoPtr<Simba::SQLEngine::AERelationalExpr,Simba::Support::AutoPtr_DefaultDeallocator<Simba::SQLEngine::AERelationalExpr> > >::Build(Simba::SQLEngine::PSParseNode * in_node) Line 70 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AERelationalExprBuilder::BuildSelectStatement(Simba::SQLEngine::PSNonTerminalParseNode * in_node) Line 132 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AERelationalExprBuilder::VisitNonTerminalParseNode(Simba::SQLEngine::PSNonTerminalParseNode * in_node) Line 65 C++
RDFODBC_sb64.dll!Simba::SQLEngine::PSNonTerminalParseNode::AcceptVisitor(Simba::SQLEngine::IParseTreeVisitor & in_visitor) Line 486 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AEBuilderBaseT<Simba::SQLEngine::AERelationalExpr,Simba::Support::AutoPtr<Simba::SQLEngine::AERelationalExpr,Simba::Support::AutoPtr_DefaultDeallocator<Simba::SQLEngine::AERelationalExpr> > >::Build(Simba::SQLEngine::PSParseNode * in_node) Line 70 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AEQueryBuilder::VisitNonTerminalParseNode(Simba::SQLEngine::PSNonTerminalParseNode * in_node) Line 66 C++
RDFODBC_sb64.dll!Simba::SQLEngine::PSNonTerminalParseNode::AcceptVisitor(Simba::SQLEngine::IParseTreeVisitor & in_visitor) Line 486 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AEBuilderBaseT<Simba::SQLEngine::AEStatement,Simba::Support::AutoPtr<Simba::SQLEngine::AEStatement,Simba::Support::AutoPtr_DefaultDeallocator<Simba::SQLEngine::AEStatement> > >::Build(Simba::SQLEngine::PSParseNode * in_node) Line 70 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AEStatementBuilder::BuildQuery(Simba::SQLEngine::PSNonTerminalParseNode * in_node) Line 146 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AEStatementBuilder::VisitNonTerminalParseNode(Simba::SQLEngine::PSNonTerminalParseNode * in_node) Line 60 C++
RDFODBC_sb64.dll!Simba::SQLEngine::PSNonTerminalParseNode::AcceptVisitor(Simba::SQLEngine::IParseTreeVisitor & in_visitor) Line 486 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AEBuilderBaseT<Simba::SQLEngine::AEStatement,Simba::Support::AutoPtr<Simba::SQLEngine::AEStatement,Simba::Support::AutoPtr_DefaultDeallocator<Simba::SQLEngine::AEStatement> > >::Build(Simba::SQLEngine::PSParseNode * in_node) Line 70 C++
RDFODBC_sb64.dll!Simba::SQLEngine::AEAetBuilder::Build(Simba::SQLEngine::PSParseNode * in_node, Simba::SQLEngine::DSIExtSqlDataEngine * in_dataEngine) Line 22 C++
RDFODBC_sb64.dll!Simba::SQLEngine::DSIExtSqlDataEngine::Prepare(const Simba::Support::simba_wstring & in_sqlStatement) Line 170 C++
RDFODBC_sb64.dll!Simba::ODBC::StatementState::InternalPrepare(wchar_t * in_sqlText, int in_textLength, bool in_isDirectExecute) Line 1492 C++
RDFODBC_sb64.dll!Simba::ODBC::StatementState::DoPrepare(wchar_t * in_sqlText, int in_textLength, bool in_isDirectExecute) Line 877 C++
RDFODBC_sb64.dll!Simba::ODBC::StatementState::SQLPrepareW(wchar_t * StatementText, long TextLength) Line 742 C++
RDFODBC_sb64.dll!Simba::ODBC::StatementState1::SQLPrepareW(wchar_t * StatementText, long TextLength) Line 43 C++
RDFODBC_sb64.dll!Simba::ODBC::Statement::SQLPrepareW(wchar_t * StatementText, long TextLength) Line 1253 C++
RDFODBC_sb64.dll!Simba::ODBC::SQLPrepareTask<1>::DoSynchronously(Simba::ODBC::Statement & in_stmt, const Simba::ODBC::SQLPrepareTask<1>::TaskParameters & in_params) Line 211 C++
RDFODBC_sb64.dll!DoTask<Simba::ODBC::SQLPrepareTask<1> >(const char * in_functionName, void * in_handle, Simba::ODBC::SQLPrepareTask<1>::TaskParameters & in_parameters) Line 685 C++
RDFODBC_sb64.dll!SQLPrepareW::__l3::<lambda>() Line 4061 C++
RDFODBC_sb64.dll!std::_Callable_obj<short <lambda>(void),0>::_ApplyX<short>() Line 284 C++
RDFODBC_sb64.dll!std::_Func_impl<std::_Callable_obj<short <lambda>(void),0>,std::allocator<std::_Func_class<short> >,short>::_Do_call() Line 229 C++
RDFODBC_sb64.dll!std::_Func_class<short>::operator()() Line 316 C++
RDFODBC_sb64.dll!_default_sen_odbc_api_function_wrapper_(std::function<short __cdecl(void)> & apiFunction) Line 773 C++
RDFODBC_sb64.dll!SQLPrepareW(void * StatementHandle, wchar_t * StatementText, long TextLength) Line 4061 C++
MPAPlugin.dll!SQLPrepareW(void * StatementHandle, wchar_t * StatementText, long TextLength) Line 2251 C++
odbc32.dll!SQLPrepareCover() Unknown
odbc32.dll!SQLPrepare() Unknown
sasodb.dll!00000000064a7ab9() Unknown
sasodb.dll!0000000006493e06() Unknown
sasioodb.dll!00000000063917a4() Unknown
sasxdbi.dll!000000000641e0fa() Unknown
sasxdbi.dll!00000000063e5abb() Unknown
sasyoio.dll!000000000a22ad5f() Unknown
sasyoio.dll!000000000a227597() Unknown
sassqlp.dll!000000000a18a787() Unknown
sassqlp.dll!000000000a189d8e() Unknown
sassqlp.dll!000000000a176853() Unknown
sassqlp.dll!000000000a170cd2() Unknown
sassqx.dll!0000000009fd54b3() Unknown
sassqx.dll!0000000009fd4c0e() Unknown
sassql.dll!0000000009f8147c() Unknown
sashost.dll!000000000376a366() Unknown
sashost.dll!0000000003770574() Unknown
kernel32.dll!BaseThreadInitThunk() Unknown
ntdll.dll!RtlUserThreadStart() Unknown
Они используют драйвер с SAS, ив обеих трассировках стека похоже, что он собирается вызывать в ICU (мы строим его сами и добавляем префикс 'sb'), но вместо этого каким-то образом (через эти 4 кадра мусора [я предполагаю, что отладчик не корректен)разматывать стек ???]) вызывает обратно в SAS?
Я бы подумал, что стек просто поврежден или что-то в этом роде, но в первом случае сбой вызван утверждением, что данный оператор не являетсяв настоящее время используется (утверждение, которое никогда не должно завершиться ошибкой), но, глядя в отладчике, это тот же дескриптор, который передается в odbc32.dll! SQLPrepareCover () «ниже», как в odbc32.dll! FreeStmt () «выше»,поэтому имеет смысл, что утверждение потерпит неудачу, так как мы сможем снова заблокировать наши мьютексы (они рекурсивные) и вернуться туда, где это было бы невозможно.
Я не могупридумать что-нибудьЭто что, кроме, может быть, SAS с использованием волокон или какого-то другого вида зеленых нитей? Или обработчик сигнала? (но я думал, что это работает по-другому на окнах, и я думаю, что он будет отображаться в стеке). Не повреждена ли какая-то таблица указателей на функции для ICU, указывающая на SAS? ICU & SAS ничего не должны знать друг о друге.