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

InvalidPart -- One or more of the specified parts could not be found #18

Closed
tkf opened this issue Jun 1, 2020 · 6 comments
Closed

InvalidPart -- One or more of the specified parts could not be found #18

tkf opened this issue Jun 1, 2020 · 6 comments

Comments

@tkf
Copy link
Member

tkf commented Jun 1, 2020

With #16 (comment), I could start uploading the trace. However, after authenticating the upload via browser, I get this error:

[ Info: Uploading Trace directory
InvalidPart -- One or more of the specified parts could not be found.  The part may not have been uploaded, or the specified entity tag may not match the part's entity tag.
HTTP.ExceptionRequest.StatusError(400, "POST", "/reports/2020-06-01T07-09-44-tkf.tar.zst?uploadId=z76kdZec79opS5c.gIR.purlbXqj4C5iI2AaumB8YKUJcrMax6An_73LCGJ6AFi4igM8eZte089aNiGAvNlga4lvVdVy3v6zW7J5REsmFbZmbPjI1IbSZIKP4erRFb2H", HTTP.Messages.Response:
"""
HTTP/1.1 400 Bad Request
x-amz-request-id: 7F70A4CE41325CA4
x-amz-id-2: HSq/1WHjB1pyp0j53VTUGyPrvu82Wn2pX1HvSPm+8EE8GSA1HC4p1Iz7c28SmJ5DO8uB6orQ6PI=
Content-Type: application/xml
Transfer-Encoding: chunked
Date: Mon, 01 Jun 2020 07:12:04 GMT
Connection: close
Server: AmazonS3

<Error><Code>InvalidPart</Code><Message>One or more of the specified parts could not be found.  The part may not have been uploaded, or the specified entity tag may not match the part's entity tag.</Message><UploadId>z76kdZec79opS5c.gIR.purlbXqj4C5iI2AaumB8YKUJcrMax6An_73LCGJ6AFi4igM8eZte089aNiGAvNlga4lvVdVy3v6zW7J5REsmFbZmbPjI1IbSZIKP4erRFb2H</UploadId><PartNumber>1</PartNumber><ETag>43b6c9b365f40e05c93163da0b710033</ETag><RequestId>7F70A4CE41325CA4</RequestId><HostId>HSq/1WHjB1pyp0j53VTUGyPrvu82Wn2pX1HvSPm+8EE8GSA1HC4p1Iz7c28SmJ5DO8uB6orQ6PI=</HostId></Error>""")
Uploaded to https://s3.amazonaws.com/julialang-dumps/reports/2020-06-01T07-09-44-tkf.tar.zst
@Keno
Copy link
Member

Keno commented Jun 6, 2020

I can't reproduce this on Julia master with a fresh package directory. Can you retry with a fresh package directory and if that doesn't work can you try capturing the network requests with Wireshark (note that since this is HTTPs, you'll have to tell MbedTLS.jl to log the keys so wireshark can look at it).

@tkf
Copy link
Member Author

tkf commented Jun 6, 2020

I can still reproduce the error with

$ grep -A4 -E '\[\[(AWSS3|HTTP|MbedTLS)\]\]' Manifest.toml
[[AWSS3]]
deps = ["AWSCore", "Base64", "Dates", "EzXML", "FilePathsBase", "HTTP", "LinearAlgebra", "MbedTLS", "Retry", "SymDict", "UUIDs", "XMLDict"]
git-tree-sha1 = "2c0142a8f53a7b3ab299dd5824b895737f846586"
uuid = "1c724243-ef5b-51ab-93f4-b0a88ac62a95"
version = "0.6.12"
--
[[HTTP]]
deps = ["Base64", "Dates", "IniFile", "MbedTLS", "Sockets"]
git-tree-sha1 = "ec87d5e2acbe1693789efbbe14f5ea7525758f71"
uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3"
version = "0.8.15"
--
[[MbedTLS]]
deps = ["Dates", "MbedTLS_jll", "Random", "Sockets"]
git-tree-sha1 = "426a6978b03a97ceb7ead77775a1da066343ec6e"
uuid = "739be429-bea8-5141-9913-cc70e7f3736d"
version = "1.0.2"

(full project here: https://gist.github.com/488d81b417c84e449ffd1aab53bb0315)

Before trying Wireshark, I tried uploading something else as a sanity check. For example, uploading src of BugReporting.jl did work:

shell> pwd
/home/takafumi/.julia/dev/BugReporting

shell> git diff
diff --git a/src/BugReporting.jl b/src/BugReporting.jl
index e6203ff..7062619 100644
--- a/src/BugReporting.jl
+++ b/src/BugReporting.jl
@@ -147,12 +147,12 @@ include("sync_compat.jl")

 function upload_rr_trace(trace_directory)
     # Auto-pack this trace directory if it hasn't already been:
-    sample_directory = joinpath(trace_directory, "latest-trace")
-    if isdir(sample_directory) && uperm(sample_directory) & 0x2 == 0
-        @info "`$sample_directory` not writable. Skipping `rr pack`."
-    else
-        rr_pack(trace_directory)
-    end
+    # sample_directory = joinpath(trace_directory, "latest-trace")
+    # if isdir(sample_directory) && uperm(sample_directory) & 0x2 == 0
+    #     @info "`$sample_directory` not writable. Skipping `rr pack`."
+    # else
+    #     rr_pack(trace_directory)
+    # end

     c = Channel()
     t = @async HTTP.WebSockets.open(WSS_ENDPOINT) do ws

julia> BugReporting.upload_rr_trace("src")
...

[ Info: Uploading Trace directory
Uploaded to https://s3.amazonaws.com/julialang-dumps/reports/....

OTOH, executing upload_rr_trace for the actual trace (via BugReporting.upload_rr_trace("/home/takafumi/.julia/artifacts/b916722e4ec1fa18b062dca0732a5cf472ee89c9")) fails with the InvalidPart error.

The directory I tried to upload is rather big:

$ cd ~/.julia/artifacts

$ du -sh b916722e4ec1fa18b062dca0732a5cf472ee89c9
328M    b916722e4ec1fa18b062dca0732a5cf472ee89c9

So, maybe the error is size-dependent (or depending on other kind of content)?

I compressed the directory and uploaded to https://www.dropbox.com/s/ef9m70grr90x5jr/rr-2020-06-05-191530.tar.xz?dl=0 (which, BTW, contains an rr trace that the segfault that I actually wanted to report in the first place).

Can you reproduce the error if you try re-uploading it? Otherwise, I'll try Wireshark thing.

@Keno
Copy link
Member

Keno commented Jun 6, 2020

Ok, I can reproduce the InvalidPart error with your trace. Thanks! I'll take a look.

@Keno Keno closed this as completed in d10848a Jun 6, 2020
@Keno
Copy link
Member

Keno commented Jun 6, 2020

Should be fixed. See if it now works for you. If so, I'll tag a new version.

@tkf
Copy link
Member Author

tkf commented Jun 6, 2020

Thanks! It works now.

@tkf
Copy link
Member Author

tkf commented Jun 6, 2020

I reported the segfault as JuliaLang/julia#36170

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

No branches or pull requests

2 participants