Subject: | Segfaults and other failures while running test/cdata-no.stx |
On some systems the cdata-no.stx test fails, either exposing segmentation faults or failing with the error "Not a HASH reference at blib/lib/XML/STX/Runtime.pm line 84"
Sample reports:
* http://www.cpantesters.org/cpan/report/555d3086-41ac-11e3-ac10-7ca52ed97d12
* http://www.cpantesters.org/cpan/report/8ab2082c-d91b-11e3-a09b-7beeeea79835
* http://www.cpantesters.org/cpan/report/c7611c0e-da60-11e3-a160-7441e0bfc7aa
This is how a failing run looks in strace on a debian system:
14699 17:57:50.996019 open("test/cdata-no.stx", O_RDONLY) = 4 <0.000020>
14699 17:57:50.996070 ioctl(4, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, 0x7fffa9b2d690) = -1 ENOTTY (Inappropriate ioctl for device) <0.000013>
14699 17:57:50.996109 lseek(4, 0, SEEK_CUR) = 0 <0.000021>
14699 17:57:50.996154 fstat(4, {st_mode=S_IFREG|0644, st_size=227, ...}) = 0 <0.000013>
14699 17:57:50.996196 fcntl(4, F_SETFD, FD_CLOEXEC) = 0 <0.000013>
14699 17:57:50.996282 read(4, "<stx:transform version=\"1.0\" \n xmlns:stx=\"http://stx.sourceforge.net/2002/ns\"\n recognize-cdata=\"no\"\n strip-space=\"yes\">\n\n <stx:template match=\"text()[name(..)='root']\">\n [<stx:copy/>]\n </stx:template>\n\n</stx:transform>\n", 8192) = 227 <0.000016>
14699 17:57:50.996325 read(4, "", 8192) = 0 <0.000013>
14699 17:57:50.996362 gettimeofday({1473530270, 996372}, NULL) = 0 <0.000013>
14699 17:57:50.996658 close(4) = 0 <0.000017>
14699 17:57:50.996777 gettimeofday({1473530270, 996789}, NULL) = 0 <0.000015>
14699 17:57:50.996842 open("test/_data01.xml", O_RDONLY) = 4 <0.000017>
14699 17:57:50.996885 ioctl(4, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, 0x7fffa9b2d690) = -1 ENOTTY (Inappropriate ioctl for device) <0.000014>
14699 17:57:50.996922 lseek(4, 0, SEEK_CUR) = 0 <0.000013>
14699 17:57:50.996957 fstat(4, {st_mode=S_IFREG|0644, st_size=226, ...}) = 0 <0.000013>
14699 17:57:50.996996 fcntl(4, F_SETFD, FD_CLOEXEC) = 0 <0.000013>
14699 17:57:50.997080 read(4, "<?xml version=\"1.0\"?>\n<root>\n <node id=\"1\">koko</node>\n <node id=\"2\">mato</node>\n <!-- other node types -->\n text1\n <![CDATA[<<cdata-text>>]]>\n text2\n <?pi pi-content?>\n <node a1=\"A\" a0=\"B\" a3=\"C\"/>\n</root>\n\n\n\n\n\n\n\n\n\n\n\n", 8192) = 226 <0.000016>
14699 17:57:50.997121 read(4, "", 8192) = 0 <0.000013>
14699 17:57:50.997159 gettimeofday({1473530270, 997169}, NULL) = 0 <0.000013>
14699 17:57:50.997248 gettimeofday({1473530270, 997260}, NULL) = 0 <0.000014>
14699 17:57:50.997297 gettimeofday({1473530270, 997308}, NULL) = 0 <0.000013>
14699 17:57:50.997346 gettimeofday({1473530270, 997357}, NULL) = 0 <0.000013>
14699 17:57:50.997423 gettimeofday({1473530270, 997434}, NULL) = 0 <0.000013>
14699 17:57:50.997495 gettimeofday({1473530270, 997507}, NULL) = 0 <0.000014>
14699 17:57:50.997542 gettimeofday({1473530270, 997553}, NULL) = 0 <0.000013>
14699 17:57:50.997591 gettimeofday({1473530270, 997602}, NULL) = 0 <0.000013>
14699 17:57:50.997651 gettimeofday({1473530270, 997662}, NULL) = 0 <0.000013>
14699 17:57:50.997729 gettimeofday({1473530270, 997740}, NULL) = 0 <0.000014>
14699 17:57:50.997777 gettimeofday({1473530270, 997788}, NULL) = 0 <0.000013>
14699 17:57:50.997836 gettimeofday({1473530270, 997848}, NULL) = 0 <0.000014>
14699 17:57:50.997901 gettimeofday({1473530270, 997912}, NULL) = 0 <0.000013>
14699 17:57:50.997959 gettimeofday({1473530270, 997970}, NULL) = 0 <0.000013>
14699 17:57:50.998005 gettimeofday({1473530270, 998016}, NULL) = 0 <0.000013>
14699 17:57:50.998111 gettimeofday({1473530270, 998123}, NULL) = 0 <0.000014>
14699 17:57:50.998184 gettimeofday({1473530270, 998195}, NULL) = 0 <0.000013>
14699 17:57:50.998288 gettimeofday({1473530270, 998300}, NULL) = 0 <0.000014>
14699 17:57:50.998336 gettimeofday({1473530270, 998347}, NULL) = 0 <0.000014>
14699 17:57:50.998384 gettimeofday({1473530270, 998395}, NULL) = 0 <0.000013>
14699 17:57:50.998443 gettimeofday({1473530270, 998454}, NULL) = 0 <0.000013>
14699 17:57:50.998498 gettimeofday({1473530270, 998509}, NULL) = 0 <0.000013>
14699 17:57:50.998543 gettimeofday({1473530270, 998554}, NULL) = 0 <0.000013>
14699 17:57:50.998646 gettimeofday({1473530270, 998658}, NULL) = 0 <0.000015>
14699 17:57:50.998703 gettimeofday({1473530270, 998714}, NULL) = 0 <0.000013>
14699 17:57:50.998781 gettimeofday({1473530270, 998793}, NULL) = 0 <0.000013>
14699 17:57:50.998827 gettimeofday({1473530270, 998838}, NULL) = 0 <0.000013>
14699 17:57:50.998875 gettimeofday({1473530270, 998886}, NULL) = 0 <0.000013>
14699 17:57:50.998929 gettimeofday({1473530270, 998940}, NULL) = 0 <0.000013>
14699 17:57:50.998995 --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0} ---
14699 17:57:51.001154 +++ killed by SIGSEGV +++