Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RM plugin] cleanup slurm component: close fd after env restore. #11

Merged
merged 1 commit into from
Oct 21, 2014

Conversation

artpol84
Copy link
Contributor

No description provided.

karya0 added a commit that referenced this pull request Oct 21, 2014
[RM plugin] cleanup slurm component: close fd after env restore.
@karya0 karya0 merged commit 64f8400 into dmtcp:master Oct 21, 2014
@artpol84 artpol84 deleted the fix_slurm branch October 22, 2014 11:10
@artpol84 artpol84 mentioned this pull request Feb 7, 2015
@planetA planetA mentioned this pull request Jun 3, 2018
@gc00 gc00 mentioned this pull request Oct 15, 2021
karya0 added a commit to karya0/dmtcp that referenced this pull request Feb 4, 2022
Here is the stacktrace of forkexec user-thread that gets into deadlock
while the ckpt-thread has started acquiring locks in acquireLock():

User Thread:
(gdb) bt
...
\dmtcp#6  futex_wait (...) at ../include/futex.h:21
\dmtcp#7  DmtcpMutexLock (...) at mutex.cpp:47
\dmtcp#8  dmtcp::ThreadSync::delayCheckpointsLock () at threadsync.cpp:269
\dmtcp#9  dmtcp_disable_ckpt () at dmtcpplugin.cpp:132
\dmtcp#10 dmtcp_dlsym (...) at dmtcp_dlsym.cpp:553
\dmtcp#11 realloc (...) at alloc/mallocwrappers.cpp:82
\dmtcp#12 __add_to_environ (...) at setenv.c:154
\dmtcp#13 __setenv (...) at setenv.c:259
\dmtcp#14 getUpdatedLdPreload (...) at execwrappers.cpp:506
\dmtcp#15 patchUserEnv (...) at execwrappers.cpp:616
\dmtcp#16 dmtcp_execvpe (...) at execwrappers.cpp:870
\dmtcp#17 0x000055d06cf6d37d in main (...) at forkexec.c:55

CKPT Thread
(gdb) bt
...
\dmtcp#6  futex_wait (...) at ../include/futex.h:21
\dmtcp#7  DmtcpMutexLock (...) at mutex.cpp:47
\dmtcp#8  DmtcpRWLockWrLock (...) at rwlock.cpp:94
\dmtcp#9  dmtcp::ThreadSync::acquireLocks () at threadsync.cpp:156
\dmtcp#10 dmtcp::DmtcpWorker::waitForCheckpointRequest () at dmtcpworker.cpp:426
\dmtcp#11 checkpointhread (...) at threadlist.cpp:420
...
karya0 added a commit to karya0/dmtcp that referenced this pull request Feb 4, 2022
Here is the stacktrace of forkexec user-thread that gets into deadlock
while the ckpt-thread has started acquiring locks in acquireLock():

User Thread:
(gdb) bt
...
\dmtcp#6  futex_wait (...) at ../include/futex.h:21
\dmtcp#7  DmtcpMutexLock (...) at mutex.cpp:47
\dmtcp#8  dmtcp::ThreadSync::delayCheckpointsLock () at threadsync.cpp:269
\dmtcp#9  dmtcp_disable_ckpt () at dmtcpplugin.cpp:132
\dmtcp#10 dmtcp_dlsym (...) at dmtcp_dlsym.cpp:553
\dmtcp#11 realloc (...) at alloc/mallocwrappers.cpp:82
\dmtcp#12 __add_to_environ (...) at setenv.c:154
\dmtcp#13 __setenv (...) at setenv.c:259
\dmtcp#14 getUpdatedLdPreload (...) at execwrappers.cpp:506
\dmtcp#15 patchUserEnv (...) at execwrappers.cpp:616
\dmtcp#16 dmtcp_execvpe (...) at execwrappers.cpp:870
\dmtcp#17 0x000055d06cf6d37d in main (...) at forkexec.c:55

CKPT Thread
(gdb) bt
...
\dmtcp#6  futex_wait (...) at ../include/futex.h:21
\dmtcp#7  DmtcpMutexLock (...) at mutex.cpp:47
\dmtcp#8  DmtcpRWLockWrLock (...) at rwlock.cpp:94
\dmtcp#9  dmtcp::ThreadSync::acquireLocks () at threadsync.cpp:156
\dmtcp#10 dmtcp::DmtcpWorker::waitForCheckpointRequest () at dmtcpworker.cpp:426
\dmtcp#11 checkpointhread (...) at threadlist.cpp:420
...
karya0 added a commit to karya0/dmtcp that referenced this pull request Feb 5, 2022
Here is the stacktrace of forkexec user-thread that gets into deadlock
while the ckpt-thread has started acquiring locks in acquireLock():

