Hi everyone--
This bounty is for an enhancement to the MAC OSX biblepaycore home wallet.
The github source for the program is here:
https://github.com/biblepay/biblepay(See our mainnet branch, building for MAC OSX).
Note that we have RandomX as our mining algorithm, so we differ from bitcoin in that respect.
See the specific section in our Build BiblePay doc on how to compile RandomX on the MAC:
https://github.com/biblepay/biblepay/blob/master/BuildBiblePay.txtSo for a long time we were able to build the MAC version with RandomX support, and release this finished build as a DMG file.
However recently we started running into some new troubles. We can still Compile our code for mac, and run it without a problem, however, when we build our DMG, and the user runs this as an official DMG: They can do most things like load the wallet, see the overview page in QT, and sync up to a certain block number.
We notarize the file and set up the DMG (as an apple developer) so that the DMG is approved by gatekeeper to run it (it runs as an authorized dmg file).
But the specific problem is when RandomX hash library is called for certain hashes, a memory access violation occurs in the MAC OS, and it bubbles up to the user and crashes the program. (Specifics: This crash did not occur until approx Feb 2021, after some apple updates to MAC OS that made it more strict!).
Our mac developer, MIP can provide more information on this - please ask us more questions. When we run the DMG in jailbroken mode (with gatekeeper disabled), no crash occurs during any hashing and the whole wallet works.
So I believe his opinion is that MAC is protecting a certain area of memory.
Now the randomx virtual machine executes machine language specifically for the hash, so it needs unprotected access to a chunk of RAM.
MIP has tried setting the compile flags that make the librandomx.a file statically linked, and he set the flag to allow full access to the RAM but his particular flag did not work (I believe he is not completely sure if this option was passed in 100% correctly or if the dmg honors it or not).
If we have an expert out there that would like to take this on we would appreciate it so that we can have our home MAC-OS wallet run without disabling gatekeeper!
Thank you in advance.
BOUNTY OFFER:
See Subject line for amount