keybase / node-client

CLI for keybase.io written in/for Node.js
BSD 3-Clause "New" or "Revised" License
300 stars 32 forks source link

TypeError: Cannot call method 'is_leaf' of undefined #175

Closed TethysSvensson closed 9 years ago

TethysSvensson commented 10 years ago

I tracked a user (wejendorp), but his domain proof failed. I accepted to track him anyways, as the other proofs were sufficient for me:

freaken@ubuntu:~$ keybase track wejendorp
info: ...checking identity proofs
✔ public key fingerprint: 11E7 673B 7CBD BA7E F695 F5D4 41A3 CA3F EA79 584B
✔ "wejendorp" on twitter: https://twitter.com/wejendorp/status/515794498182709249
✔ "wejendorp" on github: https://gist.github.com/cd760ef6c1279e76b357
✖ admin of the DNS zone for dorp.io (failed with code 107: queryTxt ENOTFOUND)
Some remote proofs failed!
Still verify this user as wejendorp? [y/N] y
Permanently track this user, and write proof to server? [Y/n] 
info: Updated file: /home/freaken/.cache/keybase/session.json

You need a passphrase to unlock the secret key for
user: "Mathias Svensson (DIKU) <mathias@diku.dk>"
4096-bit RSA key, ID E76B7B2D2F2FF530, created 2012-11-30

You need a passphrase to unlock the secret key for
user: "Mathias Svensson (DIKU) <mathias@diku.dk>"
4096-bit RSA key, ID E76B7B2D2F2FF530, created 2012-11-30

info: ✔ Wrote tracking info to remote keybase.io server
info: Success!

A little later, I tracked him again got this:

freaken@ubuntu:~$ keybase track wejendorp
info: ...checking identity proofs
✔ public key fingerprint: 11E7 673B 7CBD BA7E F695 F5D4 41A3 CA3F EA79 584B
✔ "wejendorp" on twitter: https://twitter.com/wejendorp/status/515794498182709249
✔ "wejendorp" on github: https://gist.github.com/cd760ef6c1279e76b357
✔ admin of dorp.io via HTTP: http://dorp.io/keybase.txt

TypeError: Cannot call method 'is_leaf' of undefined
    at TrackWrapper.<anonymous> (/usr/local/lib/node_modules/keybase/lib/trackwrapper.js:163:24)
    at TrackWrapper.exports.TrackWrapper.TrackWrapper._skip_approval (/usr/local/lib/node_modules/keybase/lib/trackwrapper.js:174:10)
    at TrackWrapper.exports.TrackWrapper.TrackWrapper.skip_approval (/usr/local/lib/node_modules/keybase/lib/trackwrapper.js:193:18)
    at err (/usr/local/lib/node_modules/keybase/lib/tracksubsub.js:1010:41)
    at /usr/local/lib/node_modules/keybase/lib/tracksubsub.js:1047:13
    at Deferrals.exports.Deferrals.Deferrals._call (/usr/local/lib/node_modules/keybase/node_modules/iced-runtime/lib/runtime.js:86:16)
    at /usr/local/lib/node_modules/keybase/node_modules/iced-runtime/lib/runtime.js:98:26
    at exports.trampoline.trampoline (/usr/local/lib/node_modules/keybase/node_modules/iced-runtime/lib/runtime.js:64:14)
    at Deferrals.exports.Deferrals.Deferrals._fulfill (/usr/local/lib/node_modules/keybase/node_modules/iced-runtime/lib/runtime.js:96:16)
    at ret (/usr/local/lib/node_modules/keybase/node_modules/iced-runtime/lib/runtime.js:29:18)
TethysSvensson commented 10 years ago

I was able to fix it by untracking and tracking him again:

freaken@ubuntu:~$ keybase untrack wejendorp

You need a passphrase to unlock the secret key for
user: "Mathias Svensson (DIKU) <mathias@diku.dk>"
4096-bit RSA key, ID E76B7B2D2F2FF530, created 2012-11-30

Remove wejendorp's public key from your local keyring?  [Y/n] 
freaken@ubuntu:~$ keybase track wejendorp
info: ...checking identity proofs
✔ public key fingerprint: 11E7 673B 7CBD BA7E F695 F5D4 41A3 CA3F EA79 584B
✔ "wejendorp" on twitter: https://twitter.com/wejendorp/status/515794498182709249
✔ "wejendorp" on github: https://gist.github.com/cd760ef6c1279e76b357
✔ admin of dorp.io via HTTP: http://dorp.io/keybase.txt
Is this the wejendorp you wanted? [y/N] y
Permanently track this user, and write proof to server? [Y/n] 

You need a passphrase to unlock the secret key for
user: "Mathias Svensson (DIKU) <mathias@diku.dk>"
4096-bit RSA key, ID E76B7B2D2F2FF530, created 2012-11-30

info: ✔ Wrote tracking info to remote keybase.io server
info: Success!
maxtaco commented 10 years ago

Thanks for the bug report. I think it comes from:

  1. Proof of dorp.io via DNS
  2. Revoking the previous signature
  3. Proof of dorp.io via HTTP
kylemanna commented 10 years ago

I've run in to this issue on another user (keybase.io/snider). Untracking and then re-tracking resolved it for me as well. This was tested on v0.7.2.

maxtaco commented 9 years ago

Live in v0.7.3. Thanks