On 11/07/2016 08:34 PM, Karl Williamson wrote: > Top posting. > > > This smells like something to try valgrind on. Try > > make test.valgrind You can use TEST_JOBS= to make it go faster if you have multiple cores > > > On 11/07/2016 05:59 PM, James E Keenan via RT wrote: >> On Mon, 07 Nov 2016 16:29:40 GMT, jkeenan wrote: >>> On Mon, 07 Nov 2016 13:47:55 GMT, jkeenan wrote: >>>> The question is: What is it about this the pattern: >>>> >>>> ##### >>>> /([^\S\x{202f}\x{00a0}]+)|(\p{InFullwidth})|((?:[^\s\p{InFullwidth}]|[\x{202f}\x{00a0}])+)/ >>>> >>>> ##### >>>> >>>> ... that (a) as of commit C<a5540cf> but not previously; and (b) in >>>> the context of this test suite but not in isolation, perceives >>>> something to be a read-only value not subject to modification? >>> My next brainstorm: Add "use re 'debug';" to sub add_text() in >>> tp/Texinfo/Convert/ParagraphNonXS.pm. >>> >>> When I did so and ran the debugging program found in one of my >>> previous attachments, I got this output: >>> >>> ##### >>> Texinfo::Convert::ParagraphNonXS::add_text(../../tp/Texinfo/Convert/ParagraphNonXS.pm:329): >>> >>> 329: my @segments = split >>> 330: >>> /([^\S\x{202f}\x{00a0}]+)|(\p{InFullwidth})|((?:[^\s\p{InFullwidth}]|[\x{202f}\x{00a0}])+)/, >>> >>> 331: $text; >>> DB<6> n >>> Matching REx >>> "([^\S\x{202f}\x{00a0}]+)|(\p{InFullwidth})|((?:[^\s\p{InFull"... >>> against "This is " >>> 0 <> <This is > | 0| 1:BRANCH(18) >>> 0 <> <This is > | 1| 2:OPEN1(4) >>> 0 <> <This is > | 1| 4:PLUS(16) >>> | 1| ANYOF[\t\n\x0B\f\r \x85][1680 >>> 2000-200A 2028-2029 205F 3000] can match 0 times out of 2147483647... >>> | 1| failed... >>> 0 <> <This is > | 0| 18:BRANCH(34) >>> 0 <> <This is > | 1| 19:OPEN2(21) >>> 0 <> <This is > | 1| >>> 21:ANYOF[+utf8::Texinfo::Convert::ParagraphNonXS::InFullwidth](32) >>> | 1| failed... >>> 0 <> <This is > | 0| 34:BRANCH(68) >>> 0 <> <This is > | 1| 35:OPEN3(37) >>> 0 <> <This is > | 1| 37:CURLYM[0]{1,INFTY}(66) >>> 0 <> <This is > | 2| 39:BRANCH(51) >>> 0 <> <This is > | 3| 40:ANYOF[^\t\n\x0B\f\r >>> \x85\xA0{+utf8::Texinfo::Convert::ParagraphNonXS::InFullwidth}1680 >>> 2000-200A 2028-2029 202F 205F 3000](64) >>> Modification of a read-only value attempted at >>> ../../tp/Texinfo/Convert/ParagraphNonXS.pm line 329. >>> at ../../tp/Texinfo/Convert/ParagraphNonXS.pm line 329. >>> Texinfo::Convert::ParagraphNonXS::add_text(Texinfo::Convert::ParagraphNonXS=HASH(0x35ba938), >>> "This is ") called at ../../tp/Texinfo/Convert/Info.pm line 308 >>> Texinfo::Convert::Info::_info_header(Texinfo::Convert::Info=HASH(0x35b3038)) >>> called at ../../tp/Texinfo/Convert/Info.pm line 81 >>> Texinfo::Convert::Info::output(Texinfo::Convert::Info=HASH(0x35b3038), >>> HASH(0x35ab7c0)) called at ../texi2any.pl line 1348 >>> panic: POPSTACK >>> Debugged program terminated. >>> ##### >>> >>> Since I have never previously used the regex debugger, I have no idea >>> if there are any clues to a solution in that output. >>> >> Compiling perl at what has been identified as the last good commit, >> and then running the test program through the debugger, I got much >> better output. It's quite long, so I'm posting it here: >> >> https://gist.github.com/jkeenan/184d2aaf914e4aa0410fe2ea1f36da91 >> >> Thank you very much. >> >Thread Previous | Thread Next