Closed chessai closed 5 years ago
that line is
PM.writeByteArray respBuf 1 (Fixed @'LittleEndian (fromIntegral nextEvent :: Word64))
@andrewthad do you have any insight into this? is this information helpful at all?
Dang it. The response buffer isn't large enough. I only allocate 8 bytes for it because I originally only sent the aliveness. But then I started sending the most recent committed message id as well and forget to resize the buffer accordingly. Fixing this now.
ok, i'll retry when you attempt the fix.
Fixed with 82adfee0725715794701ee672d1708cc46e9ae95. I've confirmed that pinging multiple times in from the repl no longer causes a segfault. Feel free to close this if you don't observe any other segfaults.
your push seems to have also included a change to sockets and primitive-checked, where you have dependencies on filesystem projects (your filesystem). could you fix that by uploading changes of relevant packages to github?
the repl now works. i'll open a separate issue about the fs objects.
i don't know enough about rotera's internals to debug this, but i went ahead and built it against primitive-checked 0.7, stood up
rotera-server
using systemd, and attempted to communicate with the server using the repl more than once. the result was this:So, it looks like the call to
writeByteArray
at src/Rotera/Socket.hs:303:13 is to blame.