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: 2639 Reporter: administrator Status: closed Resolution: fixed Priority: normal Severity: minor Category: ~DO NOT USE (was: OCaml general)
Bug description
Hi,
there is a serious bug in the byte code compiler and/or runtime which
leads to crashing executables. I have tested the following example
code on Linux with both version 3.07+2 and 3.07+19 (segfault and illegal
instruction respectively):
module type S = sig
val f1 : unit -> unit
end
module MakeA (S : sig end) = struct
let f1 () = ()
let f2 () = ()
let f3 () = ()
let f4 () = ()
let f5 () = ()
end
module MakeB (S : sig end) = struct end
module rec A : S = MakeA (B)
and B : sig end = MakeB (struct end)
Note that removing "f1" from signature "S" solves the problem as well
as removing any of the dummy functions in functor "MakeA".
I'd be very grateful if this could be fixed soon in the CVS!
there is a serious bug in the byte code compiler and/or runtime which
leads to crashing executables.
It's an unexpected interaction between the compilation of module
thinning (code unchanged since 1995 :-) and the new "module rec" stuff.
The bug is fixed in the CVS.
Original bug ID: 2639
Reporter: administrator
Status: closed
Resolution: fixed
Priority: normal
Severity: minor
Category: ~DO NOT USE (was: OCaml general)
Bug description
Hi,
there is a serious bug in the byte code compiler and/or runtime which
leads to crashing executables. I have tested the following example
code on Linux with both version 3.07+2 and 3.07+19 (segfault and illegal
instruction respectively):
module type S = sig
val f1 : unit -> unit
end
module MakeA (S : sig end) = struct
let f1 () = ()
let f2 () = ()
let f3 () = ()
let f4 () = ()
let f5 () = ()
end
module MakeB (S : sig end) = struct end
module rec A : S = MakeA (B)
and B : sig end = MakeB (struct end)
Note that removing "f1" from signature "S" solves the problem as well
as removing any of the dummy functions in functor "MakeA".
I'd be very grateful if this could be fixed soon in the CVS!
Best regards,
Markus
--
Markus Mottl http://www.oefai.at/~markus markus@oefai.at
The text was updated successfully, but these errors were encountered: