benchmarks/ramspeed compiles (although with warnings in amd64/ssemem.s having "fst" without suffix - should be "fstps" due to addresses), but then do not work. $ ramspeed -b18 RAMspeed/SMP (FreeBSD) v3.5.0 by Rhett M. Hollander and Paul V. Bolotoff, 2002-09 8Gb per pass mode, 2 processes Bus error (core dumped) And under debugger it shows error with jemmaloc: $ gdb /usr/local/bin/ramspeed GNU gdb (GDB) 13.2 [GDB v13.2 for FreeBSD] Copyright (C) 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-portbld-freebsd12.4". Type "show configuration" for configuration details. For bug reporting instructions, please see: <https://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /usr/local/bin/ramspeed... (No debugging symbols found in /usr/local/bin/ramspeed) (gdb) r -b18 Starting program: /usr/local/bin/ramspeed -b18 RAMspeed/SMP (FreeBSD) v3.5.0 by Rhett M. Hollander and Paul V. Bolotoff, 2002-09 8Gb per pass mode, 2 processes [Detaching after fork from child process 77663] Program received signal SIGBUS, Bus error. Object-specific hardware error. 0x000000080055b73c in __je_extents_alloc (tsdn=0x800459090, arena=0x800a00980, r_extent_hooks=0x7fffffffe630, extents=0x800a025c8, new_addr=0x0, size=83886080, pad=4096, alignment=64, slab=<optimized out>, szind=85, zero=0x7fffffffe687, commit=0x7fffffffe62f) at /usr/obj/usr/src/amd64.amd64/lib/libc/jemalloc_extent.c:504 504 /usr/obj/usr/src/amd64.amd64/lib/libc/jemalloc_extent.c: No such file or directory. (gdb) c Continuing. Program terminated with signal SIGBUS, Bus error. The program no longer exists. (gdb) r -b18 Starting program: /usr/local/bin/ramspeed -b18 RAMspeed/SMP (FreeBSD) v3.5.0 by Rhett M. Hollander and Paul V. Bolotoff, 2002-09 8Gb per pass mode, 2 processes [Detaching after fork from child process 77671] Program received signal SIGBUS, Bus error. Object-specific hardware error. 0x000000080055b73c in __je_extents_alloc (tsdn=0x800459090, arena=0x800a00980, r_extent_hooks=0x7fffffffe630, extents=0x800a025c8, new_addr=0x0, size=83886080, pad=4096, alignment=64, slab=<optimized out>, szind=85, zero=0x7fffffffe687, commit=0x7fffffffe62f) at /usr/obj/usr/src/amd64.amd64/lib/libc/jemalloc_extent.c:504 504 /usr/obj/usr/src/amd64.amd64/lib/libc/jemalloc_extent.c: No such file or directory. (gdb) where #0 0x000000080055b73c in __je_extents_alloc (tsdn=0x800459090, arena=0x800a00980, r_extent_hooks=0x7fffffffe630, extents=0x800a025c8, new_addr=0x0, size=83886080, pad=4096, alignment=64, slab=<optimized out>, szind=85, zero=0x7fffffffe687, commit=0x7fffffffe62f) at /usr/obj/usr/src/amd64.amd64/lib/libc/jemalloc_extent.c:504 #1 0x0000000800574fec in __je_arena_extent_alloc_large (tsdn=0x800459090, arena=0x800a00980, usize=83886080, alignment=64, zero=0x7fffffffe687) at /usr/obj/usr/src/amd64.amd64/lib/libc/jemalloc_arena.c:338 #2 0x0000000800557323 in __je_large_palloc (tsdn=0x800459090, arena=<optimized out>, usize=83886080, alignment=64, zero=<optimized out>) at /usr/obj/usr/src/amd64.amd64/lib/libc/jemalloc_large.c:47 #3 0x000000080057ba43 in arena_malloc (tsdn=0x800459090, arena=0x0, size=67112960, ind=85, zero=false, tcache=0x5000000, slow_path=false) at /usr/src/contrib/jemalloc/include/jemalloc/internal/arena_inlines_b.h:105 #4 iallocztm (tsdn=0x800459090, size=67112960, ind=85, zero=false, tcache=0x5000000, is_internal=false, arena=0x0, slow_path=false) at /usr/src/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_inlines_c.h:53 #5 imalloc_no_sample (size=67112960, ind=85, sopts=<optimized out>, dopts=<optimized out>, tsd=<optimized out>, usize=<optimized out>) at /usr/obj/usr/src/amd64.amd64/lib/libc/jemalloc_jemalloc.c:1713 #6 imalloc_body (sopts=<optimized out>, dopts=<optimized out>, tsd=<optimized out>) at /usr/obj/usr/src/amd64.amd64/lib/libc/jemalloc_jemalloc.c:1909 #7 imalloc (sopts=<optimized out>, dopts=<optimized out>) at /usr/obj/usr/src/amd64.amd64/lib/libc/jemalloc_jemalloc.c:2009 --Type <RET> for more, q to quit, c to continue without paging-- #8 __malloc (size=<optimized out>) at /usr/obj/usr/src/amd64.amd64/lib/libc/jemalloc_jemalloc.c:2042 #9 0x00000000004116a8 in ?? () #10 0x0000000000000002 in ?? () #11 0x00007fffffffe8b0 in ?? () #12 0x000000080042094d in _rtld_bind_start () at /usr/src/libexec/rtld-elf/amd64/rtld_start.S:121 #13 0x0000000000407e8b in ?? () Backtrace stopped: previous frame inner to this frame (corrupt stack?) (gdb) c Continuing. Program terminated with signal SIGBUS, Bus error. The program no longer exists. (gdb) q I am aware that this port is quite outdated and unmaintained, but still the bug is the bug… By the way, what's more up-to-date port is recommended to benchmark (or even test) RAM?
Looks like a memory corruption due to buffer overrun? > amd64/ssemem.s having "fst" without suffix - should be "fstps" due to addresses You sure? FSTPS has an extra stack pop vs. FSTS which does not.
Of course, fsts, not fstps. A typo by me. Only size suffix is absent.
That sounds reasonable. With the GNU assembler, dword operation is the default, so the code should work as expected.
Unfortunately I cannot investigate this issue because I lack the needed ressources. Actually I had forgotten this port I submitted almost a decade ago. Considering that my use cases for this port no longer exist I would like to transfer maintainership to someone who is interested to take over!
Given that upstream is dead (and unfetchable), no updates in ~10 years I propose that we mark this as broken and deprecate the port.
I agree. Let the port retire!
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=a080981aa25b832dc52306311fc08083c369a403 commit a080981aa25b832dc52306311fc08083c369a403 Author: Daniel Engberg <diizzy@FreeBSD.org> AuthorDate: 2024-01-14 22:44:21 +0000 Commit: Daniel Engberg <diizzy@FreeBSD.org> CommitDate: 2024-01-14 22:44:26 +0000 benchmarks/ramspeed: Deprecate and set expiration date to 2024-02-29 Last release roughly ~10 years, upstream is gone and application crashes upon execution PR: 275276 Reviewed by: Martin Kammerhofer <mkamm@gmx.net> (maintainer) benchmarks/ramspeed/Makefile | 4 ++++ 1 file changed, 4 insertions(+)
Committed, thanks all your work maintaining this port!