CURL 7.35 hang

Bug #1423175 reported by Oleg Matei
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
curl (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

I have been working on Ubuntu Server 14.04 LTS

Curl version is:
curl 7.35.0 (x86_64-pc-linux-gnu) libcurl/7.35.0 OpenSSL/1.0.1f zlib/1.2.8 libidn/1.28 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smtp smtps telnet tftp
Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP

In my project I have In background a lot of php processes working and executing curl commands. After some time (less than one day) processes stop.
Log file shows that they stop on execution curl function and never go forward.
It's bad because process still working and system doesn't recognize when it's hanging.

strace of the process showed me this:

$ sudo strace -p 30343
Process 30343 attached
restart_syscall(<... resuming interrupted call ...>) = 0
clock_gettime(CLOCK_MONOTONIC, {961216, 454702757}) = 0
clock_gettime(CLOCK_MONOTONIC, {961216, 454751197}) = 0
poll([{fd=5, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 0) = 0 (Timeout)
clock_gettime(CLOCK_MONOTONIC, {961216, 454820667}) = 0
clock_gettime(CLOCK_MONOTONIC, {961216, 454842339}) = 0
clock_gettime(CLOCK_MONOTONIC, {961216, 454870627}) = 0
clock_gettime(CLOCK_MONOTONIC, {961216, 454894172}) = 0
clock_gettime(CLOCK_MONOTONIC, {961216, 454920104}) = 0
poll([{fd=5, events=POLLIN}], 1, 1000) = 0 (Timeout)
clock_gettime(CLOCK_MONOTONIC, {961217, 456135856}) = 0
clock_gettime(CLOCK_MONOTONIC, {961217, 456173715}) = 0
poll([{fd=5, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 0) = 0 (Timeout)

Looks like it retries over and over to read/write data in file descriptor 5.
Look at file descriptors:

sudo ls -l /proc/30343/fd/
total 0
lr-x------ 1 se se 64 Feb 12 03:09 0 -> /dev/null
l-wx------ 1 se se 64 Feb 12 03:09 1 -> /var/www/html/SE/logs/tweetscan.1502111009.30340.log
l-wx------ 1 se se 64 Feb 12 03:09 2 -> /var/www/html/SE/logs/tweetscan.1502111009.30340.log
lrwx------ 1 se se 64 Feb 12 03:09 3 -> socket:[32681601]
lrwx------ 1 se se 64 Feb 12 03:09 4 -> /var/lib/php5/sess_9vstn2jcd82u1dla80enkra1u1
lrwx------ 1 se se 64 Feb 12 03:09 5 -> socket:[33112628]

fd=5 - means our socket and I am sure that this is my curl.

I know the problem could be inside lib_curl library, but the question is simple.
Why didn't you updated lib_curl from version 7.35 to 7.40 (which is latest and probably bug is fixed there).
In comparison Linux AMI (fedora in their case) now has 7.40 in their repository.

Looking forward for you answer...

Thanks,
- Oleg

Tags: curl
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in curl (Ubuntu):
status: New → Confirmed
Revision history for this message
Daniel Schreiber (daniel-schreiber) wrote :

+1

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.