#27968 closed defect (fixed)

SIGNAL HALT race condition in test-rebind.py

Reported by: teor Owned by: teor
Priority: High Milestone: Tor: 0.3.5.x-final
Component: Core Tor/Tor Version: Tor:
Severity: Normal Keywords: ci
Cc: Actual Points:
Parent ID: Points:
Reviewer: mikeperry Sponsor:


If tor exits due to SIGNAL HALT, before the python subprocess module terminates it, then test-rebind.py can fail with OSError 3 (no such process).

This race condition causes make check failures on my laptop running Windows Subsystem for Linux. It could potentially cause CI failures on busy machines.

I have a patch that rewrites test-rebind.py to be more reliable.

Child Tickets

Change History (7)

comment:1 Changed 21 months ago by teor

Status: assignedneeds_review

See https://github.com/torproject/tor/pull/386

The branch is bug27968 on https://github.com/teor-travel/tor.git
(This is my travel account.)

comment:2 Changed 21 months ago by catalyst

Status: needs_reviewneeds_revision

Looks good! I commented on one minor issue in the pull request.

comment:3 in reply to:  2 Changed 21 months ago by teor

Status: needs_revisionneeds_review

Replying to catalyst:

Looks good! I commented on one minor issue in the pull request.

Thanks for the review!

I made the errno into its symbolic constant.

But we might see failures on some platforms, if the constant is not available:

Of the following list, symbols that are not used on the current platform are not defined by the module. The specific list of defined symbols is available as errno.errorcode.keys(). Symbols available can include:


Also, GitHub was having storage issues when I pushed my branch:


So I couldn't re-open a new pull request from my main account. I'll try again in a few hours, or tomorrow.

comment:5 Changed 21 months ago by dgoulet

Reviewer: mikeperry

comment:6 Changed 21 months ago by mikeperry

Status: needs_reviewmerge_ready


comment:7 Changed 21 months ago by nickm

Resolution: fixed
Status: merge_readyclosed

squashed and merged to 0.3.5 and forward.

Note: See TracTickets for help on using tickets.