digitalmars.D.bugs - [Issue 7045] New: AssertError in std.regex on line 1573
- d-bugmail puremagic.com (54/54) Dec 01 2011 http://d.puremagic.com/issues/show_bug.cgi?id=7045
- d-bugmail puremagic.com (7/7) Dec 01 2011 http://d.puremagic.com/issues/show_bug.cgi?id=7045
- d-bugmail puremagic.com (22/22) Dec 01 2011 http://d.puremagic.com/issues/show_bug.cgi?id=7045
- d-bugmail puremagic.com (7/7) Dec 01 2011 http://d.puremagic.com/issues/show_bug.cgi?id=7045
- d-bugmail puremagic.com (6/6) Dec 06 2011 http://d.puremagic.com/issues/show_bug.cgi?id=7045
- d-bugmail puremagic.com (7/7) Dec 06 2011 http://d.puremagic.com/issues/show_bug.cgi?id=7045
- d-bugmail puremagic.com (10/10) Dec 09 2011 http://d.puremagic.com/issues/show_bug.cgi?id=7045
http://d.puremagic.com/issues/show_bug.cgi?id=7045 Summary: AssertError in std.regex on line 1573 Product: D Version: unspecified Platform: All OS/Version: Linux Status: NEW Severity: critical Priority: P2 Component: Phobos AssignedTo: nobody puremagic.com ReportedBy: jmdavisProg gmx.com --- Comment #0 from Jonathan M Davis <jmdavisProg gmx.com> 2011-12-01 13:01:31 PST --- Created an attachment (id=1049) D program which fails Running the attached program with the attached file (using the latest dmd, druntime, and Phobos), results in this Assertion failure: core.exception.AssertError std.regex(1573): Assertion failure ---------------- ./relayhosts_orig(_d_assertm+0x2a) [0x4d27aa] ./relayhosts_orig() [0x4d698d] ./relayhosts_orig( safe std.typecons.Tuple!(std.internal.uni.CodepointSet, std.regex.Parser!(immutable(char)[]).Parser.Operator).Tuple std.regex.Parser!(immutable(char)[]).Parser.parseCharTerm()+0x60a) [0x4a04ae] ./relayhosts_orig( safe void std.regex.Parser!(immutable(char)[]).Parser.parseCharset()+0x1f1) [0x4a0ac1] ./relayhosts_orig( safe void std.regex.Parser!(immutable(char)[]).Parser.parseAtom()+0xf4) [0x49fa18] ./relayhosts_orig( trusted void std.regex.Parser!(immutable(char)[]).Parser.parseRegex()+0xb59) [0x49eb91] ./relayhosts_orig( trusted std.regex.Parser!(immutable(char)[]).Parser std.regex.Parser!(immutable(char)[]).Parser.__ctor!(const(char)[]).__ctor(immutable(char)[], const(char)[])+0x6a) [0x4aeee2] ./relayhosts_orig( safe std.regex.Regex!(char).Regex std.regex.regex!(immutable(char)[]).regex(immutable(char)[], const(char)[])+0x40) [0x49d8a8] ./relayhosts_orig(_Dmain+0x3b) [0x49d517] ./relayhosts_orig(extern (C) int rt.dmain2.main(int, char**).void runMain()+0x17) [0x4d2ddf] ./relayhosts_orig(extern (C) int rt.dmain2.main(int, char**).void tryExec(scope void delegate())+0x2a) [0x4d2986] ./relayhosts_orig(extern (C) int rt.dmain2.main(int, char**).void runAll()+0x42) [0x4d2e32] ./relayhosts_orig(extern (C) int rt.dmain2.main(int, char**).void tryExec(scope void delegate())+0x2a) [0x4d2986] ./relayhosts_orig(main+0xd3) [0x4d2917] /lib/libc.so.6(__libc_start_main+0xed) [0x7f3dc4bc317d] It happens on both 32-bit and 64-bit Linux. I don't know if it happens on other OSes (though I assume that it does). I was trying to run an example from the newsgroup to benchmark the old std.regex vs the new one, and while the old one worked, the new one failed with the AssertError. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 01 2011
http://d.puremagic.com/issues/show_bug.cgi?id=7045 --- Comment #1 from Jonathan M Davis <jmdavisProg gmx.com> 2011-12-01 13:03:30 PST --- Created an attachment (id=1050) Test file that I passed to the D program. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 01 2011
http://d.puremagic.com/issues/show_bug.cgi?id=7045 Trass3r <mrmocool gmx.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mrmocool gmx.de --- Comment #2 from Trass3r <mrmocool gmx.de> 2011-12-01 17:22:52 PST --- Why so complicated? import std.regex; void main() { auto pattern = regex(r"^(import|file|binary|config)\s+([^\(]+)\(?([^\)]*)\)?\s*$"); } Taken from rdmd. It fails cause it rejects \( I suggest to turn line 1573 of regex.d (after case State.Escape: switch(current)) into 'assert(0, "Unsupported escape character \\"~cast(char)current);' so one gets a proper error message. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 01 2011
http://d.puremagic.com/issues/show_bug.cgi?id=7045 --- Comment #3 from Jonathan M Davis <jmdavisProg gmx.com> 2011-12-01 17:27:49 PST --- It was someone else's program, and I was in a hurry, so I didn't have time to reduce it properly. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 01 2011
http://d.puremagic.com/issues/show_bug.cgi?id=7045 --- Comment #4 from Trass3r <mrmocool gmx.de> 2011-12-06 03:14:54 PST --- btw, isn't this a regression? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 06 2011
http://d.puremagic.com/issues/show_bug.cgi?id=7045 --- Comment #5 from Trass3r <mrmocool gmx.de> 2011-12-06 04:06:55 PST --- Seems like it was fixed in the meantime. http://www.mail-archive.com/digitalmars-d puremagic.com/msg70809.html -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 06 2011
http://d.puremagic.com/issues/show_bug.cgi?id=7045 Dmitry Olshansky <dmitry.olsh gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |dmitry.olsh gmail.com Resolution| |FIXED -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 09 2011