-
Notifications
You must be signed in to change notification settings - Fork 136
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
issue(fs): assertion !frame_is_full(ctx->frame) failed at /nanos/src/kernel/mutex.c:109 (IP 0xffffffff800460b4) #1933
Comments
rinor
changed the title
issue(fs): assertion !frame_is_full(ctx->frame) failed at /usr/local/src/nanos/src/kernel/mutex.c:109 (IP 0xffffffff800460b4)
issue(fs): assertion !frame_is_full(ctx->frame) failed at /nanos/src/kernel/mutex.c:109 (IP 0xffffffff800460b4)
Sep 1, 2023
francescolavra
added a commit
that referenced
this issue
Sep 5, 2023
A call to storage_sync() may suspend the current context, e.g. to acquire the filsystem mutex. Therefore, this function cannot be called directly from the code that handles a page fault exception; instead, an asynchronus thunk should be used. This commit changes the mmap_anon_page() closure function so that it calls storage_sync() first, and the demand_anonymous_page() function so that it invokes the above closure via async_apply_bh(). Closes #1933.
francescolavra
added a commit
that referenced
this issue
Sep 5, 2023
A call to storage_sync() may suspend the current context, e.g. to acquire the filesystem mutex. Therefore, this function cannot be called directly from the code that handles a page fault exception; instead, an asynchronous thunk should be used. This change modifies the mmap_anon_page() closure function so that it calls storage_sync() first, and the demand_anonymous_page() function so that it invokes the above closure via async_apply_bh(). Closes #1933.
tested #1934 and can confirm it works as expected. Thank you |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
While re-testing #1845 after #1904 merged on main branch at 2da53c8 got:
Note: This (similar) was observed also on #1874 but on other conditions and fixed at #1875
config.json
ops volume create stressdisk -s 1G
# extra volume clean storageops run -c config.json stressdisk --smp=4
#with clean storageThe text was updated successfully, but these errors were encountered: