1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 <2018> 2019 2020 2021 2022 2023 2024 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 <2018> 2019 2020 2021 2022 2023 2024 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Crash in RecDynLink? |
From: | Mark Rivers <[email protected]> |
To: | Tim Mooney <[email protected]>, "[email protected]" <[email protected]> |
Date: | Sun, 29 Apr 2018 12:37:41 +0000 |
I’m have a problem with a Windows IOC crashing during startup. Here is the environment: -
win32-x86-debug-static -
Visual Studio 2015 -
Base 7.0.1 -
sscan master branch -
IOC is in the “dxp” module where I am adding support for the MicroDXP from XIA Here is the stack trace in the thread that is crashing. The problem seems to be in RecDynLink.c and Channel Access client code. dxpApp.exe!issue_debug_notification(const wchar_t * const message) Line 28 C++ dxpApp.exe!__acrt_report_runtime_error(const wchar_t * const message) Line 154 + 0x9 bytes C++ dxpApp.exe!abort() Line 51 + 0xa bytes C++ > dxpApp.exe!ca_client_context::vSignal(int ca_status, const char * pfilenm, int lineno, const char * pFormat, char * args) Line 414 C++ dxpApp.exe!ca_signal_formated(long ca_status, const char * pfilenm, int lineno, const char * pFormat, ...) Line 617 C++ dxpApp.exe!ca_signal_with_file_and_lineno(long ca_status, const char * message, const char * pfilenm, int lineno) Line 593 + 0x15 bytes C++ dxpApp.exe!getCallback(event_handler_args eha) Line 625 C dxpApp.exe!getCallback::completion(epicsGuard<epicsMutex> & guard, unsigned int type, unsigned long count, const void * pData) Line 62 + 0x2d bytes C++ dxpApp.exe!dbContextReadNotifyCache::callReadNotify(epicsGuard<epicsMutex> & guard, dbChannel * dbch, unsigned int type, unsigned long count, cacReadNotify & notify) Line 96 + 0x24 bytes C++ dxpApp.exe!dbContext::callReadNotify(epicsGuard<epicsMutex> & guard, dbChannel * dbch, unsigned int type, unsigned long count, cacReadNotify & notifyIn) Line 236 C++ dxpApp.exe!dbChannelIO::read(epicsGuard<epicsMutex> & guard, unsigned int type, unsigned long count, cacReadNotify & notify, unsigned int * __formal) Line 77 C++ dxpApp.exe!ca_array_get_callback(long type, unsigned long count, oldChannelNotify * pChan, void (event_handler_args)* pfunc, void * arg) Line 357 + 0x32 bytes C++ dxpApp.exe!connectCallback(connection_handler_args cha) Line 577 + 0x16 bytes C dxpApp.exe!oldChannelNotify::connectNotify(epicsGuard<epicsMutex> & guard) Line 93 + 0xd bytes C++ dxpApp.exe!dbChannelIO::initiateConnect(epicsGuard<epicsMutex> & guard) Line 44 + 0x1e bytes C++ dxpApp.exe!oldChannelNotify::initiateConnect(epicsGuard<epicsMutex> & guard) Line 462 + 0x19 bytes C++ dxpApp.exe!ca_create_channel(const char * name_str, void (connection_handler_args)* conn_func, void * puser, unsigned int priority, oldChannelNotify * * chanptr) Line 341 C++ dxpApp.exe!recDynLinkInp() Line 841 + 0x1e bytes C dxpApp.exe!epicsWin32ThreadEntry(void * lpParameter) Line 499 + 0x11 bytes C dxpApp.exe!invoke_thread_procedure(unsigned int (void *)* const procedure, void * const context) Line 92 C++ dxpApp.exe!thread_start<unsigned int (__stdcall*)(void *)>(void * const parameter) Line 115 + 0x10 bytes C++ kernel32.dll!745b8654() [Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]
ntdll.dll!772d4a77() ntdll.dll!772d4a47() Any idea what could be wrong? Thanks, Mark |