Opened 9 years ago

Closed 9 years ago

Last modified 8 years ago

#4702 closed defect (fixed)

Crash in init_dh_param on Tor 0.2.3.9-alpha

Reported by: nickm Owned by:
Priority: High Milestone: Tor: 0.2.3.x-final
Component: Core Tor/Tor Version: Tor: 0.2.3.9-alpha
Severity: Keywords: tor-relay
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

A user reports by email the following assertion failure:

[Error] init_dh_param(): Bug: crypto.c:2093: init_dh_param: Assertion dh_param_p_tls failed; aborting.

This is with accounting parameters set to daily bandwidth allowance.

If I remove accounting, the assert() does not fire on initial startup, and all is well with Tor.

Child Tickets

Change History (6)

comment:1 Changed 9 years ago by asn

I can't seem to reproduce this by naively adding something like:

AccountingMax 1Kb
AccountingStart day 00:00

in my torrc.

Nick, do you have any hints on how accounting can influence this?

comment:2 Changed 9 years ago by rransom

Looks like his relay went to sleep, and now it dies every time it tries to wake up.

options_act_reversibleconsider_hibernationhibernate_end_time_elapsedaccounting_run_housekeepingconfigure_accountingaccounting_set_wakeup_timeinit_keysrouter_initialize_tls_contexttor_tls_context_inittor_tls_context_init_onetor_tls_context_newcrypto_dh_newinit_dh_paramBOOOOM!!!!!!!11!!1!!!

comment:3 Changed 9 years ago by rransom

Status: newneeds_review

See bug4702 ( https://git.torproject.org/rransom/tor.git bug4702 ) for a possible fix.

comment:4 Changed 9 years ago by nickm

Resolution: fixed
Status: needs_reviewclosed

Seems better than nothing, I guess. There doesn't seem to be a window where we can actually create any TLS sessions with this DH parameter, so it should be "harmless", even if we think that using the apache dh param is "harmful" somehow.

Merging and closing.

comment:5 Changed 8 years ago by nickm

Keywords: tor-relay added

comment:6 Changed 8 years ago by nickm

Component: Tor RelayTor
Note: See TracTickets for help on using tickets.