O que é “curl: (56) SSL lida: erro: 00000000: lib (0): func (0): razão (0), errno 73” me dizendo?

1

O que esse erro cURL significa e onde posso encontrar mais informações relacionadas?

curl: (56) SSL read: error:00000000:lib(0):func(0):reason(0), errno 73

Estou escrevendo um script de shell para consultar a API do Splunk. Em alguns casos, após 5 minutos, recebo esse erro. Às vezes eu posso reexecutar o script e o erro desaparece e eu recebo a saída desejada.

Aqui está o que eu vejo no meu terminal.

  % Total    % Received % Xferd  Average Speed          Time             Curr.
                                 Dload  Upload Total    Current  Left    Speed
  0     0    0     0    0     0      0      0 --:--:--  0:05:01 --:--:--     0
curl: (56) SSL read: error:00000000:lib(0):func(0):reason(0), errno 73

Uma pesquisa de amostra é essa. Vou substituir "spock" por um hosthame. Essa pesquisa é bem-sucedida em outros hosts, portanto, essa pesquisa específica não está de alguma forma incorreta e está causando o problema.

search index=os_nix host=spock source=/var/adm/messages latest=-30d NOT snmpd authentication (error OR fail OR failure) | head

Estou construindo meu comando assim.

URLPROTO='https://'
URLHOST='splunkapi.example.com'
URLPORT=':8089'
URLDIR='/servicesNS/admin/search/search/jobs/export'
URL="${URLPROTO}${URLHOST}${URLPORT}${URLDIR}"
luser=(read from user input)
lpassword=(read from user input)
OUTFILE=(generated from hostname and the type of search I'm running) 
mySEARCH=(read from input file)
USER=(User ID read from environment)

O comando realmente é isso.

curl -k -o "${OUTFILE}" -u ${luser:=${USER}}:${lpasswd} ${URL} -d search="${mySEARCH}" -d output_mode="csv"

Meu script percorre uma lista de hosts, lê um arquivo externo, executa várias pesquisas, lê um arquivo externo diferente, em cada host. Para esclarecer ainda mais, posso executar meu script e obtenho duas ou três falhas de um total de trinta pesquisas no total. A execução inteira não falha, apenas dois ou três pares de host / pesquisa individuais. A falha não se limita a um par de host / pesquisa específico ou a um host específico ou a uma pesquisa específica, pois eu posso executar novamente o meu script e as falhas têm uma boa chance de êxito.

Qual é o erro cURL tentando me dizer?

Se for importante, isso é AIX.

curl 7.11.1 (powerpc-ibm-aix5.2.0.0) libcurl/7.11.1 OpenSSL/0.9.7g ipv6
Protocols: ftp gopher telnet dict ldap http file https ftps
Features: IPv6 SSL NTLM Largefile
    
por IAmJeff 15.12.2016 / 23:53

2 respostas

0

Curl reporta esses erros porque o Splunk não retorna nenhum dado. (Minha pesquisa retornou dados para a maioria dos hosts, mas uma janela específica do tempo faria com que falhassem ocasionalmente.)

O Splunk expira após 5 minutos e desconecta o curl, errno 73. O código de saída da onda (56) é "Falha ao receber dados da rede". O Splunk não envia nada, então não há dados para receber.

Obrigado a ambos @thrig e @OscarAkaElvis por ajudar.

    
por 20.12.2016 / 23:53
3

Os nomes associados aos números de erro errno "devem estar no arquivo errno.h normalmente armazenado em algum lugar abaixo de /usr/include , embora apareça uma pesquisa webby:

link

Qual para 73 e AIX é "Conexão redefinida pelo par". Então, por algum motivo, o peer (ou algo entre o cliente e o peer) reinicia a conexão.

    
por 16.12.2016 / 01:48