User Thread:
(gdb) bt
...
\dmtcp#6  futex_wait (...) at ../include/futex.h:21
\dmtcp#7  DmtcpMutexLock (...) at mutex.cpp:47
\dmtcp#8  dmtcp::ThreadSync::delayCheckpointsLock () at threadsync.cpp:269
\dmtcp#9  dmtcp_disable_ckpt () at dmtcpplugin.cpp:132
\dmtcp#10 dmtcp_dlsym (...) at dmtcp_dlsym.cpp:553
\dmtcp#11 realloc (...) at alloc/mallocwrappers.cpp:82
\dmtcp#12 __add_to_environ (...) at setenv.c:154
\dmtcp#13 __setenv (...) at setenv.c:259
\dmtcp#14 getUpdatedLdPreload (...) at execwrappers.cpp:506
\dmtcp#15 patchUserEnv (...) at execwrappers.cpp:616
\dmtcp#16 dmtcp_execvpe (...) at execwrappers.cpp:870
\dmtcp#17 0x000055d06cf6d37d in main (...) at forkexec.c:55

CKPT Thread
(gdb) bt
...
\dmtcp#6  futex_wait (...) at ../include/futex.h:21
\dmtcp#7  DmtcpMutexLock (...) at mutex.cpp:47
\dmtcp#8  DmtcpRWLockWrLock (...) at rwlock.cpp:94
\dmtcp#9  dmtcp::ThreadSync::acquireLocks () at threadsync.cpp:156
\dmtcp#10 dmtcp::DmtcpWorker::waitForCheckpointRequest () at dmtcpworker.cpp:426
\dmtcp#11 checkpointhread (...) at threadlist.cpp:420
...
karya0 added a commit that referenced this pull request Feb 5, 2022
Here is the stacktrace of forkexec user-thread that gets into deadlock
while the ckpt-thread has started acquiring locks in acquireLock():

User Thread:
(gdb) bt
...
\#6  futex_wait (...) at ../include/futex.h:21
\#7  DmtcpMutexLock (...) at mutex.cpp:47
\#8  dmtcp::ThreadSync::delayCheckpointsLock () at threadsync.cpp:269
\#9  dmtcp_disable_ckpt () at dmtcpplugin.cpp:132
\#10 dmtcp_dlsym (...) at dmtcp_dlsym.cpp:553
\#11 realloc (...) at alloc/mallocwrappers.cpp:82
\#12 __add_to_environ (...) at setenv.c:154
\#13 __setenv (...) at setenv.c:259
\#14 getUpdatedLdPreload (...) at execwrappers.cpp:506
\#15 patchUserEnv (...) at execwrappers.cpp:616
\#16 dmtcp_execvpe (...) at execwrappers.cpp:870
\#17 0x000055d06cf6d37d in main (...) at forkexec.c:55

CKPT Thread
(gdb) bt
...
\#6  futex_wait (...) at ../include/futex.h:21
\#7  DmtcpMutexLock (...) at mutex.cpp:47
\#8  DmtcpRWLockWrLock (...) at rwlock.cpp:94
\#9  dmtcp::ThreadSync::acquireLocks () at threadsync.cpp:156
\#10 dmtcp::DmtcpWorker::waitForCheckpointRequest () at dmtcpworker.cpp:426
\#11 checkpointhread (...) at threadlist.cpp:420
...
xuyao0127 pushed a commit to xuyao0127/dmtcp that referenced this pull request Mar 10, 2022
Here is the stacktrace of forkexec user-thread that gets into deadlock
while the ckpt-thread has started acquiring locks in acquireLock():

User Thread:
(gdb) bt
...
\dmtcp#6  futex_wait (...) at ../include/futex.h:21
\dmtcp#7  DmtcpMutexLock (...) at mutex.cpp:47
\dmtcp#8  dmtcp::ThreadSync::delayCheckpointsLock () at threadsync.cpp:269
\dmtcp#9  dmtcp_disable_ckpt () at dmtcpplugin.cpp:132
\dmtcp#10 dmtcp_dlsym (...) at dmtcp_dlsym.cpp:553
\dmtcp#11 realloc (...) at alloc/mallocwrappers.cpp:82
\dmtcp#12 __add_to_environ (...) at setenv.c:154
\dmtcp#13 __setenv (...) at setenv.c:259
\dmtcp#14 getUpdatedLdPreload (...) at execwrappers.cpp:506
\dmtcp#15 patchUserEnv (...) at execwrappers.cpp:616
\dmtcp#16 dmtcp_execvpe (...) at execwrappers.cpp:870
\dmtcp#17 0x000055d06cf6d37d in main (...) at forkexec.c:55

CKPT Thread
(gdb) bt
...
\dmtcp#6  futex_wait (...) at ../include/futex.h:21
\dmtcp#7  DmtcpMutexLock (...) at mutex.cpp:47
\dmtcp#8  DmtcpRWLockWrLock (...) at rwlock.cpp:94
\dmtcp#9  dmtcp::ThreadSync::acquireLocks () at threadsync.cpp:156
\dmtcp#10 dmtcp::DmtcpWorker::waitForCheckpointRequest () at dmtcpworker.cpp:426
\dmtcp#11 checkpointhread (...) at threadlist.cpp:420
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants