You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
as reported in FMS, I had to recover my identities from WebOfTrust. One identity was recovered, while another one was stuck in recovery state. Both identities have Sone.
I was unable to use Sone with my recovered identity because there was this exception in the logs:
<timestamp> (net.pterodactylus.sone.freenet.wot.IdentityManagerImpl, Sone Identity Manager, ERROR): Uncaught exception in IdentityManager thread!
java.lang.IllegalStateException: get("Nickname$index") must not be null
at net.pterodactylus.sone.freenet.wot.PluginWebOfTrustConnectorKt.parseOwnIdentity(PluginWebOfTrustConnector.kt:103)
at net.pterodactylus.sone.freenet.wot.PluginWebOfTrustConnectorKt.access$parseOwnIdentity(PluginWebOfTrustConnector.kt:1)
at net.pterodactylus.sone.freenet.wot.PluginWebOfTrustConnector$loadAllOwnIdentities$1.invoke(PluginWebOfTrustConnector.kt:43)
at net.pterodactylus.sone.freenet.wot.PluginWebOfTrustConnector$loadAllOwnIdentities$1.invoke(PluginWebOfTrustConnector.kt:35)
at net.pterodactylus.sone.freenet.wot.PluginWebOfTrustConnectorKt$parseIdentities$2.invoke(PluginWebOfTrustConnector.kt:99)
at net.pterodactylus.sone.freenet.wot.PluginWebOfTrustConnectorKt$parseIdentities$2.invoke(PluginWebOfTrustConnector.kt)
at kotlin.sequences.TransformingSequence$iterator$1.next(Sequences.kt:172)
at kotlin.sequences.SequencesKt___SequencesKt.toCollection(_Sequences.kt:716)
at kotlin.sequences.SequencesKt___SequencesKt.toSet(_Sequences.kt:757)
at net.pterodactylus.sone.freenet.wot.PluginWebOfTrustConnectorKt.parseIdentities(PluginWebOfTrustConnector.kt:100)
at net.pterodactylus.sone.freenet.wot.PluginWebOfTrustConnectorKt.access$parseIdentities(PluginWebOfTrustConnector.kt:1)
at net.pterodactylus.sone.freenet.wot.PluginWebOfTrustConnector.loadAllOwnIdentities(PluginWebOfTrustConnector.kt:43)
at net.pterodactylus.sone.freenet.wot.IdentityLoader$loadAllIdentities$2.invoke(IdentityLoader.kt:41)
at net.pterodactylus.sone.freenet.wot.IdentityLoader$loadAllIdentities$2.invoke(IdentityLoader.kt:29)
at net.pterodactylus.sone.freenet.wot.IdentityLoader.time(IdentityLoader.kt:82)
at net.pterodactylus.sone.freenet.wot.IdentityLoader.loadAllIdentities(IdentityLoader.kt:40)
at net.pterodactylus.sone.freenet.wot.IdentityManagerImpl.serviceRun(IdentityManagerImpl.kt:66)
at net.pterodactylus.util.service.AbstractService.run(AbstractService.java:441)
at java.base/java.lang.Thread.run(Thread.java:832)
at net.pterodactylus.util.thread.DumpingThread.run(DumpingThread.java:104)
My suggestion: Just skip identities, which are null, when iterating existing identities.
The text was updated successfully, but these errors were encountered:
Hmm, this happens when parsing one of your local identities and it sounds like your recovery was somehow botched. While of course this code can be made more forgiving, I am not sure about the ramifications of doing so. Sure, this exception is mighty inconvenient when you want to run Sone on a broken WoT installation but simply ignoring a broken identity would make people wonder why their identities don’t show up in Sone, and nobody checks log files, ever… 🙂
For the record, remote identities that are broken like this are already ignored. I’m not convinced doing the same for local identities is a good idea because while you can’t be made responsible for other people’s broken WoTs you sure are responsible for the state of your own WoT. 🙂
Hi,
as reported in FMS, I had to recover my identities from WebOfTrust. One identity was recovered, while another one was stuck in recovery state. Both identities have Sone.
I was unable to use Sone with my recovered identity because there was this exception in the logs:
My suggestion: Just skip identities, which are null, when iterating existing identities.
The text was updated successfully, but these errors were encountered: