[tor-bugs] #27199 [Core Tor/Tor]: panic inside rust extern "C" function is undefined behavior

Tor Bug Tracker & Wiki blackhole at torproject.org
Wed Apr 3 02:02:45 UTC 2019


#27199: panic inside rust extern "C" function is undefined behavior
-------------------------------------------------+-------------------------
 Reporter:  cyberpunks                           |          Owner:  (none)
     Type:  defect                               |         Status:
                                                 |  needs_review
 Priority:  Medium                               |      Milestone:  Tor:
                                                 |  0.4.1.x-final
Component:  Core Tor/Tor                         |        Version:
 Severity:  Normal                               |     Resolution:
 Keywords:  rust, 034-backport, 035-backport,    |  Actual Points:
  040-backport, 041-proposed, 033-backport-      |
  unreached                                      |
Parent ID:                                       |         Points:
 Reviewer:                                       |        Sponsor:
-------------------------------------------------+-------------------------
Changes (by teor):

 * keywords:  rust, 034-backport, 041-proposed, 033-backport-unreached =>
     rust, 034-backport, 035-backport, 040-backport, 041-proposed, 033
     -backport-unreached
 * status:  needs_information => needs_review
 * milestone:  Tor: unspecified => Tor: 0.4.1.x-final


Comment:

 Replying to [comment:9 elichai2]:
 > why not use `catch_unwind()` ?

 We would have to remember to wrap every C to Rust FFI call in
 catch_unwind(), which would make our code hard to read.
 (The codebase is meant to be panic-free, but we might have missed some
 panics.)

 Instead, we should merge the abort branch in 0.4.1 and see how we go:
 https://gitgud.io/onionk/tor/tree/rust-panic1
 (If we abort, we should get a nice backtrace.)

 We need to:
 * open a GitHub pull request so we get CI
 * review the code
 * merge it

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/27199#comment:10>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list