#26360 closed defect (fixed)

Transport plugins deadlock if they write too much to stderr

Reported by: dcf Owned by:
Priority: Medium Milestone: Tor: unspecified
Component: Core Tor/Tor Version:
Severity: Normal Keywords: pt, sponsor19
Cc: ahf Actual Points:
Parent ID: #28179 Points:
Reviewer: Sponsor: Sponsor8

Description

launch_managed_proxy, via tor_spawn_background, opens a pipe from the child process's stderr, but never reads from the pipe. If the child process writes too much to its stderr, eventually an OS buffer fills up and the child process hangs. This manifests in the tor log as "No running bridges."

Seems like this has always been a problem, but it only showed up recently with Snowflake, which by default logs to stderr and is more chatty than past transports have been. See #25600. The problem went away when instructing snowflake-client to log to a file instead of to stderr.

Ccing ahf as suggested by arma.

Child Tickets

Change History (5)

comment:1 Changed 16 months ago by nickm

Milestone: Tor: unspecified

comment:2 Changed 14 months ago by arma

Keywords: sponsor19 added

comment:3 Changed 13 months ago by dcf

I posted a reproduction recipe for this bug at comment:16:ticket:28179.

comment:4 Changed 12 months ago by ahf

Parent ID: #28179
Sponsor: Sponsor8

comment:5 Changed 12 months ago by ahf

Resolution: fixed
Status: newclosed

Should be fixed with the recent landing of the patches for #28179.

Note: See TracTickets for help on using tickets.