Hi Simon,
(cc'ing libiconv for libiconv-issue)
Am 23.03.2009 um 11:54 schrieb Simon Josefsson:
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?
It looks like the usual 646 / ASCII problem on Solaris:
build8s% ./tst_toutf8 -v
PASS: stringprep_locale_charset == 646
zsh: segmentation fault (core dumped) ./tst_toutf8 -v
Bruno, I guess this will be fixed with the special build-in for Solaris
in the next libiconv-release we talked about some month ago?
Best regards
-- Dago
_______________________________________________
Help-libidn mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-libidn