ietf-tools / datatracker

The day-to-day front-end to the IETF database for people who work on IETF standards.
https://datatracker.ietf.org
BSD 3-Clause "New" or "Revised" License
602 stars 366 forks source link

failed submissions #7794

Open cindymorgan opened 2 months ago

cindymorgan commented 2 months ago

Describe the issue

To: support@ietf.org From: "Michael Richardson" mcr@sandelman.ca Date: Sun, 04 Aug 2024 17:00:08 -0400 Subject: failed submissions

While attempting to upload draft-ietf-opsawg-pcap-04, draft-ietf-opsawg-pcaplinktype-04 and a third pcapng document (not yet attempted), I'm getting:

When I repeated for pcap-04, it said:

{"error": "Validation Error", "messages": ["A submission with same name and revision is currently being processed. <a href=\"/submit/status/144825/\">Check the status here."]}+ echo

and I got the confirmation email, and it worked.

I can't seem to do the same for pcaplinktype-04, but I'll try posting the XML through the DT now.

--

From: "Michael Richardson" mcr@sandelman.ca To: support@ietf.org Subject: Re: [rt5.ietf.org #34978] AutoReply: failed submissions Date: Sun, 04 Aug 2024 17:01:27 -0400

IETF Support via RT support@ietf.org wrote: Hide quoted text

and I got the confirmation email, and it worked.

Hide quoted text

I can't seem to do the same for pcaplinktype-04, but I'll try posting the XML through the DT now.

When I tried through DT, it said it was already being processed.

--

Subject: Re: [rt5.ietf.org #34978] AutoReply: failed submissions Date: Sun, 04 Aug 2024 18:40:11 -0400 From: "Michael Richardson" mcr@sandelman.ca To: support@ietf.org

I don't know if this is helpful.

obiwan-work/opsawg/pcapng mcr 10058 %curl -v -sS -D versioned/.draft-ietf-opsawg-pcapng-02.upload -F user=tuexen@fh-muenster.de -F xml=@versioned/draft-ietf-opsawg-pcapng-02.xml https://datatracker.ietf.org/api/submission

@mcr

Code of Conduct

jennifer-richards commented 2 months ago

First: I believe all the drafts mentioned in these messages were successfully posted on Aug 4, some via manual posts and some via the api. I..e, I don't think anything is currently blocked due to this issue.

Going through the logs, I see the API calls that were posting these. On 2024-08-04 (all times UTC) I see:

I'm not sure why you'd see failures for the initial uploads - the first attempts for both submissions were 200s from the datatracker and both were validated successfully. After that, a 400 response is expected because the submission already exists.

mcr commented 2 months ago

Jennifer Richards @.***> wrote:

Going through the logs, I see the API calls that were posting these. On 2024-08-04 (all times UTC) I see:

  • at 20:49:55: draft-ietf-opsawg-pcap-04 was posted with HTTP response status 200. Validation succeeded at 20:49:58.
  • at 20:50:01: draft-ietf-opsawg-pcaplinktype-04 was posted with HTTP response status 200. Validation succeeded at 20:50:45.

Yes, I would agree that they were accepted by the system, but the 200 didn't get to me. Perhaps the 200 code didn't get through CloudFlare?

I don't know what code 55 in curl means; my impression is that the socket closed before CURL felt that the transfer was finished.

> I'm not sure why you'd see failures for the initial uploads - the first
> attempts for both submissions were 200s from the datatracker and both
> were validated successfully. After that, a 400 response is expected
> because the submission already exists.

Yes. (I wonder if submission already exists shouldn't return 409)

Today, different results, sorta. First time I try the CURL, I got code 55. Alas, it scrolled in a way I can't get back. So I tried again, and got duplicate submission, which I would expect.

-- ] Never tell me the odds! | ipv6 mesh networks [ ] Michael Richardson, Sandelman Software Works | IoT architect [ ] @.*** http://www.sandelman.ca/ | ruby on rails [

jennifer-richards commented 2 months ago

Yes, I would agree that they were accepted by the system, but the 200 didn't get to me. Perhaps the 200 code didn't get through CloudFlare?

Perhaps possible, but I don't think it's likely. We did recently add a nginx-based proxy to the stack between you and the datatracker so that seems more likely to be at fault, but the only reports I can find of problems with that involve sessions being closed when multiple files are being uploaded. I don't think that applies here.

I don't know what code 55 in curl means; my impression is that the socket closed before CURL felt that the transfer was finished.

I did find this report that matches, at least superficially. I haven't read through the details any deeper than a skim, just putting it here for info: https://github.com/curl/curl/issues/10591

mcr commented 2 months ago

In actions/runner-images#7329 a working workaround was proposed: --http1.1. This allowed us to continue pushing builds affected by this bug until the underlying issue is fixed.

I'll try this.

jennifer-richards commented 2 months ago

Thanks - keep us updated. What version of curl are you using?

Noticed just now that the ticket I linked involves a PUT, not a POST, so it may not be the same issue. Someone did report problems with POST but I haven't been able to find a proper ticket for that.

mcr commented 2 months ago

Jennifer Richards @.***> wrote:

Thanks - keep us updated. What version of curl are you using?

So sticking to 1.1 seems to help. I haven't checked if my curl version is among those broken yet. (Been sick for three days)

%curl --version curl 7.88.1 (x86_64-pc-linux-gnu) libcurl/7.88.1 OpenSSL/3.0.13 zlib/1.2.13 brotli/1.0.9 zstd/1.5.4 libidn2/2.3.3 libpsl/0.21.2 (+libidn2/2.3.3) libssh2/1.10.0 nghttp2/1.52.0 librtmp/2.3 OpenLDAP/2.5.13 Release-Date: 2023-02-20, security patched: 7.88.1-10+deb12u6 Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM NTLM_WB PSL SPNEGO SSL threadsafe TLS-SRP UnixSockets zstd

obiwan-work/opsawg/pcapng mcr 10029 %curl -v -sS -D versioned/.draft-ietf-opsawg-pcapng-02.upload -F @. -F @./draft-ietf-opsawg-pcapng-02.xml https://datatracker.ietf.org/api/submission

rjsparks commented 2 months ago

Hi @mcr - just in case, double-check the contents of the file you are uploading (and that you're uploading the file you intend)? It has a filename that indicates -02, which is already in the draft repository.

jennifer-richards commented 2 months ago

curl 7.88.1 (x86_64-pc-linux-gnu) libcurl/7.88.1 OpenSSL/3.0.13 zlib/1.2.13 brotli/1.0.9 zstd/1.5.4 libidn2/2.3.3 libpsl/0.21.2

That is the version that was reported as having an issue with HTTP/2 in the curl ticket. If it's the same issue (unclear, given the PUT vs POST change), then 8.2.1 should be clear of the problem.

@rjsparks, I think those logs are just meant to demonstrate that the --http1.1 flag avoids the curl: (55) Failed sending data to the peer error that's in the first but not the second.

rjsparks commented 2 months ago

Got it - sorry for the noise

mcr commented 2 months ago

I guess that I just got upgraded to the broken version when I last patched desk/laptop, probably for critical SSH bug. I don't see another update in Debian Stable to curl yet. I can certainly leave --http1.1 in somehow. Annoying. Maybe MT can put a patch in for now.

mcr commented 2 months ago

trying to submit draft-ietf-anima-brski-cloud, version -09. This one uses my 10 line Makefile, and I added --http1.1 easily, but despite appearing to succeed, the status says "cancelled", and I got no emails.

It could be a different problem.

curl --http1.1 -S -F @." -F @.;type=application/xml" https://datatracker.ietf.org/api/submission | jq % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 106k 100 144 100 106k 43 32863 0:00:03 0:00:03 --:--:-- 32904 { "id": "144937", "name": "draft-ietf-anima-brski-cloud", "rev": "09", "status_url": "https://datatracker.ietf.org/api/submission/144937/status" } obiwan-work/anima/brski-cloud mcr 10054 %make submit curl --http1.1 -S -F @." -F @.;type=application/xml" https://datatracker.ietf.org/api/submission | jq % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 106k 100 144 100 106k 169 125k --:--:-- --:--:-- --:--:-- 125k { "id": "144938", "name": "draft-ietf-anima-brski-cloud", "rev": "09", "status_url": "https://datatracker.ietf.org/api/submission/144938/status" } obiwan-work/anima/brski-cloud mcr 10054 %date Mon 12 Aug 2024 01:21:28 PM EDT

obiwan-work/anima/brski-cloud mcr 10055 %curl https://datatracker.ietf.org/api/submission/144938/status {"id": "144938", "state": "cancel", "state_desc": "Cancelled"}% obiwan-work/anima/brski-cloud mcr 10056 %

rjsparks commented 2 months ago

Yes, it's a different issue (and we're tracking making the errors returned when something goes wrong more actionable).

In this case, please look in your source for what might have led to this:

lxml.etree.DocumentInvalid: IDREF attribute target references an unknown ID "considerationsofor-http-redirect"