Date: Wed, 5 Nov 2008 11:07:15 +0100 (CET) From: Olaf Seibert <olafs@cs.ru.nl> To: FreeBSD-gnats-submit@FreeBSD.org Cc: Olaf Seibert <olafs@cs.ru.nl> Subject: ports/128603: textproc/flex has too small capacity Message-ID: <20081105100715.DB6422E056@twoquid.cs.ru.nl> Resent-Message-ID: <200811051040.mA5Ae6Y6025065@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 128603 >Category: ports >Synopsis: textproc/flex has too small capacity >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Nov 05 10:40:06 UTC 2008 >Closed-Date: >Last-Modified: >Originator: Olaf Seibert >Release: FreeBSD 6.1-RELEASE amd64 >Organization: >Environment: System: FreeBSD twoquid.cs.ru.nl 6.1-RELEASE FreeBSD 6.1-RELEASE #2: Mon Mar 19 15:05:26 CET 2007 root@twoquid.cs.ru.nl:/usr/src/sys/amd64/compile/TWOQUID amd64 >Description: Something from the ports installed textproc/flex but no dependency is recorded so I don't know what it was. Flex version 2.5.35 has a smaller capacity than the base system version 2.5.4, or it is less efficient in processing input rules. I have a flex input file that is handled fine by version 2.5.4 but suddenly failed mysteriously when I upgraded my ports, which installed the later and more limited flex. Also, the Texinfo documentation isn't installed, so I can't look in it to see if there might be some workaround. >How-To-Repeat: The vesion from ports fails: $ /usr/local/bin/flex -pv -i -t morph.l > morph.c flex: input rules are too complicated (>= 32000 NFA states) flex version 2.5.35 usage statistics: scanner options: -iptvI8 -Cem 31000/32000 NFA states 0/1000 DFA states (0 words) 949 rules No backing up 7/40 start conditions 16901 epsilon states, 8918 double epsilon states no character classes 0 state/nextstate pairs created 0/0 unique/duplicate transitions 0/1000 base-def entries created 0/2000 (peak 0) nxt-chk entries created 0/2500 (peak 0) template nxt-chk entries created 0 empty table entries 0 protos created 0 templates created, 0 uses 0/256 equivalence classes created 0/256 meta-equivalence classes created 0 (0 saved) hash collisions, 0 DFAs equal 38 sets of reallocations needed 256 total table entries needed The vesion from the base system works: $ /usr/bin/flex -pv -i -t morph.l > morph.c /usr/bin/flex version 2.5.4 usage statistics: scanner options: -iptvI8 -Cem 28641/29000 NFA states 21996/23000 DFA states (5032166 words) 1567 rules Compressed tables always back-up Beginning-of-line patterns used 7/40 start conditions 8886 epsilon states, 4488 double epsilon states 22/100 character classes needed 157/500 words of storage, 145 reused 614918 state/nextstate pairs created 510844/104074 unique/duplicate transitions 22017/23000 base-def entries created 73510/74000 (peak 73731) nxt-chk entries created 84/2500 (peak 819) template nxt-chk entries created 3 empty table entries 750 protos created 21 templates created, 31 uses 39/256 equivalence classes created 4/256 meta-equivalence classes created 98 (55 saved) hash collisions, 488863 DFAs equal 110 sets of reallocations needed 191349 total table entries needed >Fix: I don't know a fix, I can only deinstall the textproc/flex and hope nothing brings it back next time I upgrade any ports. -Olaf. -- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20081105100715.DB6422E056>