Date: Tue, 06 Jan 2015 18:13:15 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 196567] iconv() function crashes with cryptic error message if linked statically Message-ID: <bug-196567-8@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196567 Bug ID: 196567 Summary: iconv() function crashes with cryptic error message if linked statically Product: Base System Version: 10.1-RELEASE Hardware: Any OS: Any Status: New Severity: Affects Only Me Priority: --- Component: bin Assignee: freebsd-bugs@FreeBSD.org Reporter: quintus@quintilianus.eu Hi everyone, I’ve been trying to link a program statically that calls the iconv(3) function and was confronted with it printing the rather cryptic message "Service unavailable" and immediately exiting the program. After some websearch, I found this thread on the freebsd-current mailinglist: * https://docs.freebsd.org/cgi/getmsg.cgi?fetch=140017+0+archive/2013/freebsd-current/20130825.freebsd-current * https://docs.freebsd.org/cgi/getmsg.cgi?fetch=177755+0+archive/2013/freebsd-current/20130825.freebsd-current * https://docs.freebsd.org/cgi/getmsg.cgi?fetch=195390+0+archive/2013/freebsd-current/20130825.freebsd-current It appears nothing has happened since that thread, so I add it to the tracker now so it won’t get forgotten and because I just experienced that issue as well. Here’s the minimal example program from that ML thread to reproduce the crash: ~~~~~~~~~~~~~~~~~~~~~~ int main(void) { iconv_t ic = iconv_open("UTF-8", "ISO-8859-1"); if (ic == (iconv_t)-1) err(1, "iconv_open failed"); iconv_close(ic); return 0; } ~~~~~~~~~~~~~~~~~~~~~~ Save in `foo.c` and compile like this: ~~~~~~~~~~~~~~~~~~~~~~ $ cc -static foo.c -o foo ~~~~~~~~~~~~~~~~~~~~~~ Then run: ~~~~~~~~~~~~~~~~~~~~~~ $ ./foo foo: iconv_open failed: Invalid argument Service unavailable ~~~~~~~~~~~~~~~~~~~~~~ I can confirm this behaviour stil exists in FreeBSD 10.1-RELEASE. The above example program still "works" (i.e. fails and demonstrates the problem). Expected behaviour is to print a useful and understandable error message if it really isn’t possible to get iconv() to work in a statically linked program. Greetings, Marvin -- You are receiving this mail because: You are the assignee for the bug.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-196567-8>
