You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Original bug ID: 4517 Reporter:@mjambon Assigned to:@maranget Status: closed (set by @xavierleroy on 2010-04-29T12:25:58Z) Resolution: fixed Priority: normal Severity: crash Version: 3.10.1 Fixed in version: 3.11+dev Category: ~DO NOT USE (was: OCaml general) Monitored by:@yakobowski
Bug description
Program below ends with a segfault. Haven't found a shorter version.
Small variations in the program can make it work or not (ending with an exception would be fine). The behavior appears to be the same for a given program regardless of the ocaml version (3.09.3 or 3.10.1). Same behavior is observed with bytecode and native code.
$ uname -a
Linux martin 2.6.23-gentoo-r3 #2 SMP Tue Jan 15 23:08:34 CET 2008 x86_64 AMD Turion(tm) 64 X2 Mobile Technology TL-50 AuthenticAMD GNU/Linux
$ cat toto.mll
(*
Here's the full program.
Compile with:
rule line = parse
| "====" x y { line lexbuf }
| "===" x y { line lexbuf }
| "==" x y { line lexbuf }
| "=" x y { line lexbuf }
| "{{{" x y { verbatim [x] lexbuf }
| x y { line lexbuf }
and verbatim accu = parse
"}}}" y { ignore (List.rev accu) }
| x y { verbatim (x :: accu) lexbuf }
{
let _ = line (Lexing.from_string "{{{ }}} ")
}
The text was updated successfully, but these errors were encountered:
Original bug ID: 4517
Reporter: @mjambon
Assigned to: @maranget
Status: closed (set by @xavierleroy on 2010-04-29T12:25:58Z)
Resolution: fixed
Priority: normal
Severity: crash
Version: 3.10.1
Fixed in version: 3.11+dev
Category: ~DO NOT USE (was: OCaml general)
Monitored by: @yakobowski
Bug description
Program below ends with a segfault. Haven't found a shorter version.
Small variations in the program can make it work or not (ending with an exception would be fine). The behavior appears to be the same for a given program regardless of the ocaml version (3.09.3 or 3.10.1). Same behavior is observed with bytecode and native code.
$ uname -a
Linux martin 2.6.23-gentoo-r3 #2 SMP Tue Jan 15 23:08:34 CET 2008 x86_64 AMD Turion(tm) 64 X2 Mobile Technology TL-50 AuthenticAMD GNU/Linux
$ cat toto.mll
(*
Here's the full program.
Compile with:
ocamllex toto.mll
ocamlc -g -o toto.run -rectypes toto.ml
ocamlopt -o toto -rectypes toto.ml
Run it without arguments.
*)
let x = [^' ']* as x
let y = 'A'? ' '
rule line = parse
| "====" x y { line lexbuf }
| "===" x y { line lexbuf }
| "==" x y { line lexbuf }
| "=" x y { line lexbuf }
| "{{{" x y { verbatim [x] lexbuf }
| x y { line lexbuf }
and verbatim accu = parse
"}}}" y { ignore (List.rev accu) }
| x y { verbatim (x :: accu) lexbuf }
{
let _ = line (Lexing.from_string "{{{ }}} ")
}
The text was updated successfully, but these errors were encountered: