Open go1dfish opened 6 years ago
Can you upload a minimal example so I can try to debug? May just use process of elimination to find which piece of code crashes.
It’s not an easy thing to replicate, disabling sea validation prevents the crashes and it seems to happen more often when dealing with signed data.
Bringing context here from Gitter chat.
@go1dfish 20:40 By forcing pair to be false here: https://github.com/amark/gun/blob/master/sea.js#L429 Never get these crashes when I do that
@go1dfish 20:41 https://notabug.io/user/LesDWK7BcLGNLAtzyAWVwuELI8NKLudyX2E-68OLek4.A8owpiqmANc6yN5fD7UfwSz9kWsRVgBx4obwuCBo6H8/spaces/signed_firehose is a good place to load a lot of signed content
Crash logs from the help of @go1dfish. Using the nab.io/t/random
URL, we were able to get consistent crashes in two key areas. I will diagnose further but first glance appears to be params passed to the crypto API. It's detecting a null reference somewhere. This may just be due to setting/replacing the crypto param with another before crypto has had a chance to callback. Currently, this is all speculation. One thing is certain, SEA is failing with the newest Safari on OSX and iOS.
1.txt 2.txt 3.txt 4.txt 5.txt 6.txt 7.txt 9.txt 10.txt
Regularly get difficult/impossible to debug crashes in Safari when SEA is enabled and validating incoming data.
Live on notabug I do this (set pair=false at top of verify) to eliminate the crashing:
https://github.com/notabugio/notabug/blob/master/src/utils/sea.js#L753
This won't be a good option for AXE; but it works now when I can assume the super peer is validating messages so the clients don't have to.