-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Nim Hot Code Reloading tests fail on OpenBSD #12140
Comments
The stacktrace isn't super helpful because template check(expr) =
if not expr:
raiseOSError(osLastError()) but as I saw in #16329 it actually points to one of these failing: proc setLen*(m: var ReservedMem, newLen: int) =
let len = m.len
m.usedMemEnd = m.memStart.shift(newLen)
if newLen > len:
let d = distance(m.committedMemEnd, m.usedMemEnd)
if d > 0:
let commitExtensionSize = nextAlignedOffset(d, allocationGranularity)
when defined(windows):
check virtualAlloc(m.committedMemEnd, commitExtensionSize,
MEM_COMMIT, m.accessFlags.cint)
else:
check mprotect(m.committedMemEnd, commitExtensionSize,
m.accessFlags.cint) == 0
else:
let d = distance(m.usedMemEnd, m.committedMemEnd) -
m.maxCommittedAndUnusedPages * allocationGranularity
if d > 0:
let commitSizeShrinkage = nextAlignedOffset(d, allocationGranularity)
let newCommitEnd = m.committedMemEnd.shift(-commitSizeShrinkage)
when defined(windows):
check virtualFree(newCommitEnd, commitSizeShrinkage, MEM_DECOMMIT)
else:
check posix_madvise(newCommitEnd, commitSizeShrinkage,
POSIX_MADV_DONTNEED) == 0
m.committedMemEnd = newCommitEnd upon further investigation i found this comment:
but there's some contradiction with other sources I found on the topic; it my depend on glibc etc links
EDITlooks like it's in fact
I can't find any relevant reference on the web / nim sources to "Not supported" from the errmsg Further investigation needs to look what was this equal to: |
There are several
nimhcr
tests that fail on OpenBSD with aNot supported [OSError]
error. THe problem appears to be in thereservedmem
module as they all fail with a stacktrace similar to the following:The text was updated successfully, but these errors were encountered: