Asciinema: Ошибка загрузки: "Сломанная труба"

Созданный на 28 янв. 2019  ·  7Комментарии  ·  Источник: asciinema/asciinema

$ asciinema upload /var/folders/v2/g27ngtds20zg60cy_f2jb_l80000gn/T/tmpub1dsng9-ascii.cast
asciinema: upload failed: <urlopen error [Errno 32] Broken pipe>
asciinema: retry later by running: asciinema upload /var/folders/v2/g27ngtds20zg60cy_f2jb_l80000gn/T/tmpub1dsng9-ascii.cast

Вот приложение в tmp-папке

$ exa -l  /var/folders/v2/g27ngtds20zg60cy_f2jb_l80000gn/T/tmpub1dsng9-ascii.cast
.rw------- 5.8M user 28 Jan 16:33 /var/folders/v2/g27ngtds20zg60cy_f2jb_l80000gn/T/tmpub1dsng9-ascii.cast

Все 7 Комментарий

Не уверен, почему вы не получаете правильного сообщения об ошибке, но существует ограничение на 5 МБ для загрузки файлов. См. №91

Да, это проблема с ограничением размера.

У asciinema есть обработчик ошибок для статуса 413 (который в данном случае возвращается веб-сервером), но кажется, что он никогда не обрабатывается должным образом из-за того, как работает urllib Python. Вы можете узнать больше о проблеме здесь: https://github.com/kennethreitz/requests/issues/2422#issuecomment -184012765

Сегодня столкнулся с той же проблемой. Что вы думаете о временной мере, когда на стороне клиента появляется предупреждение, если размер загружаемого файла превышает 5M?

Я регулярно сталкиваюсь с этим, намного ниже лимита в 5 миллионов.

[schwarzgerat](2) $ ls -l /tmp/user/1000/tmpaxpadd2n-ascii.cast 
-rw------- 1 dank dank 592498 2020-01-05 08:57 /tmp/user/1000/tmpaxpadd2n-ascii.cast
[schwarzgerat](0) $ asciinema upload /tmp/user/1000/tmpaxpadd2n-ascii.cast 
asciinema: upload failed: <urlopen error [Errno 32] Broken pipe>
asciinema: retry later by running: asciinema upload /tmp/user/1000/tmpaxpadd2n-ascii.cast
[schwarzgerat](1) $ 

Это всего 600К. Играет отлично локально.

Здесь можно воспроизвести:

$ asciinema upload display_sweep.cast
asciinema: upload failed: <urlopen error [Errno 32] Broken pipe>
asciinema: retry later by running: asciinema upload display_sweep.cast

$ ll -h display_sweep.cast
-rw-r--r-- 1 nicoo nicoo 2.3M Jan 14 21:29 display_sweep.cast

То же самое происходит и с файлами меньшего размера. Я попытался воспроизвести с помощью curl но это сработало нормально:

$ curl --http1.1 -v -u $USER:$(cat ~/.config/asciinema/install-id) https://asciinema.org/api/asciicasts -F asciicast=@display_sweep.cast
*   Trying 109.107.38.78:443...
* TCP_NODELAY set
* Connected to asciinema.org (109.107.38.78) port 443 (#0)
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
* ALPN, server accepted to use http/1.1
* Server certificate:
*  subject: CN=asciinema.org
*  start date: Jan 16 08:09:20 2020 GMT
*  expire date: Apr 15 08:09:20 2020 GMT
*  subjectAltName: host "asciinema.org" matched cert's "asciinema.org"
*  issuer: C=US; O=Let's Encrypt; CN=Let's Encrypt Authority X3
*  SSL certificate verify ok.
* Server auth using Basic with user 'nicoo'
> POST /api/asciicasts HTTP/1.1
> Host: asciinema.org
> Authorization: Basic XXXXSECRETVALUEHERE
> User-Agent: curl/7.67.0
> Accept: */*
> Content-Length: 2332762
> Content-Type: multipart/form-data; boundary=------------------------8506bb168e19a8c6
> Expect: 100-continue
> 
* Mark bundle as not supporting multiuse
< HTTP/1.1 100 Continue
* We are completely uploaded and fine
* Mark bundle as not supporting multiuse
< HTTP/1.1 201 Created
< Cache-Control: max-age=0, private, must-revalidate
< Content-Length: 78
< Content-Type: text/plain; charset=utf-8
< Date: Fri, 17 Jan 2020 16:47:43 GMT
< Location: https://asciinema.org/a/ucRJ70xKSlhN1QlmMW0BdSUBf
< Server: Caddy
< Server: nginx
< Strict-Transport-Security: max-age=15768000
< X-Request-Id: 2nlbkv35ad6doecmo07jcdm2
< 
View the recording at:

    https://asciinema.org/a/ucRJ70xKSlhN1QlmMW0BdSUBf
* Connection #0 to host asciinema.org left intact

Похоже, это проблема, специфичная для клиента HTTP API asciinema ; Я столкнулся с этим даже при установке asciinema form pip в свежую venv ; локальная версия python - 3.7.5 (как в Debian 11 / тестирование)

Не уверен, почему вы не получаете правильного сообщения об ошибке, но существует ограничение на

Это должен быть пункт часто задаваемых вопросов.

Как только я увидел, что "сломанная труба" повторилась дважды, я заподозрил, что мои 6.3M-касты превысили лимит загрузки.

Но на самом деле поиск этой ветки занял ... эээ ... 24 минуты. Примерно 15 из которых я возился с сертификацией discobot , надеясь, что это позволит мне опубликовать вопрос в разделе обсуждения часто задаваемых вопросов (этого не произошло).

Я получаю эту небольшую ошибку:

`` sontek @ hulk : / mnt / c / Users / sontek / code / snowmachine $ exit
asciinema: запись завершена
asciinema: прессазагрузить на asciinema.org,сохранить на месте
asciinema: загрузка не удалась:
asciinema: повторите попытку позже, запустив: asciinema upload /tmp/tmpe_sntawl-ascii.cast
sontek @ hulk : / mnt / c / Users / sontek / code / snowmachine $ du -sh /tmp/tmpe_sntawl-ascii.cast
184 КБ /tmp/tmpe_sntawl-ascii.cast
sontek @ hulk : / mnt / c / Users / sontek / code / snowmachine $

Tried uploading it later too:

sontek @ hulk : / mnt / c / Users / sontek / code / snowmachine $ asciinema upload /tmp/tmpe_sntawl-ascii.cast
asciinema: загрузка не удалась:
asciinema: повторите попытку позже, запустив: asciinema upload /tmp/tmpe_sntawl-ascii.cast
`` ''

Была ли эта страница полезной?
0 / 5 - 0 рейтинги