Conversation

Jarkko Sakkinen

Memory safety is somewhat relative. My very early C version of the tracker has segfaulted maybe 1-2 times. Rust had much more memory instability.

Why C version is more stable:

1. If there is a segafault in a C program, for user space program, the full disclosure of the bug takes me like less than 20 minutes, with or without symbols. The binary is simple and as per code generated C is the most WYSIWYG language ever.
2. I can go absolutely sick in QA torture of the executable. There's so many ways you can bomb a C binary and trace everything in eBPF detail if you want, you can symbolic execute it with clang-tidy, Valgrind it etc.

I.e. while there are no federated laws the net result is still favorable for C at least in this project. I'm glad I started this rewrite :-)
1
0
1

@jarkko how did you manage to make your Rust code have memory instability?

1
0
0
Maybe I suck :-) I don't know.
2
0
0
@penguin42 And could be also my limited Rust debugging skills compared to C but yeah it is my leisure time project, so I use C, which I enjoy the most :-)
0
0
0

@jarkko Nah! It seems pretty hard to break memory instability in Rust (without unsafe's); I'm still learning Rust though but I'm using it for anythign where I'm writing new stuff to try and learn it.

1
0
1
@penguin42 This is true and better debugging skills would probably enable me to locate the failing crate :-)
0
0
0