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
No, 64 bit. Could it be due to the build in the Docker container?
Sorry, replied too quickly. The protobufs encoding specifies to use int32 for Int values. The mirage server has 64-bit wide int values, so when encoding int64 to int32 there's potential for overflow.
Hmmhmm, I don't know what we can do about that when the problem seems to come from protobuf. Do you want a specific behavior from the unikernel about that? Note than in OCaml (in 64 bits architecture), the integer has 63 bits available - so if you want a 64 bits integer, it's better to use int64 (however, this value is boxed at the runtime).
The width of the type
int
differs between evaluation and protobufs encoding. The protobufs encoding usesint32
, the evaluator uses a wider type.E.g. the following program (
int_max + 1
)Produces the following log on the server (no overflow):
But returns the value
-2147483648
(overflow).These should probably agree to avoid subtle bugs when interacting with the server.
The text was updated successfully, but these errors were encountered: