Conversation
Notices
-
Embed this notice
@marcan @javierg
> The language matters because segfaulting on invalid input only happens in memory unsafe languages.
but the error is PAGE_FAULT_IN_NONPAGED_AREA
Code you write does not get to handle this error gracefully. This is the kernel shooting it in the head. This is not something Rust magically solves. I literally reported an issue a couple weeks ago to a Rust program that was having this same problem on FreeBSD
pid 10464 (qdrant), jid 113, uid 0: exited on signal 11 (no core dump - bad address)
pid 14270 (qdrant), jid 113, uid 0: exited on signal 11 (no core dump - bad address)
pid 16531 (qdrant), jid 113, uid 0: exited on signal 11 (no core dump - bad address)
pid 19441 (qdrant), jid 113, uid 0: exited on signal 11 (no core dump - bad address)
- Haelwenn /элвэн/ :triskell: likes this.
-
Embed this notice
@feld @SlicerDicer @javierg @marcan I am assuming freertos doesn’t have process isolation since it’s running on microcontrollers? An out of bounds write would just corrupt stuff that maybe would crash later
-
Embed this notice
@SlicerDicer @javierg @marcan yeah but you're working in a RTOS with a microcontroller which is a much more constrained environment where you're probably doing static memory allocations too -- completely different computing environment
-
Embed this notice
@feld @marcan @javierg What about the life support system I’m building that is not memory safe.
It’s a matter of handling gracefully yes. That’s all it truly is. Whatever that condition may be. It’s the job of the developer to ensure this is robust enough.