Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Summary: In the dequeue loop, we check both if the queue is empty and the thread isn't killed. The latter is a problem. If the thread is in fact killed, then we proceed to dequeue an item from an empty queue. Notice that the queue had size of -1: ``` (lldb) p *((Sql_cmd_dump_table::Dump_worker_args*)0x00007f8386a86240)->queue (Work_queue<Sql_cmd_dump_table::Dump_work_item>) { queue = size=4294967295 {} // -1 ... is_shutdown = true (lldb) p thd->killed (std::atomic<THD::killed_state>) (_M_i = KILL_CONNECTION) ``` Differential Revision: D64731166 fbshipit-source-id: 25ef5371a7e49880a8dff18f69392fa8066b0735
- Loading branch information