I'm trying to run a VUEL subroutine on abaqus 2022. I have been encountering a memory allocation error (signal 11). This error occurs due to a single tensor that is summarized below. The total size is not near the abaqus tensor size limit, yet a get a memory allocation error.
Exact error text:
*** ABAQUS/package_dp rank 0 terminated by signal 11
*** ERROR CATEGORY: PACKAGE
Abaqus Error: Abaqus/Explicit Packager exited with an error - Please see the
status file for possible error messages if the file exists.
Abaqus/Analysis exited with errors
Code:
...
maxelno = 14000
double precision, dimension(maxelno, 8, 30) :: uel_isvs
...
If I change the size of maxelno to 4200 then the subroutine will run. Likewise, if I use a one-dimensional dummy variable double precision, dimension(maxelno) :: dummy I also get the same error as mentioned above.
I am running on a linux cluster with 700gb of ram and 42 cores, there shouldn't be any issue with memory limits either. Any help would be appreciated.
We see that the application hangs when trying to close the application by sending WM_CLOSE to all the windows in that application. Note that WM_CLOSE is sent by a different application. We are using EnumChildWindows to enumerate through all windows and match the process id of the window handle with the process id of the application that needs to closed using GetWindowThreadProcessId method and send WM_CLOSE to all the windows of that process. From the dump, we see that the process is waiting on some handles. However we are not sure which handle the process is waiting on.
Call Stack:
ntdll.dll!NtWaitForMultipleObjects() Unknown
KERNELBASE.dll!WaitForMultipleObjectsEx() Unknown
KERNELBASE.dll!WaitForMultipleObjects() Unknown
CoreMessaging.dll!Microsoft::CoreUI::Messaging::MessageSession::WaitOnHandleCollection(struct Microsoft::CoreUI::Support::Win32Handle *,unsigned int) Unknown
CoreMessaging.dll!Microsoft::CoreUI::Messaging::MessageSession::ProcessPendingAlpcConnections() Unknown
CoreMessaging.dll!Microsoft::CoreUI::Messaging::MessageSession::OnFinalRelease() Unknown
CoreMessaging.dll!Cn::Com::ExportAdapter::Destroy(void) Unknown
CoreMessaging.dll!Cn::Com::ExportAdapter::Release() Unknown
TextInputFramework.dll!CTextInputClientFreeThread::~CTextInputClientFreeThread(void) Unknown
TextInputFramework.dll!CTextInputClientFreeThread::vector deleting destructor'(unsigned int) Unknown TextInputFramework.dll!Microsoft::WRL::Details::RuntimeClassImpl<struct Microsoft::WRL::RuntimeClassFlags<2>,1,0,0,struct ITextInputClient,struct IRemoteTextInputClient,struct IInputLanguageProvider,struct IKeyEventProcessor,struct IMessageProxyReconnectAdapterOwner,struct ITextInputClientInternal,struct IConnectionMonitor>::Release(void) Unknown msctf.dll!CTextInputClientWrapper::~CTextInputClientWrapper(void) Unknown msctf.dll!CTextInputClientWrapper::Release() Unknown msctf.dll!ATL::AtlComPtrAssign(struct IUnknown * *,struct IUnknown *) Unknown msctf.dll!OnTextInputClientWrapperReleased(void) Unknown msctf.dll!CTextInputClientWrapper::Release() Unknown TextInputFramework.dll!Microsoft::WRL::ComPtr<struct IInputLanguageProvider>::InternalRelease(void) Unknown TextInputFramework.dll!TextInputHost::~TextInputHost() Unknown TextInputFramework.dll!TextInputHost::vector deleting destructor'(unsigned int) Unknown
TextInputFramework.dll!Microsoft::WRL::Details::RuntimeClassImpl<struct Microsoft::WRL::RuntimeClassFlags<2>,1,0,0,struct IRemoteTextInputHost,struct ITextInputHost,struct IMessageProxyReconnectAdapterOwner,struct IMessageProxyListener>::Release(void) Unknown
msctf.dll!ATL::AtlComPtrAssign(struct IUnknown * *,struct IUnknown *) Unknown
msctf.dll!CThreadInputMgr::Suspend() Unknown
msctf.dll!CThreadInputMgr::OnActivationChange() Unknown
msctf.dll!CThreadInputMgr::Deactivate() Unknown
msctf.dll!CicBridge::DeactivateIMMX() Unknown
msctf.dll!_CtfImeDestroyThreadMgr() Unknown
msctf.dll!CtfImeDestroyThreadMgr() Unknown
imm32.dll!ActivateOrDeactivateTIM() Unknown
msctf.dll!TF_Notify() Unknown
user32.dll!CtfHookProcWorker(int,unsigned __int64,__int64,unsigned __int64) Unknown
user32.dll!CallHookWithSEH(struct _GENERICHOOKHEADER *,void *,unsigned long *,unsigned __int64) Unknown
user32.dll!fnHkINDWORD() Unknown
ntdll.dll!KiUserCallbackDispatcherContinue() Unknown
win32u.dll!NtUserMessageCall() Unknown
user32.dll!RealDefWindowProcWorker() Unknown
user32.dll!DefWindowProcW() Unknown
user32.dll!ImeWndProcWorker() Unknown
user32.dll!ImeWndProcW(struct HWND *,unsigned int,unsigned __int64,__int64) Unknown
user32.dll!UserCallWinProcCheckWow() Unknown
user32.dll!DispatchMessageWorker() Unknown
Any idea how to debug the issue ? Or any logging that could help identify the problem ?
First, strictly speaking sending a WM_CLOSE message to a window doesn't necessarily destroy it. This message is handled by the appropriate handler (window proc), and it may, but doesn't have to decide to destroy it.
Second, do NOT try to destroy child windows created by an application. It may not expect this, and may not work properly (may crash). You should only destroy the top-level window.
And last, but not least, sending a message to a window belonging to another thread (and another process in your case) will BLOCK your thread, until that thread that handles messages for that window processes it. If that thread decides not to process messages at all, then you will be blocked forever.
In addition if that thread waits for yours (for instance, it could also send a message to your thread) - then you have a deadlock.
If your goal is to "ask" another application to close, then a conventional way to do this is to find the target thread (what you already did), and then post (not send!!!) a WM_QUIT message to it.
That is, call PostThreadMessage with uMsg == WM_QUIT. But note: the target application may, but strictly speaking doesn't have to, quit.
I'm trying to decompress a .zst file the following way :
public byte[] decompress() {
byte[] compressedBytes = Files.readAllBytes(Paths.get(PATH_TO_ZST));
final long size = Zstd.decompressedSize(compressedBytes);
return Zstd.decompress(compressedBytes, (int)size);
}
and I'm running into this :
com.github.luben.zstd.ZstdException: Unknown frame descriptor [java] com.github.luben.zstd.ZstdDecompressCtx.decompressByteArray(ZstdDecompressCtx.java:157) [java] com.github.luben.zstd.ZstdDecompressCtx.decompress(ZstdDecompressCtx.java:214) [java]
Has anyone faced something similar? Thanks!
That error means zstd doesn't recognize the first 4 bytes of the frame. This can be because either:
The data is not in zstd format,
There is excess data at the end of the zstd frame.
You'll also want to check the output of Zstd.decompressedSize() for 0, which means the frame is corrupted, or the size wasn't present in the frame header. See the documentation.
i got a crash dump and a stack trace for an app on windows 2012 r2 and the stack trace line ends up with function + N bytes.
What bytes / offset means? Could it be used to identify the line in the source code of the function that crashed? For example below what means 6092 bytes? It is not the line number
I see that in other application crash the offset is in hexal base.
app.exe caused exception C0000005 (EXCEPTION_ACCESS_VIOLATION) at 000000009067B6BC
Register dump:
Crash dump successfully written to file 'C:\Program Files\App\appcrash.dmp'
Stack Trace:
0x000000009067B6BC (0xA95C44A0 0xA86FCE60 0xA95C44A0 0x00000008) app.exe, appFunction1()+6092 bytes
I am currently having problems with a MPI Application.
I am sporadically receiving MPI errors of the form:
Fatal error in MPI_Allreduce: Message truncated, error stack:
MPI_Allreduce(1339)...............: MPI_Allreduce(sbuf=0x7ffa87ffcb98, rbuf=0x7ffa87ffcba8, count=2, MPI_DOUBLE, MPI_SUM, MPI_COMM_WORLD) failed
MPIR_Allreduce_impl(1180).........:
MPIR_Allreduce_intra(755).........:
MPIDI_CH3U_Receive_data_found(129): Message from rank 0 and tag 14 truncated; 384 bytes received but buffer size is 16
rank 1 in job 1 l1442_42561 caused collective abort of all ranks
exit status of rank 1: killed by signal 9
However I do not know at where to look. I know that the error is happening in an Allreduce function call however there are multiple ones.
How do I know which function call produces the error? Simple printf debugging does not help as the function could be called a million times before the error occurs the first time.
It might also not occur at all or immediately after the start of the program.
I have been able to track down the origin of the error by calling
MPI_Errhandler_set(MPI_COMM_WORLD, MPI_ERRORS_RETURN)
and then checking the return value of each of the Allreduce functions for not being equal to MPI_SUCCESS. This is a location where an error occurs