Opened 6 years ago

Closed 6 years ago

#12644 closed defect (fixed)

`daemonize` API breakage when upgrading from Twisted <= 13.1 to >= 13.2

Reported by: nathan-at-least Owned by: hellais
Priority: Medium Milestone:
Component: Archived/Ooni Version:
Severity: Keywords:
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:


Due to a bug in the M-Lab installation procedure (see ooni-support pull request #43), we have run oonib against Twisted 14.0 on the M-Lab test slice.

In doing so, we uncovered a bug due to a changing API postcondition for the daemonize function/method in twisted.scripts._twistd_unix.

The details are thoroughly documented here:

Note: twisted is very careful to provide well tested backwards compatibility for the public APIs, but this is a case of relying on a "private" API. An ideal solution would redesign Ooni to use only public twisted APIs. (I'm not sure of the rationale for the current design; can we document it / link to it here?)

A short term fix is to specify a constraint of twisted <= 13.1. A middle ground fix is to specify twisted >= 13.2 and cut'n'paste the relevant portions from the twisted code.

Child Tickets

Change History (1)

comment:1 Changed 6 years ago by hellais

Resolution: fixed
Status: newclosed

A fix for this has been deployed to the latest master.

It has been achieved by refactoring oonib so that we don't use private twisted API's anymore.

Note: See TracTickets for help on using tickets.