Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Tor Tor
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 329
    • Issues 329
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 31
    • Merge requests 31
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • The Tor Project
  • Core
  • TorTor
  • Issues
  • #632
Closed
Open
Issue created Mar 18, 2008 by Trac@tracbot

Tor v0.2.1.0-alpha-dev (r14101): eventdns(?): Assertion conn->read_event failed

With high concurrency, tor eventdns barfs up. Trying to resolve 100 IP addresses with concurrency of 100+100 (for PTR->A and A->PTR) with command: random-ip 100 64|DNSCACHEIP=127.0.0.69 dnsfilter -c 100 | DNSCACHEIP=127.0.0.69 dnsfilter -c 100 -p Takes less than a minute till abort().

2008-03-18 19:14:58.980894879 [debug] connection_remove(): removing socket -1 (type Socks), n_conns now 897 2008-03-18 19:14:59.301429897 [debug] conn_write_callback(): socket 24 wants to write. 2008-03-18 19:14:59.301432330 [debug] flush_chunk_tls(): flushed 3901 bytes, 12483 ready to flush, 12483 remain. 2008-03-18 19:14:59.301433263 [debug] flush_chunk_tls(): flushed 4057 bytes, 8426 ready to flush, 8426 remain. 2008-03-18 19:14:59.301434092 [debug] flush_chunk_tls(): flushed 4057 bytes, 4369 ready to flush, 4369 remain. 2008-03-18 19:14:59.301434943 [debug] flush_chunk_tls(): flushed 4057 bytes, 312 ready to flush, 312 remain. 2008-03-18 19:14:59.301435738 [debug] flush_chunk_tls(): flushed 312 bytes, 0 ready to flush, 0 remain. 2008-03-18 19:14:59.301455409 [debug] connection_handle_write(): After TLS write of 16384: 0 read, 16722 written 2008-03-18 19:14:59.301456530 [err] Bug: main.c:300: connection_start_reading: Assertion conn->read_event failed; aborting. 2008-03-18 19:14:59.301457413 main.c:300 connection_start_reading: Assertion conn->read_event failed; aborting. 2008-03-18 19:15:00.340741083 [notice] Tor v0.2.1.0-alpha-dev (r14101). This is experimental software. Do not rely on it for strong anonymity. (Running on Linux x86_64)

I have a big log file, but this should be easily reproducable.

Other notes about eventdns: (maybe this should go in a different bugreport)

  • O(N) lookup for transactions IDs (this may or may not show up in the profiles, but is nevertheless not a very clever tactic)
  • using malloc+memset instead of calloc
  • ad-hoc handling of lists (e.g., would look more readable if you made static inline function list_add instead of doing ns->next = server_head->next; ns->prev = server_head; server_head->next = ns; etc.)
  • useless casts: resolv = (u8 *) malloc((size_t)st.st_size + 1);
  • why is it doing CLEAR so often before free?

[Automatically added by flyspray2trac: Operating System: All]

Trac:
Username: Safari

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking