Skip to content

Conversation

@masaori335
Copy link
Contributor

@masaori335 masaori335 commented May 9, 2023

We faced an issue with calling the Ethread::schedule_imm_local function from a different thread. (In this case, Ethread::schedule_imm should be called.) The function calls Ethread::schedule_local, and it's modify the ProtectedQueue::localQueue. So the calling thread has to be this_ethread().

The symptom of the issue is failing the assertion in the Continuation::handleEvent(), and the event mutex is nullptr.

fatal: ./I_Continuation.h:234: failed assertion `!mutex || mutex->thread_holding == this_ethread()`

This assertion might cause some crashes, but all of them need to be fixed.

@masaori335 masaori335 merged commit 644658e into apache:master May 15, 2023
zwoop pushed a commit that referenced this pull request May 22, 2023
@zwoop zwoop modified the milestones: 10.0.0, 9.2.1 May 22, 2023
@zwoop
Copy link
Contributor

zwoop commented May 22, 2023

Cherry-picked to v9.2.x

masaori335 added a commit to masaori335/trafficserver that referenced this pull request Jul 24, 2023
(cherry picked from commit 644658e)
(cherry picked from commit d60e646)
cmcfarlen pushed a commit to cmcfarlen/trafficserver that referenced this pull request Jun 3, 2024
* asf/master:
  Fix ttmsh log field (apache#9722)
  Add CentOS to the required builds (apache#9721)
  Fix H3 transaction leak (apache#9714)
  Only need to include eventfd for native mode. This was using the wrong define anyway (apache#9711)
  Cleanup: remove ts::Buffer from LogField. (apache#9665)
  Cleanup: remove ts::Buffer from URL.cc (apache#9663)
  Check the calling thread of Ethread::schedule_local (apache#9691)
  build_h3_tools.sh: Remove an unneeded dir check (apache#9710)
  autoconf: Add lib flags for the quiche build test. (apache#9679)
  Remove deprecated debug output functions from 13 source files. (apache#9676)
  Changes for C++23 (apache#9703)
  QUIC: Add a unit tests to validate that the qlog file is generated (and no crashes) (apache#9668)
  libswoc: Update to 1.4.10 (apache#9700)
  Reload hosting.config on TASK thread (apache#9699)
  Changes for C++20 (apache#9701)
  Make io_uring or thread AIO modes a startup time decision (vs compile time) (apache#9630)
  Replace curl with proxy verifier in proxy protocol tests (apache#9684)
  Fix event queue corruption on PreWarmManager::reconfigure (apache#9692)
  Fixes crashes around OCSP with FetchSM (apache#9672)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants