Opened 4 weeks ago

Last modified 3 weeks ago

#2575 new defect

Orchid fails to download descriptors when useMicrodescriptors=false

Reported by: Reportage Owned by: zzz
Priority: minor Milestone: undecided
Component: apps/plugins Version: 0.9.41
Keywords: orchid, descriptors Cc:
Parent Tickets: Sensitive: no

Description (last modified by Reportage)

When useMicrodescriptors set to false, Orchid will repeatedly fail to download descriptors and will be unable to build circuits.

WARN […k worker-96] …toryDownloadTask: [Orchid] Failed to download router descriptors: Failed to parse response from Directory: Too many arguments for keyword 'extra-info-digest' expected 1 and got 2

Appears to be a modification to the spec that breaks Orchid.

More info:

Spec update:

Subtickets

Change History (5)

comment:1 Changed 4 weeks ago by Reportage

Description: modified (diff)

comment:2 Changed 3 weeks ago by zzz

Priority: majorminor

Then don't set the value? Why would you do that? We don't provide any UI to change settings, so nobody's going to stumble into this. Arbitrary settings aren't guaranteed to work.

comment:3 Changed 3 weeks ago by Reportage

Full descriptors are required to enable various functions listed in src/java/com/subgraph/orchid/Router.java

Specifically, I want to be able to expose router uptime, bandwidth, and platform information in the UI.

In terms of the size of the consensus files vs the microdesc-consensus, the difference is negligible, 2.2MB vs 2MB, so enabling their use shouldn't noticeably impact performance.

comment:4 Changed 3 weeks ago by Reportage

Description: modified (diff)

comment:5 Changed 3 weeks ago by Reportage

Workaround:

@@ public class DocumentFieldParserImpl imp
 
 			// Is this the correct thing to do, or should just be a warning?
-			throw new TorParsingException("Too many arguments for keyword '"+ keyword +"' expected "+ expectedMax +" and got "+ argumentCount);
+			logger.warning("Too many arguments for keyword '" + keyword + "'; expected " + expectedMax + " and got " + argumentCount);
+//			throw new TorParsingException("Too many arguments for keyword '" + keyword + "'; expected " + expectedMax + " and got " + argumentCount);
Last edited 3 weeks ago by Reportage (previous) (diff)
Note: See TracTickets for help on using tickets.