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: 7474 Reporter: gerd Assigned to:@mshinwell Status: resolved (set by @xavierleroy on 2017-02-16T10:07:00Z) Resolution: fixed Priority: high Severity: crash Version: 4.04.0 Fixed in version: 4.05.0 +dev/beta1/beta2/beta3/rc1 Category: back end (clambda to assembly) Duplicate of:#7426
Bug description
Currently, ocamlnet cannot be built with 4.04+flambda:
Fatal error: Assignment of a float to a specialised non-float array: (array.unsafe_set[addr]<>
self/5708
timeout/5703
Parraysetu_arg/5735)
Steps to reproduce
opam install ocamlnet
Additional information
Apparently, this has to do with the mutable field "timeout" in Rpc_transport.internal_rpc_multiplex_controller, which is a float. The build continues when I change the type of the field into something that is not directly a float (e.g. into a float ref). (However, the build fails then with the same error in a different file - could it be that flambda was never really tested with objects?)
The code looks like:
let internal_rpc_multiplex_controller
?(dbg_name = ref "")
?(close_inactive_descr=false)
?(preclose=fun() -> ())
rd_pipe wr_pipe esys
: rpc_multiplex_controller =
let sockaddr = `Implied in
object(self)
val mutable alive = true
val mutable rd_engine = None
val mutable rd_eof = false
val mutable wr_engine = None
val mutable timeout = (-1.0) (* THIS FIELD CAUSES THE ERROR *)
val mutable tmo_notify = (fun () -> ())
...
end
The text was updated successfully, but these errors were encountered:
Original bug ID: 7474
Reporter: gerd
Assigned to: @mshinwell
Status: resolved (set by @xavierleroy on 2017-02-16T10:07:00Z)
Resolution: fixed
Priority: high
Severity: crash
Version: 4.04.0
Fixed in version: 4.05.0 +dev/beta1/beta2/beta3/rc1
Category: back end (clambda to assembly)
Duplicate of: #7426
Bug description
Currently, ocamlnet cannot be built with 4.04+flambda:
ocamlfind ocamlopt -g -safe-string -I ../../src/equeue -I ../../src/netsys -I ../../src/netstring -I ../../src/netgssapi -package "bytes unix" -pp "../../tools/cppo-0.9.4/cppo -include ../../config.cppo -D HAVE_BYTES " -w -25 -c rpc_transport.ml
Steps to reproduce
opam install ocamlnet
Additional information
Apparently, this has to do with the mutable field "timeout" in Rpc_transport.internal_rpc_multiplex_controller, which is a float. The build continues when I change the type of the field into something that is not directly a float (e.g. into a float ref). (However, the build fails then with the same error in a different file - could it be that flambda was never really tested with objects?)
The code looks like:
let internal_rpc_multiplex_controller
?(dbg_name = ref "")
?(close_inactive_descr=false)
?(preclose=fun() -> ())
rd_pipe wr_pipe esys
: rpc_multiplex_controller =
let sockaddr = `Implied in
object(self)
val mutable alive = true
val mutable rd_engine = None
val mutable rd_eof = false
val mutable wr_engine = None
val mutable timeout = (-1.0) (* THIS FIELD CAUSES THE ERROR *)
val mutable tmo_notify = (fun () -> ())
...
end
The text was updated successfully, but these errors were encountered: