After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 625632 - webcal back end fails to contact server
webcal back end fails to contact server
Status: RESOLVED DUPLICATE of bug 526321
Product: libsoup
Classification: Core
Component: HTTP Transport
2.30.x
Other Linux
: Normal normal
: ---
Assigned To: evolution-calendar-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2010-07-30 06:24 UTC by David Woodhouse
Modified: 2010-07-30 09:04 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description David Woodhouse 2010-07-30 06:24:14 UTC
I'm publishing a calendar on a web server, and have configured Evolution to use an 'on the web' calendar at http://david.woodhou.se/whatever.ics

This works fine when I'm at home, but I'm currently in a hotel with no IPv6 connectivity and I've noticed that it doesn't seem to work. Instead of following RFC3484 and falling back to Legacy IP, it seems to be aborting after failing to contact the IPv6 address of the server.
Comment 1 David Woodhouse 2010-07-30 07:01:15 UTC
A strace (below) shows the problem -- it attempts to connect over IPv6, but never over Legacy IP.

When we don't have IPv6 connectivity, glibc would return the Legacy IP address first in the getaddrinfo() results. However, Evolution has been running since I left home on Tuesday -- so perhaps libsoup cached the original getaddrinfo() results? That shouldn't hurt as long as we correctly fall back through the results rather than only using the first one.


poll([{fd=3, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=14, events=POLLIN|POLLPRI}, {fd=16, events=POLLIN}, {fd=13, events=POLLIN|POLLPRI}, {fd=6, events=POLLIN}], 6, 1793992) = 1 ([{fd=6, revents=POLLIN}])
read(6, "l\1\0\1\0\0\0\0\v\3\0\0\247\0\0\0\1\1o\0001\0\0\0/org/gnome/evolution/dataserver/calendar/7662/146\0\0\0\0\0\0\0"..., 2048) = 184
read(6, 0x22f85d0, 2048)                = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=14, events=POLLIN|POLLPRI}, {fd=16, events=POLLIN}, {fd=13, events=POLLIN|POLLPRI}, {fd=6, events=POLLIN}], 6, 0) = 0 (Timeout)
writev(6, [{"l\2\1\1\0\0\0\0\334\34\2\0\30\0\0\0\6\1s\0\6\0\0\0:1.176\0\0\5\1u\0\v\3\0\0", 40}, {"", 0}], 2) = 40
poll([{fd=3, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=14, events=POLLIN|POLLPRI}, {fd=16, events=POLLIN}, {fd=13, events=POLLIN|POLLPRI}, {fd=6, events=POLLIN}], 6, 1000) = 0 (Timeout)
poll([{fd=3, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=14, events=POLLIN|POLLPRI}, {fd=16, events=POLLIN}, {fd=13, events=POLLIN|POLLPRI}, {fd=6, events=POLLIN}], 6, 0) = 0 (Timeout)
socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = 15
fcntl(15, F_GETFL)                      = 0x2 (flags O_RDWR)
fcntl(15, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
fcntl(15, F_GETFD)                      = 0
fcntl(15, F_SETFD, FD_CLOEXEC)          = 0
setsockopt(15, SOL_TCP, TCP_NODELAY, [1], 4) = 0
setsockopt(15, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
setsockopt(15, SOL_SOCKET, SO_RCVTIMEO, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
setsockopt(15, SOL_SOCKET, SO_SNDTIMEO, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
fstat(15, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0
fcntl(15, F_GETFL)                      = 0x802 (flags O_RDWR|O_NONBLOCK)
connect(15, {sa_family=AF_INET6, sin6_port=htons(80), inet_pton(AF_INET6, "2001:770:15f::2", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 ENETUNREACH (Network is unreachable)
close(15)                               = 0
poll([{fd=3, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=14, events=POLLIN|POLLPRI}, {fd=16, events=POLLIN}, {fd=13, events=POLLIN|POLLPRI}, {fd=6, events=POLLIN}], 6, 0) = 0 (Timeout)
poll([{fd=3, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=14, events=POLLIN|POLLPRI}, {fd=16, events=POLLIN}, {fd=13, events=POLLIN|POLLPRI}, {fd=6, events=POLLIN}], 6, 0) = 0 (Timeout)
poll([{fd=3, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=14, events=POLLIN|POLLPRI}, {fd=16, events=POLLIN}, {fd=13, events=POLLIN|POLLPRI}, {fd=6, events=POLLIN}], 6, 6000) = 0 (Timeout)
open("/home/dwmw2/.evolution/cache/calendar/webcal___david.woodhou.se_all.ics/calendar.ics~", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 15
fstat(15, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2b9c2b2000
write(15, "BEGIN:VCALENDAR\r\nCALSCALE:GREGORIAN\r\nPRODID:-//Ximian//NONSGML Evolution Calenda"..., 115) = 115
close(15)                               = 0
munmap(0x7f2b9c2b2000, 4096)            = 0
rename("/home/dwmw2/.evolution/cache/calendar/webcal___david.woodhou.se_all.ics/calendar.ics~", "/home/dwmw2/.evolution/cache/calendar/webcal___david.woodhou.se_all.ics/calendar.ics") = 0
poll([{fd=3, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=14, events=POLLIN|POLLPRI}, {fd=16, events=POLLIN}, {fd=13, events=POLLIN|POLLPRI}, {fd=6, events=POLLIN}], 6, 1793989) = 1 ([{fd=6, revents=POLLIN}])
read(6, "l\4\1\1\35\0\0\0\4\2\0\0\211\0\0\0\1\1o\0\25\0\0\0/org/freedesktop/DBus\0\0\0\2\1s\0\24\0\0\0org.freedesktop.DBus\0\0\0\0"..., 2048) = 189
read(6, 0x22f85d0, 2048)                = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=14, events=POLLIN|POLLPRI}, {fd=16, events=POLLIN}, {fd=13, events=POLLIN|POLLPRI}, {fd=6, events=POLLIN}], 6, 0) = 0 (Timeout)
poll([{fd=3, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=14, events=POLLIN|POLLPRI}, {fd=16, events=POLLIN}, {fd=13, events=POLLIN|POLLPRI}, {fd=6, events=POLLIN}], 6, 1782461) = 1 ([{fd=6, revents=POLLIN}])
read(6, "l\4\1\1\35\0\0\0\5\2\0\0\211\0\0\0\1\1o\0\25\0\0\0/org/freedesktop/DBus\0\0\0\2\1s\0\24\0\0\0org.freedesktop.DBus\0\0\0\0"..., 2048) = 189
read(6, 0x22f85d0, 2048)                = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=14, events=POLLIN|POLLPRI}, {fd=16, events=POLLIN}, {fd=13, events=POLLIN|POLLPRI}, {fd=6, events=POLLIN}], 6, 0) = 0 (Timeout)
poll([{fd=3, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=14, events=POLLIN|POLLPRI}, {fd=16, events=POLLIN}, {fd=13, events=POLLIN|POLLPRI}, {fd=6, events=POLLIN}], 6, 1782459^C <unfinished ...>
Process 7662 detached
Comment 2 Dan Winship 2010-07-30 09:04:53 UTC
yeah, longstanding lameness. maybe for 2.32

*** This bug has been marked as a duplicate of bug 526321 ***