Skip to content

Round-trip integer conversion fails on Alpine Linux #57

@paurkedal

Description

@paurkedal

I encountered this while setting up GitLab Actions (#56). This seems different from #31, but may possibly be addressed by the same fix. Considering the hexadecimal representation of the integers involved, 0xF4BB4D1 becomes 0x7972000F4BB4D1, it looks like it's getting data from uninitialized memory.

The errors cited below is from https://github.com/paurkedal/ocaml-mariadb/actions/runs/10774054160/job/29875219295 which uses the opam:alpine-ocaml-5.0 container and the same occurs for opam:alpine-ocaml-4.07.

Run sudo -u opam --preserve-env=OCAML_MARIADB_HOST,OCAML_MARIADB_PORT,OCAML_MARIADB_USER,OCAML_MARIADB_PASS,OCAML_MARIADB_DB,OCAML_MARIADB_QUERY opam exec -- dune runtest
#rows: 1
---
       'hello ' || ? 0
done
#rows: 1
---
       'hello ' || ? 0
File "examples/select/dune", line 4, characters 4-34:
4 |     nonblocking_select_stress_test)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Parameter (256619729 : int) came back as (34183816764175569 : int).
>>> 1
#rows: 1
---
       'hello ' || ? 0
File "examples/lwt/dune", line 4, characters 4-31:
4 |     nonblocking_lwt_stress_test)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
Parameter (879053180 : int) came back as (28538924689607036 : int).
#rows: 1
---
       'hello ' || ? 0
File "examples/async/dune", line 4, characters 4-33:
4 |     nonblocking_async_stress_test)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Parameter (879053180 : int) came back as (28556516875651452 : int).
Error: Process completed with exit code 1.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions