mirror of
https://github.com/deepseek-ai/DeepEP.git
synced 2026-11-05 00:47:32 +00:00
[PR #779] fix: parse the full /proc/self/maps pathname in check_nccl_so #777
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
deepseek-ai/DeepEP#777
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/deepseek-ai/DeepEP/pull/779
Author: @li-lizhe
Created: 10/13/2026
Status: 🔄 Open
Base:
main← Head:fix/nccl-deleted-mapping-parse📝 Commits (1)
d519401fix: parse the full /proc/self/maps pathname in check_nccl_so📊 Changes
1 file changed (+19 additions, -1 deletions)
View changed files
📝
deep_ep/__init__.py(+19 -1)📄 Description
Fixes #777.
check_nccl_so()identifies the mapped NCCL library withline.strip().split(' ')[-1], which is the last space-separated token, not the pathname field of/proc/self/maps:filecmp.cmp();(deleted)marker, so the token is literally(deleted)and the check dies withThat is the traceback in #777: it aborts the import long before any NCCL version comparison happens, and hides the actual condition.
Change (
deep_ep/__init__.py, +19/-1)/proc/self/mapsline instead of the last token.(deleted)marker and raise an explicitAssertionErrornaming the library and the likely cause (the NCCL library changed underneath a running process, e.g. a concurrentpip install) instead of surfacing a bareFileNotFoundError.Verification
The real
check_nccl_so()is extracted from both revisions by AST and executed against synthetic/proc/self/mapscontent (filecmp.cmpandglobstubbed with a fixed file set; stdlib only, no torch / NCCL import needed):FileNotFoundError: 'nccl/lib/libnccl.so.2'(deleted)mappingFileNotFoundError: '(deleted)'AssertionError: The NCCL library mapped as /root/nccl/lib/libnccl.so.2 was replaced or removed while it was still mapped ...AssertionErrorAssertionError(unchanged)Not tested: an actual
import deep_ep/check_nccl_so()run on a machine with NCCL and a GPU (no such environment was available, so the version-comparison path against a real loaded library is exercised only through the stubbed harness above).Signed-off-by: li-lizhe 147392333@qq.com
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.