/me looks up the IPV6_V6ONLY doc.
http://www.faqs.org/rfcs/rfc3493.html
Section 5.3 clearly describes this option: it "restricts AF_INET6 sockets to IPv6 communications only."
Failure to set the option to 0 (i.e. to clear it) means the socket is IPv6-only and refuses to change from that.
I would say "Failed to clear IPv6-only flag on listening socket (setsockopt: %s)."