strace: Process 31181 attached

;;; (lines ("munmap(0x7fb1fc67b000, 10)              = 0" "munmap(0x7fb1fc684000, 11)              = 0" ""))
test-name: manual munmap does not lead to double free
location: /home/maxim/src/guix/tests/syscalls.scm:753
source:
+ (test-equal
+   "manual munmap does not lead to double free"
+   1
+   (begin
+     (define mmap-address #f)
+     (call-with-output-file
+       temp-file
+       (lambda (p)
+         (display "something interesting\n" p)))
+     (sync)
+     (system
+       (string-append
+         "strace -o "
+         strace-output
+         " -p "
+         (number->string (getpid))
+         " -e trace=munmap &"))
+     (let ((bv (file->bytevector temp-file)))
+       (munmap bv))
+     (gc)
+     (sync)
+     (let ((text (call-with-input-file
+                   strace-output
+                   get-string-all)))
+       (length
+         (filter
+           (cut string-prefix? "munmap(0x" <>)
+           (pk 'lines (string-split text #\newline)))))))
expected-value: 1
actual-value: 2
result: FAIL

Generated by apteryx using scpaste at Mon Oct 27 22:51:37 2025. JST. (original)