Add size check before calling .back() in rpc/script_call.cpp#94297
Add size check before calling .back() in rpc/script_call.cpp#94297m4drat wants to merge 1 commit intopytorch:mainfrom
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/94297
Note: Links to docs will display an error until the docs builds have been completed. ❌ 1 New FailureAs of commit be5fd1f: This comment was automatically generated by Dr. CI and updates every 15 minutes. |
|
@soulitzer @mrshenli @rohan-varma |
|
@ezyang, can you, please, review the patch fixing SEGV crash in Distributed RPC? |
|
Test in pt would be great! |
|
@pytorchbot merge |
Merge startedYour change will be merged once all checks pass (ETA 0-4 Hours). Learn more about merging in the wiki. Questions? Feedback? Please reach out to the PyTorch DevX Team |
Merge failedReason: This PR is too stale; the last push date was more than 3 days ago. Please rebase and try again. You can rebase and merge by leaving the following comment on this PR: Details for Dev Infra teamRaised by workflow job |
|
@pytorchbot rebase |
|
You don't have permissions to rebase this PR since you are a first time contributor. If you think this is a mistake, please contact PyTorch Dev Infra. |
|
@pytorchbot rebase |
|
@pytorchbot successfully started a rebase job. Check the current status here |
|
Successfully rebased |
10a960d to
be5fd1f
Compare
|
@pytorchbot merge |
Merge startedYour change will be merged once all checks pass (ETA 0-4 Hours). Learn more about merging in the wiki. Questions? Feedback? Please reach out to the PyTorch DevX Team |
Merge failedReason: 1 mandatory check(s) failed. The first few are: Dig deeper by viewing the failures on hud |
|
@ezyang, |
|
@pytorchbot merge -f "master failure only" |
Merge startedYour change will be merged immediately since you used the force (-f) flag, bypassing any CI checks (ETA: 1-5 minutes). Learn more about merging in the wiki. Questions? Feedback? Please reach out to the PyTorch DevX Team |
Hi!
I've been fuzzing different pytorch modules, and found a crash inside one of them.
Specifically, I'm talking about a module that processes
script_callrpc requests and a functionScriptCall::fromIValues(std::vector<at::IValue>& ivalues).Running this test case causes a crash that occurs when
ivalues.back()is called script_call.cpp:90. The crash occurs because the vectorivaluesis empty.All tests were performed on this pytorch version: abc54f93145830b502400faa92bec86e05422fbd
The provided patch checks if there are enough elements in the ivalues vector.
How to reproduce
To reproduce the crash, use provided docker: Dockerfile
Build the container:
docker build -t oss-sydr-fuzz-pytorch-reproduce .Copy crash file to the current directory:
Run the container:
docker run --privileged --network host -v `pwd`:/homedir --rm -it oss-sydr-fuzz-pytorch-reproduce /bin/bashAnd execute the binary:
/message_deserialize_fuzz /homedir/crash-9f76d4e37a2391136a4ce07d47269db1e063e4b4After execution completes you will see this stacktrace: