-
Notifications
You must be signed in to change notification settings - Fork 44
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
[Bug] test11_reinterpret
in test_arithmetic.py
Failing in Local Build
#322
Comments
After testing many different configurations and compiler, the combination that ultimately worked was to ensure that the generated project files from CMake were set with When using |
Hi @Microno95 That sounds like a plausible explanation. We actually only run tests on an environment that compiles with MSVC 17 as the generator. In facts, for Mitsuba its actually explicitly recommended. I might be looking at the wrong thing, but it also seems that the GitHub runners that we use to produce the wheels that can be installed with As for the stack trace itself, I don't see how/why that could happen. Maybe there's some UB in the cleanup order due to exceptions, but the global locks should be released & available. |
I see, okay. I will stick to the MSVC 17 generators from now on just to be safe. Although I could not, for the life of me, get Mitsuba to compile correctly with MSVC 17, only MSVC 16... Yeah, the stack trace doesn't really make sense given that the lock should've unlocked by that point, but, as you said, the order may be UB. |
I've been encountering a
Fatal Python error: Aborted
issue in the latest master of Mitsuba 3, and to identify where things are going wrong, I decided to test that Dr.Jit itself compiles and runs correctly by running the Dr.Jit test suite. Unfortunately, I am unable to run the Dr.Jit test suite as every time the suite hitstest11_reinterpret
intest_arithmetic.py
, the test suite crashes withFatal Python error: Aborted
. I've tried settingdr.set_flag(dr.JitFlag.Debug, True)
, tried compiling the v1.0.1 release to no avail and varied the LLVM version used between the LLVM 18.1.8 bundled with MSVC, LLVM 18.1.8 prebuilt binary from the official LLVM github repo, and LLVM 16.0.4 prebuilt binary from the official LLVM github repo.From running the test suite in
Debug
andRelWithDebInfo
modes, I have identified that the specific issue occurs ondrjit/tests/test_arithmetic.py
Lines 328 to 329 in 41600b5
jitc_raise
from https://github.com/mitsuba-renderer/drjit-core/blob/71a9f4865b88531d8a490eac03a3659040529df1/src/op.cpp#L1488-L1489 the destructor of one of the variables is called which in turn triggers a call tojit_var_dec_ref_impl
. This tries to lock the mutex for the jit variable states and leads to a failure of the runtime.I've tried the same tests using the pip installed drjit library and don't encounter this issue at all so perhaps it is the setup I have, but I'd like to resolve it to avoid issues downstream when compiling my own version of Mitsuba with the latest master.
Stack at error:
My system configuration is using the latest Microsoft Visual Studio 2022 (MSVC 19.42.34435.0).
The text was updated successfully, but these errors were encountered: