Dagobert Michelsen <[email protected]> writes: > Hi, > > I am trying to compile libidn 1.13 on Solaris 8 Sparc with the Sun > Studio 11 > compiler (fully patched) and get an error on gmake check: > >> gmake check-TESTS >> gmake[1]: Entering directory `/home/dam/mgar/pkg/libidn/trunk/work/ >> build-isa-sparcv8/libidn-1.13/tests' >> PASS: tst_stringprep >> PASS: tst_punycode >> PASS: tst_idna >> PASS: tst_idna2 >> PASS: tst_nfkc >> PASS: tst_pr29 >> PASS: tst_strerror >> FAIL: tst_toutf8 >> PASS: tst_tld >> =================================== >> 1 of 9 tests failed >> Please report to [email protected] >> =================================== > > The test program dumps core: > >> build8s% pstack core >> core 'core' of 21330: ./tst_toutf8 >> 7f7b244c memcmp (1, 118a8, fffeff9c, 21af0, 2e2f7473, 7f82b508) + >> c0 >> 00011654 main (0, 0, ffbffb28, 21af4, 21908, ffbffb28) + 164 >> 00010ae4 _start (0, ffbffb2c, 7fbec800, 0, 1, 7fbec000) + 108
It was a bug in the test program, now fixed: http://git.savannah.gnu.org/cgit/libidn.git/commit/?id=056262294467f3eaa96caf63c9573957b61301a9 However this won't make the self test pass, it just fixes the crash. > The user trace looks like this: > >> build8s% truss -u\* -f ./tst_toutf8 >> 21925: execve("tst_toutf8", 0xFFBFFD1C, 0xFFBFFD24) argc = 1 >> 21925: getuid() = 10000 >> [10000] >> ... >> 21925: <- libidn:stringprep_locale_charset() = 0xff02b508 >> 21925: -> libidn:stringprep_locale_to_utf8(0x11708, 0xfffef84c, >> 0xff1f0800, 0x10400) >> 21925: -> libc:getenv(0xff1e004c, 0x0, 0x0, 0x0) >> 21925: <- libc:getenv() = 0 >> 21925: -> libc:nl_langinfo(0x31, 0xff03c000, 0x0, 0xffbffd58) >> 21925: -> libc:__nl_langinfo_std(0xff041f40, 0x31, 0x0, >> 0xffbffd58) >> 21925: <- libc:nl_langinfo() = 0xff02b508 >> 21925: -> libidn:stringprep_convert(0x11708, 0xff1e005c, >> 0xff02b508, 0xff1f0800) >> 21925: -> libiconv:libiconv_open(0xff1e005c, 0xff02b508, 0x0, >> 0x0) >> 21925: -> libc:strcmp(0xffbffb62, 0xff168146, 0xa3, 0x68c) >> 21925: <- libc:strcmp() = 0 >> 21925: <- libiconv:libiconv_open() = -1 >> 21925: <- libidn:stringprep_locale_to_utf8() = 0 >> 21925: -> libc:memcmp(0x0, 0x1170c, 0x4, 0x0) >> 21925: Incurred fault #6, FLTBOUNDS %pc = 0xFEFB244C >> 21925: siginfo: SIGSEGV SEGV_MAPERR addr=0x00000000 >> 21925: Received signal #11, SIGSEGV [default] >> 21925: siginfo: SIGSEGV SEGV_MAPERR addr=0x00000000 >> 21925: *** process killed *** > > Is this an libiconv-issue? libiconv is 1.12. Maybe -- iconv returns NULL here. Possibly libidn doesn't understand the locale it is in. Can you run 'tests/tst_toutf -v' and post the output? /Simon _______________________________________________ Help-libidn mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-libidn
