This is a bug report for perl from Mark.Martinec@ijs.si,
generated with the help of perlbug 1.39 running under perl 5.10.1.
-----------------------------------------------------------------
[Please describe your issue here]
Tracking down a reason for crashes of a perl process while processing
certain obfuscated spam messages, it turns out that an utf-8 character
with a large (and invalid) codepoint is causing a perl 5.10.1 crash
while matching such string to a particular regular expression.
This is happening on a FreeBSD 7.2, using perl as installed from ports
with no special settings.
Reducing the actual crashing application to a small test case,
here it is:
#!/usr/bin/perl -T
use strict;
# Here is a HTML snippet from a malicious/obfuscated mail message.
# Note the last character has an invalid and huge UTF-8 code
# (as a result of an unrelated bug in HTML::Parser).
#
my $t = 'Attention Homeοωnөrs...1ѕt '.
'Tімe Eνө';
$t =~ s/(\d+)/chr($1)/ge; # convert HTML entities to UTF8
$t .= substr($ENV{PATH},0,0); # make it tainted
# show character codes in the resulting string
print join(", ", map {ord} split(//,$t)), "\n";
# The following regexp evaluation crashes perl 5.10.1 on FreeBSD.
# Note that $t must be tainted and must have the UTF8 flag on,
# otherwise the crash seems to be avoided.
$t =~ /( |\b)(http:|www\.)/i;
and here is the result (hand wrapped):
60, 97, 62, 65, 116, 116, 101, 110, 116, 105, 111, 110, 32, 72, 111,
109, 101, 959, 969, 110, 1257, 114, 115, 46, 46, 46, 49, 1109, 116,
32, 84, 1110, 1084, 101, 32, 69, 957, 1257, 1075075, 60, 47, 97, 62
Segmentation fault: 11 (core dumped)
Here is a backtrace as obtained from a core dump
(cut/pasted from screen, the actual 8-bit characters may be wrong):
$ gdb -c perl5.10.1.core /usr/local/bin/perl5.10.1
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "amd64-marcel-freebsd"...
Core was generated by `perl5.10.1'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/local/lib/perl5/5.10.1/mach/CORE/libperl.so...done.
Loaded symbols for /usr/local/lib/perl5/5.10.1/mach/CORE/libperl.so
Reading symbols from /lib/libm.so.5...done.
Loaded symbols for /lib/libm.so.5
Reading symbols from /lib/libcrypt.so.4...done.
Loaded symbols for /lib/libcrypt.so.4
Reading symbols from /lib/libutil.so.7...done.
Loaded symbols for /lib/libutil.so.7
Reading symbols from /lib/libc.so.7...done.
Loaded symbols for /lib/libc.so.7
Reading symbols from /libexec/ld-elf.so.1...done.
Loaded symbols for /libexec/ld-elf.so.1
#0 0x00000000408bb101 in S_regmatch (reginfo=0x7fffffffe590, prog=0x411143a4) at regexec.c:3049
3049 REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
(gdb) bt
#0 0x00000000408bb101 in S_regmatch (reginfo=0x7fffffffe590, prog=0x411143a4) at regexec.c:3049
#1 0x00000000408b7b0a in S_regtry (reginfo=0x7fffffffe590, startpos=0x7fffffffe6d8) at regexec.c:2355
#2 0x00000000408b6a7a in Perl_regexec_flags (prog=0x4114f1a0,
stringarg=0x4111d6c0 "Attention HomeοÏ\211nÓ©rs...1Ñ\225t TÑ\226мe Eνөô\206\236\203",
strend=0x4111d6f3 "/a>",
strbeg=0x4111d6c0 "Attention HomeοÏ\211nÓ©rs...1Ñ\225t TÑ\226мe Eνөô\206\236\203", minend=0,
sv=0x4113ec48, data=0x0, flags=3) at regexec.c:2146
#3 0x00000000407864a3 in Perl_pp_match () at pp_hot.c:1356
#4 0x000000004073fa4c in Perl_runops_debug () at dump.c:1968
#5 0x00000000406905d8 in S_run_body (oldscope=1) at perl.c:2431
#6 0x000000004068f9b0 in perl_run (my_perl=0x41102104) at perl.c:2349
#7 0x0000000000400bf4 in main (argc=3, argv=0x7fffffffea90, env=0x7fffffffeab0) at perlmain.c:117
(gdb)
And lastly, here is a perl debug output using the -Dr command line option:
Compiling REx "( |\b)(http:|www\.)"
Final program:
1: OPEN1 (3)
3: BRANCH (6)
4: EXACTF < > (8)
6: BRANCH (FAIL)
7: BOUND (8)
8: CLOSE1 (10)
10: OPEN2 (12)
12: TRIE-EXACTF[HWhw] (19)
19: CLOSE2 (21)
21: END (0)
minlen 4
Omitting $` $& $' support.
EXECUTING...
[...]
Matching REx "( |\b)(http:|www\.)" against "Attention Home%x{3bf}%x{3c9}n%x{4e9}rs...1%x{455}t T"...
UTF-8 string...
0 <> <Attenti> | 1:OPEN1(3)
0 <> <Attenti> | 3:BRANCH(6)
0 <> <Attenti> | 4: EXACTF < >(8)
Compiling REx "(^|[/\\])warnings\.pmc?$"
rarest char w at 0
Final program:
1: OPEN1 (3)
3: BRANCH (5)
4: BOL (17)
5: BRANCH (FAIL)
6: ANYOF[/\\][] (17)
17: CLOSE1 (19)
19: EXACT (23)
23: CURLY {0,1} (27)
25: EXACT (0)
27: EOL (28)
28: END (0)
floating "warnings.pm" at 0..1 (checking floating) minlen 11
Guessing start of match in sv for REx "(^|[/\\])warnings\.pmc?$" against "/usr/local/lib/perl5/5.10.1/warnings.pm"
Found floating substr "warnings.pm" at offset 28...
Starting position does not contradict /^/m...
Guessed: match at offset 27
Matching REx "(^|[/\\])warnings\.pmc?$" against "/warnings.pm"
27 <.10.1> | 1:OPEN1(3)
27 <.10.1> | 3:BRANCH(5)
27 <.10.1> | 4: BOL(17)
failed...
27 <.10.1> | 5:BRANCH(17)
27 <.10.1> | 6: ANYOF[/\\][](17)
28 <10.1/> | 17: CLOSE1(19)
28 <10.1/> | 19: EXACT (23)
39 <> | 23: CURLY {0,1}(27)
EXACT can match 0 times out of 1...
39 <> | 27: EOL(28)
39 <> | 28: END(0)
Match successful!
Freeing REx: "(^|[/\\])warnings\.pmc?$"
Compiling REx "^\s+"
synthetic stclass "ANYOF[\11\12\14\15 ][{unicode_all}]".
Final program:
1: BOL (2)
2: PLUS (4)
3: SPACE (0)
4: END (0)
stclass ANYOF[\11\12\14\15 ][{unicode_all}] anchored(BOL) minlen 1
Compiling REx "\s+$"
rarest char
at 0
Final program:
1: PLUS (3)
2: SPACE (0)
3: EOL (4)
4: END (0)
floating ""$ at 1..2147483647 (checking floating) stclass SPACE plus minlen 1
Compiling REx "(.+)::"
rarest char : at 0
Final program:
1: OPEN1 (3)
3: PLUS (5)
4: REG_ANY (0)
5: CLOSE1 (7)
7: EXACT <::> (9)
9: END (0)
floating "::" at 1..2147483647 (checking floating) plus minlen 3
Compiling REx "^(?:\w+)$"
rarest char
at 0
synthetic stclass "ANYOF[0-9A-Z_a-z][{unicode_all}]".
Final program:
1: BOL (2)
2: PLUS (4)
3: ALNUM (0)
4: EOL (5)
5: END (0)
floating ""$ at 1..2147483647 (checking floating) stclass ANYOF[0-9A-Z_a-z][{unicode_all}] anchored(BOL) minlen 1
Compiling REx "^Is(?:\s+|[-_])?"
Final program:
1: BOL (2)
2: EXACTF (4)
4: CURLYX[0] {0,1} (23)
6: BRANCH (9)
7: PLUS (22)
8: SPACE (0)
9: BRANCH (FAIL)
10: ANYOF[\-_][] (22)
21: TAIL (22)
22: WHILEM (0)
23: NOTHING (24)
24: END (0)
stclass EXACTF anchored(BOL) minlen 2
Compiling REx "^(?:(?:General(?:\s+|_)?)?Category|gc)\s*[:=]\s*"
Final program:
1: BOL (2)
2: BRANCH (24)
3: CURLYX[0] {0,1} (20)
5: EXACTF (8)
8: CURLYX[0] {0,1} (18)
10: BRANCH (13)
11: PLUS (17)
12: SPACE (0)
13: BRANCH (FAIL)
14: EXACTF <_> (17)
16: TAIL (17)
17: WHILEM (0)
18: NOTHING (19)
19: WHILEM (0)
20: NOTHING (21)
21: EXACTF (28)
24: BRANCH (FAIL)
25: EXACTF (28)
27: TAIL (28)
28: STAR (30)
29: SPACE (0)
30: ANYOF[:=][] (41)
41: STAR (43)
42: SPACE (0)
43: END (0)
anchored(BOL) minlen 3
Compiling REx "^(?:Script|sc)\s*[:=]\s*"
Final program:
1: BOL (2)
2: EXACTF (4)
4: TRIE-EXACTF[Rr] (10)
<>
10: STAR (12)
11: SPACE (0)
12: ANYOF[:=][] (23)
23: STAR (25)
24: SPACE (0)
25: END (0)
stclass EXACTF anchored(BOL) minlen 3
Compiling REx "^Block\s*[:=]\s*"
Final program:
1: BOL (2)
2: EXACTF (5)
5: STAR (7)
6: SPACE (0)
7: ANYOF[:=][] (18)
18: STAR (20)
19: SPACE (0)
20: END (0)
stclass EXACTF anchored(BOL) minlen 6
Compiling REx "^([\w\s]+)[:=]\s*(.*)"
synthetic stclass "ANYOF[\11\12\14\15 0-9A-Z_a-z][+utf8::IsWord +utf8::IsSpacePerl]".
Final program:
1: BOL (2)
2: OPEN1 (4)
4: PLUS (17)
5: ANYOF[\11\12\14\15 0-9A-Z_a-z][+utf8::IsWord +utf8::IsSpacePerl] (0)
17: CLOSE1 (19)
19: ANYOF[:=][] (30)
30: STAR (32)
31: SPACE (0)
32: OPEN2 (34)
34: STAR (36)
35: REG_ANY (0)
36: CLOSE2 (38)
38: END (0)
stclass ANYOF[\11\12\14\15 0-9A-Z_a-z][+utf8::IsWord +utf8::IsSpacePerl] anchored(BOL) minlen 2
Compiling REx "(?<=[a-z\d])(?:\s+|[-_])(?=[a-z\d])"
Final program:
1: IFMATCH[-1] (17)
3: ANYOF[0-9a-z][+utf8::IsDigit] (15)
15: SUCCEED (0)
16: TAIL (17)
17: BRANCH (20)
18: PLUS (33)
19: SPACE (0)
20: BRANCH (FAIL)
21: ANYOF[\-_][] (33)
32: TAIL (33)
33: IFMATCH[0] (49)
35: ANYOF[0-9a-z][+utf8::IsDigit] (47)
47: SUCCEED (0)
48: TAIL (49)
49: END (0)
minlen 1
Compiling REx "^To(?:\w+)$"
rarest char
at 0
rarest char T at 0
Final program:
1: BOL (2)
2: EXACT (4)
4: PLUS (6)
5: ALNUM (0)
6: EOL (7)
7: END (0)
anchored "To" at 0 floating ""$ at 3..2147483647 (checking anchored) anchored(BOL) minlen 3
Compiling REx "^To(Digit|Fold|Lower|Title|Upper)$"
rarest char
at 0
rarest char T at 0
Final program:
1: BOL (2)
2: EXACT (4)
4: OPEN1 (6)
6: TRIEC-EXACT[DFLTU] (25)
25: CLOSE1 (27)
27: EOL (28)
28: END (0)
anchored "To" at 0 floating ""$ at 6..7 (checking anchored) anchored(BOL) minlen 6
Compiling REx "^"
Final program:
1: MBOL (2)
2: END (0)
stclass END anchored(MBOL) minlen 0
Compiling REx "^[^0-9a-fA-F]"
Final program:
1: BOL (2)
2: ANYOF[\0-/:-@G-`g-\377][{unicode_all}] (13)
13: END (0)
stclass ANYOF[\0-/:-@G-`g-\377][{unicode_all}] anchored(BOL) minlen 1
Compiling REx "^([0-9a-fA-F]+)"
synthetic stclass "ANYOF[0-9A-Fa-f][]".
Final program:
1: BOL (2)
2: OPEN1 (4)
4: PLUS (16)
5: ANYOF[0-9A-Fa-f][] (0)
16: CLOSE1 (18)
18: END (0)
stclass ANYOF[0-9A-Fa-f][] anchored(BOL) minlen 1
Compiling REx "^([0-9a-fA-F]+)"
synthetic stclass "ANYOF[0-9A-Fa-f][]".
Final program:
1: BOL (2)
2: OPEN1 (4)
4: PLUS (16)
5: ANYOF[0-9A-Fa-f][] (0)
16: CLOSE1 (18)
18: END (0)
stclass ANYOF[0-9A-Fa-f][] anchored(BOL) minlen 1
Compiling REx "\tXXXX$"
rarest char X at 1
Final program:
1: EXACT <\tXXXX> (4)
4: MEOL (5)
5: END (0)
anchored "%tXXXX"$ at 0 (checking anchored isall) minlen 5
Compiling REx "^([0-9a-fA-F]+)(?:[\t]([0-9a-fA-F]+)?)(?:[ \t]([0-9a-fA-F]+)"...
rarest char at 0
synthetic stclass "ANYOF[0-9A-Fa-f][]".
Final program:
1: MBOL (2)
2: OPEN1 (4)
4: PLUS (16)
5: ANYOF[0-9A-Fa-f][] (0)
16: CLOSE1 (18)
18: EXACT <\t> (20)
20: CURLYX[1] {0,1} (39)
22: OPEN2 (24)
24: PLUS (36)
25: ANYOF[0-9A-Fa-f][] (0)
36: CLOSE2 (38)
38: WHILEM (0)
39: NOTHING (40)
40: CURLYX[2] {0,1} (70)
42: ANYOF[\11 ][] (53)
53: OPEN3 (55)
55: PLUS (67)
56: ANYOF[0-9A-Fa-f][] (0)
67: CLOSE3 (69)
69: WHILEM (0)
70: NOTHING (71)
71: END (0)
floating "%t" at 1..2147483647 (checking floating) stclass ANYOF[0-9A-Fa-f][] anchored(MBOL) minlen 2
Compiling REx "^([^0-9a-fA-F\n])(.*)"
synthetic stclass "ANYOF[\0-\11\13-/:-@G-`g-\377][{unicode_all}]".
Final program:
1: MBOL (2)
2: OPEN1 (4)
4: ANYOF[\0-\11\13-/:-@G-`g-\377][{unicode_all}] (15)
15: CLOSE1 (17)
17: OPEN2 (19)
19: STAR (21)
20: REG_ANY (0)
21: CLOSE2 (23)
23: END (0)
stclass ANYOF[\0-\11\13-/:-@G-`g-\377][{unicode_all}] anchored(MBOL) minlen 1
Compiling REx "[-+!&]"
Final program:
1: ANYOF[!&+\-][] (12)
12: END (0)
stclass ANYOF[!&+\-][] minlen 1
Compiling REx "::"
rarest char : at 0
Final program:
1: EXACT <::> (3)
3: END (0)
anchored "::" at 0 (checking anchored isall) minlen 2
Compiling REx "^([0-9a-fA-F]+)"
synthetic stclass "ANYOF[0-9A-Fa-f][]".
Final program:
1: BOL (2)
2: OPEN1 (4)
4: PLUS (16)
5: ANYOF[0-9A-Fa-f][] (0)
16: CLOSE1 (18)
18: END (0)
stclass ANYOF[0-9A-Fa-f][] anchored(BOL) minlen 1
failed...
0 <> <Attenti> | 6:BRANCH(8)
0 <> <Attenti> | 7: BOUND(8)
failed...
BRANCH failed...
1 <<> Attentio> | 1:OPEN1(3)
1 <<> Attentio> | 3:BRANCH(6)
1 <<> Attentio> | 4: EXACTF < >(8)
failed...
1 <<> Attentio> | 6:BRANCH(8)
1 <<> Attentio> | 7: BOUND(8)
1 <<> Attentio> | 8: CLOSE1(10)
1 <<> Attentio> | 10: OPEN2(12)
1 <<> Attentio> | 12: TRIE-EXACTF[HWhw](19)
1 <<> Attentio> | State: 1 Accepted: 0 Charid: 0 CP: 61 After State: 0
failed...
BRANCH failed...
2 < <>Attention> | 1:OPEN1(3)
2 < <>Attention> | 3:BRANCH(6)
2 < <>Attention> | 4: EXACTF < >(8)
failed...
2 < <>Attention> | 6:BRANCH(8)
2 < <>Attention> | 7: BOUND(8)
2 < <>Attention> | 8: CLOSE1(10)
2 < <>Attention> | 10: OPEN2(12)
2 < <>Attention> | 12: TRIE-EXACTF[HWhw](19)
2 < <>Attention> | State: 1 Accepted: 0 Charid: 0 CP: 3e After State: 0
failed...
BRANCH failed...
3 <> | 1:OPEN1(3)
3 <> | 3:BRANCH(6)
3 <> | 4: EXACTF < >(8)
failed...
3 <> | 6:BRANCH(8)
3 <> | 7: BOUND(8)
3 <> | 8: CLOSE1(10)
3 <> | 10: OPEN2(12)
3 <> | 12: TRIE-EXACTF[HWhw](19)
3 <> | State: 1 Accepted: 0 Charid: 0 CP: 61 After State: 0
failed...
BRANCH failed...
4 <A> | 1:OPEN1(3)
4 <A> | 3:BRANCH(6)
4 <A> | 4: EXACTF < >(8)
failed...
4 <A> | 6:BRANCH(8)
4 <A> | 7: BOUND(8)
failed...
BRANCH failed...
5 <At> | 1:OPEN1(3)
5 <At> | 3:BRANCH(6)
5 <At> | 4: EXACTF < >(8)
failed...
5 <At> | 6:BRANCH(8)
5 <At> | 7: BOUND(8)
failed...
BRANCH failed...
6 Att> | 1:OPEN1(3)
6 Att> | 3:BRANCH(6)
6 Att> | 4: EXACTF < >(8)
failed...
6 Att> | 6:BRANCH(8)
6 Att> | 7: BOUND(8)
failed...
BRANCH failed...
7 <>Atte> | 1:OPEN1(3)
7 <>Atte> | 3:BRANCH(6)
7 <>Atte> | 4: EXACTF < >(8)
failed...
7 <>Atte> | 6:BRANCH(8)
7 <>Atte> | 7: BOUND(8)
failed...
BRANCH failed...
8 | 1:OPEN1(3)
8 | 3:BRANCH(6)
8 | 4: EXACTF < >(8)
failed...
8 | 6:BRANCH(8)
8 | 7: BOUND(8)
failed...
BRANCH failed...
9 | 1:OPEN1(3)
9 | 3:BRANCH(6)
9 | 4: EXACTF < >(8)
failed...
9 | 6:BRANCH(8)
9 | 7: BOUND(8)
failed...
BRANCH failed...
10 | 1:OPEN1(3)
10 | 3:BRANCH(6)
10 | 4: EXACTF < >(8)
failed...
10 | 6:BRANCH(8)
10 | 7: BOUND(8)
failed...
BRANCH failed...
11 | 1:OPEN1(3)
11 | 3:BRANCH(6)
11 | 4: EXACTF < >(8)
failed...
11 | 6:BRANCH(8)
11 | 7: BOUND(8)
failed...
BRANCH failed...
12 < Home> | 1:OPEN1(3)
12 < Home> | 3:BRANCH(6)
12 < Home> | 4: EXACTF < >(8)
13 | 8: CLOSE1(10)
13 | 10: OPEN2(12)
13 | 12: TRIE-EXACTF[HWhw](19)
13 | State: 1 Accepted: 0 Charid: 1 CP: 68 After State: 2
14 | State: 2 Accepted: 0 Charid: 0 CP: 6f After State: 0
failed...
12 < Home> | 6:BRANCH(8)
12 < Home> | 7: BOUND(8)
12 < Home> | 8: CLOSE1(10)
12 < Home> | 10: OPEN2(12)
12 < Home> | 12: TRIE-EXACTF[HWhw](19)
12 < Home> | State: 1 Accepted: 0 Charid: 0 CP: 20 After State: 0
failed...
BRANCH failed...
13 | 1:OPEN1(3)
13 | 3:BRANCH(6)
13 | 4: EXACTF < >(8)
failed...
13 | 6:BRANCH(8)
13 | 7: BOUND(8)
13 | 8: CLOSE1(10)
13 | 10: OPEN2(12)
13 | 12: TRIE-EXACTF[HWhw](19)
13 | State: 1 Accepted: 0 Charid: 1 CP: 68 After State: 2
14 | State: 2 Accepted: 0 Charid: 0 CP: 6f After State: 0
failed...
BRANCH failed...
14 | 1:OPEN1(3)
14 | 3:BRANCH(6)
14 | 4: EXACTF < >(8)
failed...
14 | 6:BRANCH(8)
14 | 7: BOUND(8)
failed...
BRANCH failed...
15 | 1:OPEN1(3)
15 | 3:BRANCH(6)
15 | 4: EXACTF < >(8)
failed...
15 | 6:BRANCH(8)
15 | 7: BOUND(8)
failed...
BRANCH failed...
16 | 1:OPEN1(3)
16 | 3:BRANCH(6)
16 | 4: EXACTF < >(8)
failed...
16 | 6:BRANCH(8)
16 | 7: BOUND(8)
failed...
BRANCH failed...
17 < Home> <%x{3bf}> | 1:OPEN1(3)
17 < Home> <%x{3bf}> | 3:BRANCH(6)
17 < Home> <%x{3bf}> | 4: EXACTF < >(8)
failed...
17 < Home> <%x{3bf}> | 6:BRANCH(8)
17 < Home> <%x{3bf}> | 7: BOUND(8)
failed...
BRANCH failed...
19 <%x{3c9}n> | 1:OPEN1(3)
19 <%x{3c9}n> | 3:BRANCH(6)
19 <%x{3c9}n> | 4: EXACTF < >(8)
failed...
19 <%x{3c9}n> | 6:BRANCH(8)
19 <%x{3c9}n> | 7: BOUND(8)
failed...
BRANCH failed...
21 | 1:OPEN1(3)
21 | 3:BRANCH(6)
21 | 4: EXACTF < >(8)
failed...
21 | 6:BRANCH(8)
21 | 7: BOUND(8)
failed...
BRANCH failed...
22 <%x{3bf}%x{3c9}n> <%x{4e9}rs.>| 1:OPEN1(3)
22 <%x{3bf}%x{3c9}n> <%x{4e9}rs.>| 3:BRANCH(6)
22 <%x{3bf}%x{3c9}n> <%x{4e9}rs.>| 4: EXACTF < >(8)
failed...
22 <%x{3bf}%x{3c9}n> <%x{4e9}rs.>| 6:BRANCH(8)
22 <%x{3bf}%x{3c9}n> <%x{4e9}rs.>| 7: BOUND(8)
failed...
BRANCH failed...
24 <%x{3c9}n%x{4e9}> | 1:OPEN1(3)
24 <%x{3c9}n%x{4e9}> | 3:BRANCH(6)
24 <%x{3c9}n%x{4e9}> | 4: EXACTF < >(8)
failed...
24 <%x{3c9}n%x{4e9}> | 6:BRANCH(8)
24 <%x{3c9}n%x{4e9}> | 7: BOUND(8)
failed...
BRANCH failed...
25 <%x{3c9}n%x{4e9}r> | 1:OPEN1(3)
25 <%x{3c9}n%x{4e9}r> | 3:BRANCH(6)
25 <%x{3c9}n%x{4e9}r> | 4: EXACTF < >(8)
failed...
25 <%x{3c9}n%x{4e9}r> | 6:BRANCH(8)
25 <%x{3c9}n%x{4e9}r> | 7: BOUND(8)
failed...
BRANCH failed...
26 <...1> | 1:OPEN1(3)
26 <...1> | 3:BRANCH(6)
26 <...1> | 4: EXACTF < >(8)
failed...
26 <...1> | 6:BRANCH(8)
26 <...1> | 7: BOUND(8)
26 <...1> | 8: CLOSE1(10)
26 <...1> | 10: OPEN2(12)
26 <...1> | 12: TRIE-EXACTF[HWhw](19)
26 <...1> | State: 1 Accepted: 0 Charid: 6 CP: 2e After State: 0
failed...
BRANCH failed...
27 <%x{4e9}rs.> <..1%x{455}>| 1:OPEN1(3)
27 <%x{4e9}rs.> <..1%x{455}>| 3:BRANCH(6)
27 <%x{4e9}rs.> <..1%x{455}>| 4: EXACTF < >(8)
failed...
27 <%x{4e9}rs.> <..1%x{455}>| 6:BRANCH(8)
27 <%x{4e9}rs.> <..1%x{455}>| 7: BOUND(8)
failed...
BRANCH failed...
28 <%x{4e9}rs..> <.1%x{455}t>| 1:OPEN1(3)
28 <%x{4e9}rs..> <.1%x{455}t>| 3:BRANCH(6)
28 <%x{4e9}rs..> <.1%x{455}t>| 4: EXACTF < >(8)
failed...
28 <%x{4e9}rs..> <.1%x{455}t>| 6:BRANCH(8)
28 <%x{4e9}rs..> <.1%x{455}t>| 7: BOUND(8)
failed...
BRANCH failed...
29 <1%x{455}t > | 1:OPEN1(3)
29 <1%x{455}t > | 3:BRANCH(6)
29 <1%x{455}t > | 4: EXACTF < >(8)
failed...
29 <1%x{455}t > | 6:BRANCH(8)
29 <1%x{455}t > | 7: BOUND(8)
29 <1%x{455}t > | 8: CLOSE1(10)
29 <1%x{455}t > | 10: OPEN2(12)
29 <1%x{455}t > | 12: TRIE-EXACTF[HWhw](19)
29 <1%x{455}t > | State: 1 Accepted: 0 Charid: 0 CP: 31 After State: 0
failed...
BRANCH failed...
30 <%x{455}t T> | 1:OPEN1(3)
30 <%x{455}t T> | 3:BRANCH(6)
30 <%x{455}t T> | 4: EXACTF < >(8)
failed...
30 <%x{455}t T> | 6:BRANCH(8)
30 <%x{455}t T> | 7: BOUND(8)
failed...
BRANCH failed...
32 <..1%x{455}> | 1:OPEN1(3)
32 <..1%x{455}> | 3:BRANCH(6)
32 <..1%x{455}> | 4: EXACTF < >(8)
failed...
32 <..1%x{455}> | 6:BRANCH(8)
32 <..1%x{455}> | 7: BOUND(8)
failed...
BRANCH failed...
33 <.1%x{455}t> < T%x{456}>| 1:OPEN1(3)
33 <.1%x{455}t> < T%x{456}>| 3:BRANCH(6)
33 <.1%x{455}t> < T%x{456}>| 4: EXACTF < >(8)
34 <1%x{455}t > | 8: CLOSE1(10)
34 <1%x{455}t > | 10: OPEN2(12)
34 <1%x{455}t > | 12: TRIE-EXACTF[HWhw](19)
34 <1%x{455}t > | State: 1 Accepted: 0 Charid: 2 CP: 74 After State: 0
failed...
33 <.1%x{455}t> < T%x{456}>| 6:BRANCH(8)
33 <.1%x{455}t> < T%x{456}>| 7: BOUND(8)
33 <.1%x{455}t> < T%x{456}>| 8: CLOSE1(10)
33 <.1%x{455}t> < T%x{456}>| 10: OPEN2(12)
33 <.1%x{455}t> < T%x{456}>| 12: TRIE-EXACTF[HWhw](19)
33 <.1%x{455}t> < T%x{456}>| State: 1 Accepted: 0 Charid: 0 CP: 20 After State: 0
failed...
BRANCH failed...
34 <1%x{455}t > | 1:OPEN1(3)
34 <1%x{455}t > | 3:BRANCH(6)
34 <1%x{455}t > | 4: EXACTF < >(8)
failed...
34 <1%x{455}t > | 6:BRANCH(8)
34 <1%x{455}t > | 7: BOUND(8)
34 <1%x{455}t > | 8: CLOSE1(10)
34 <1%x{455}t > | 10: OPEN2(12)
34 <1%x{455}t > | 12: TRIE-EXACTF[HWhw](19)
34 <1%x{455}t > | State: 1 Accepted: 0 Charid: 2 CP: 74 After State: 0
failed...
BRANCH failed...
35 <%x{455}t T> <%x{456}> | 1:OPEN1(3)
35 <%x{455}t T> <%x{456}> | 3:BRANCH(6)
35 <%x{455}t T> <%x{456}> | 4: EXACTF < >(8)
failed...
35 <%x{455}t T> <%x{456}> | 6:BRANCH(8)
35 <%x{455}t T> <%x{456}> | 7: BOUND(8)
failed...
BRANCH failed...
37 <%x{43c}e E>| 1:OPEN1(3)
37 <%x{43c}e E>| 3:BRANCH(6)
37 <%x{43c}e E>| 4: EXACTF < >(8)
failed...
37 <%x{43c}e E>| 6:BRANCH(8)
37 <%x{43c}e E>| 7: BOUND(8)
failed...
BRANCH failed...
39