This relay was last included in a consensus on 2017-05-31 at 22:00:00 UTC. It was listed there with version 0.3.0.6 which was not a recommended server version at the time. That's why recommended_version is false.
The relay may have uploaded a server descriptor with "Tor 0.3.0.7 on FreeBSD" as platform string after that (I haven't checked when that was), but that descriptor never made it into a consensus.
We only look at the consensus for determining recommended versions, which is also what Tor clients do.
This is not a bug in Onionoo, just a rare edge case of which there are probably a dozen more. Closing as not-a-bug. Thanks for the report anyway!
Trac: Status: new to closed Resolution: N/Ato not a bug
thanks for your prompt reply, since the ticket has been closed I'm answering here.
We display whatever version was last uploaded by the relay but we only care about what made it into the consensus.
What do you think about also just displaying whatever made it into the consensus so there is no mismatch between what atlas displays and what is actually in the consensus?
Sounds plausible to me. I'm currently focusing on metrics-lib, so I'm reopening this ticket for now.
Trac: Resolution: not a bug toN/A Summary: recommended_version is false but it should be true to Include relay version listed in consensus in addition to platform line from server descriptor Type: defect to enhancement Status: closed to reopened
I suggest we add a new "version" field in addition to the existing "platform" field. For relays we include the version listed in the consensus in that field. Then we have both versions: "platform" with the version from the server descriptor and "version" with the version from the consensus.
And for bridges we include the version substring from the "platform" line. That's somewhat redundant. But in some cases it might be easier for clients to process that version string without the rest of the rest of the "platform" line around it. No harm in adding that new field to both relay and bridge details documents.
Hmm, you might have found something here, but I'm not certain yet. (And I have too many other things going on to take a closer look.)
For the record, recommended server versions as of your comment were: 0.2.5.16, 0.2.5.17, 0.2.9.14, 0.2.9.15, 0.3.0.13, 0.3.0.14, 0.3.1.9, 0.3.1.10, 0.3.2.8-rc, 0.3.2.9.
fingerprint: the relay fingerprint, limited to the relays you listed
timestamp: the timestamp when a descriptor was published or after which a status was declared valid
descriptor: "server" for server descriptors published by the relay, "vote" for network status votes, "consensus" for network status consensuses
authority: authority nickname in case of a vote and blank otherwise
version: tor software version
Again, I'm not certain yet, but it looks like there's a delay of a few hours between relays publishing a server descriptor with a new tor software version number and authorities including that version in their votes. This delay is different between authorities, with some authorities picking up the change earlier than others.
If this is true, and somebody would have to look through the attached file in detail, that's a bug in the authorities. Totally wild guess: authorities might consider platform changes "cosmetic" and continue using an older descriptor of the relay until that gets too old.
However, from Onionoo's perspective I think we don't have a bug here. Onionoo uses whatever version it sees in the consensus to say whether a relay runs a recommended version or not. If the authorities don't update that version number properly, that's not something that Onionoo can fix.
Want to analyze this more and possibly open a ticket in Core Tor/Tor if you can confirm that this is a bug in tor? (But please don't move this ticket to that component, because 90% of what's discussed above is irrelevant for the issue you may have found.)
Hmm, I don't see how Onionoo would be the issue here. The preliminary analysis that I did in comment 11 above is not based on Onionoo, but on a new analysis made using metrics-lib.
I am waiting for some more examples in the Core Tor ticket.
Did you check the CSV file that is attached to this ticket? That just contains the relays above. I'm going to upload the full file with all relay fingerprints now and will post the link here in 10-20 minutes.
So, from the discussion in #24864 (moved) it sounds like this is either a bug in the tor daemon or somewhat non-intuitive behavior of the tor daemon. But I don't see where Onionoo would be doing something wrong here. If there's no bug, we should close this ticket again.