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
WeakReferences tests fail on Android ARMv7 and x86 #107
Comments
The insert failed message can happen if you have too many hash collisions, such that increasing the size of the hash table does not remove collisions. We may need to change the hash function. |
I believe this is fixed by 8809f01 |
The WeakReferences_arc tests succeed with #119 on both armeabi-v7a and arm64-v8a. |
But not with the back-port of the fix to the master branch? Interesting, that implies another bug in the hash table implementation... |
Nope, I double checked and the WeakReferences_arc tests still fail with the latest master branch (containing 8809f01) on armeabi-v7a. If I understand it correctly though, 8809f01 fixed a memory corruption, whereas the WeakReferences_arc tests failed due to the hash table implementation, which was improved in #119. So I think it’s all how it should be (i.e. this issue will be resolved by #119)? |
Ah, it's failing due to hash collisions. We can probably fix it in the master branch by improving the hash function... |
we experienced some weak ref issues with latest commit, and posted #123. Was potentially unrelated to hash table impl |
I did some more testing and found that the test also fails on Android x86, but not on x86_64. |
Makes sense - we probably experience a lot more hash collisions on 32-bit. Is this fixed for you in the #119 branch? |
Just tried with the
|
Running the WeakReferences* tests on Android ARMv7 fail with the following messages. The same tests succeed on ARM64.
From the "Insert failed" message it looks like an issue with the hash table implementation. I’d appreciate any pointers to track this down further.
This is with libobjc2 compiled using the GNUstep Android toolchain, i.e. using the latest master version of libobjc2 built with clang from the Android NDK.
The text was updated successfully, but these errors were encountered: