Hi all, I'm facing an issue where a specific sear...
# community-help
v
Hi all, I'm facing an issue where a specific search query is causing Typesense (v26.0) to terminate abruptly with a segmentation fault when running inside a Docker container. Here is the payload I’m sending to `/multi_search`:
Copy code
{
  "searches": [
    {
      "query_by": "system.lf.file.properties.template, system.lf.file.properties, ocr_data",
      "highlight_full_fields": "system.lf.file.properties.template, system.lf.file.properties, ocr_data",
      "collection": "DFXApp",
      "q": "client part",
      "facet_by": "system.lf.file.properties.CreatedBy,system.lf.file.properties.CreatedDate,system.lf.file.properties.Extension,system.lf.file.properties.ModifiedDate,system.lf.file.properties.template.template_fields.Client Id,system.lf.file.properties.template.template_fields.Client Name,system.lf.file.properties.template.template_name",
      "max_facet_values": 20,
  
    }
  ]
}
And here’s the relevant part of the error log:
Copy code
2025-05-13 15:56:27 I20250513 10:26:27.994021   358 raft_server.cpp:693] Term: 40, pending_queue: 0, last_index: 562236, committed: 562236, known_applied: 562236, applying: 0, pending_writes: 0, queued_writes: 0, local_sequence: 5888218
2025-05-13 15:56:27 I20250513 10:26:27.994182   461 raft_server.h:60] Peer refresh succeeded!
2025-05-13 15:56:28 E20250513 10:26:28.393116   106 backward.hpp:4200] Stack trace (most recent call last) in thread 106:
2025-05-13 15:56:28 E20250513 10:26:28.393154   106 backward.hpp:4200] #13   Object "", at 0xffffffffffffffff, in 
2025-05-13 15:56:28 E20250513 10:26:28.393162   106 backward.hpp:4200] #12   Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x7f6a54aa5a03, in __clone
2025-05-13 15:56:28 E20250513 10:26:28.393167   106 backward.hpp:4200] #11   Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x7f6a54a14ac2, in 
2025-05-13 15:56:28 E20250513 10:26:28.393172   106 backward.hpp:4200] #10   Object "/opt/typesense-server", at 0x55593e677843, in execute_native_thread_routine
2025-05-13 15:56:28 E20250513 10:26:28.393177   106 backward.hpp:4200] #9  | Source "include/threadpool.h", line 57, in operator()
2025-05-13 15:56:28 E20250513 10:26:28.393180   106 backward.hpp:4200]       Source "/usr/include/c++/10/future", line 1592, in ThreadPool [0x55593bb57b1c]
2025-05-13 15:56:28 E20250513 10:26:28.393185   106 backward.hpp:4200] #8  | Source "/usr/include/c++/10/future", line 1459, in _M_set_result
2025-05-13 15:56:28 E20250513 10:26:28.393189   106 backward.hpp:4200]     | Source "/usr/include/c++/10/future", line 412, in call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter>()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter>()>*, bool*>
2025-05-13 15:56:28 E20250513 10:26:28.393194   106 backward.hpp:4200]     | Source "/usr/include/c++/10/mutex", line 729, in __gthread_once
2025-05-13 15:56:28 E20250513 10:26:28.393198   106 backward.hpp:4200]       Source "/usr/include/x86_64-linux-gnu/c++/10/bits/gthr-default.h", line 700, in _M_run [0x55593bd08a73]
2025-05-13 15:56:28 E20250513 10:26:28.393203   106 backward.hpp:4200] #7    Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x7f6a54a19ee7, in 
2025-05-13 15:56:28 E20250513 10:26:28.393208   106 backward.hpp:4200] #6  | Source "/usr/include/c++/10/future", line 572, in operator()
2025-05-13 15:56:28 E20250513 10:26:28.393213   106 backward.hpp:4200]       Source "/usr/include/c++/10/bits/std_function.h", line 622, in _M_do_set [0x55593bb56d32]
2025-05-13 15:56:28 E20250513 10:26:28.393216   106 backward.hpp:4200] #5  | Source "/usr/include/c++/10/bits/std_function.h", line 292, in __invoke_r<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter>, std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::__future_base::_Task_state<_Fn, _Alloc, _Res(_Args ...)>::_M_run<std::_Bind<HttpServer::process_request(const std::shared_ptr<http_req>&, const std::shared_ptr<http_res>&, route_path*, const h2o_custom_req_handler_t*, bool)::<lambda()>()>, std::allocator<int>, void, {}>::<lambda()>, void>&>
2025-05-13 15:56:28 E20250513 10:26:28.393221   106 backward.hpp:4200]     | Source "/usr/include/c++/10/bits/invoke.h", line 115, in __invoke_impl<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::__future_base::_Task_state<_Fn, _Alloc, _Res(_Args ...)>::_M_run<std::_Bind<HttpServer::process_request(const std::shared_ptr<http_req>&, const std::shared_ptr<http_res>&, route_path*, const h2o_custom_req_handler_t*, bool)::<lambda()>()>, std::allocator<int>, void, {}>::<lambda()>, void>&>
2025-05-13 15:56:28 E20250513 10:26:28.393225   106 backward.hpp:4200]     | Source "/usr/include/c++/10/bits/invoke.h", line 60, in operator()
2025-05-13 15:56:28 E20250513 10:26:28.393229   106 backward.hpp:4200]     | Source "/usr/include/c++/10/future", line 1397, in operator()
2025-05-13 15:56:28 E20250513 10:26:28.393234   106 backward.hpp:4200]     | Source "/usr/include/c++/10/future", line 1456, in __invoke_r<void, std::_Bind<HttpServer::process_request(const std::shared_ptr<http_req>&, const std::shared_ptr<http_res>&, route_path*, const h2o_custom_req_handler_t*, bool)::<lambda()>()>&>
2025-05-13 15:56:28 E20250513 10:26:28.393239   106 backward.hpp:4200]     | Source "/usr/include/c++/10/bits/invoke.h", line 110, in __invoke_impl<void, std::_Bind<HttpServer::process_request(const std::shared_ptr<http_req>&, const std::shared_ptr<http_res>&, route_path*, const h2o_custom_req_handler_t*, bool)::<lambda()>()>&>
2025-05-13 15:56:28 E20250513 10:26:28.393244   106 backward.hpp:4200]     | Source "/usr/include/c++/10/bits/invoke.h", line 60, in operator()<>
2025-05-13 15:56:28 E20250513 10:26:28.393249   106 backward.hpp:4200]     | Source "/usr/include/c++/10/functional", line 499, in __call<void>
2025-05-13 15:56:28 E20250513 10:26:28.393253   106 backward.hpp:4200]     | Source "/usr/include/c++/10/functional", line 416, in __invoke<HttpServer::process_request(const std::shared_ptr<http_req>&, const std::shared_ptr<http_res>&, route_path*, const h2o_custom_req_handler_t*, bool)::<lambda()>&>
2025-05-13 15:56:28 E20250513 10:26:28.393257   106 backward.hpp:4200]     | Source "/usr/include/c++/10/bits/invoke.h", line 95, in __invoke_impl<void, HttpServer::process_request(const std::shared_ptr<http_req>&, const std::shared_ptr<http_res>&, route_path*, const h2o_custom_req_handler_t*, bool)::<lambda()>&>
2025-05-13 15:56:28 E20250513 10:26:28.393261   106 backward.hpp:4200]     | Source "/usr/include/c++/10/bits/invoke.h", line 60, in operator()
2025-05-13 15:56:28 E20250513 10:26:28.393265   106 backward.hpp:4200]       Source "src/http_server.cpp", line 706, in _M_invoke [0x55593bd0a993]
2025-05-13 15:56:28 E20250513 10:26:28.393270   106 backward.hpp:4200] #4    Source "src/core_api.cpp", line 474, in get_search [0x55593bc7d81f]
2025-05-13 15:56:28 E20250513 10:26:28.393275   106 backward.hpp:4200] #3    Source "src/collection_manager.cpp", line 1888, in do_search [0x55593bc29aa2]
2025-05-13 15:56:28 E20250513 10:26:28.393278   106 backward.hpp:4200] #2  | Source "src/collection.cpp", line 2350, in ~unique_ptr
2025-05-13 15:56:28 E20250513 10:26:28.393282   106 backward.hpp:4200]     | Source "/usr/include/c++/10/bits/unique_ptr.h", line 361, in operator()
2025-05-13 15:56:28 E20250513 10:26:28.393287   106 backward.hpp:4200]     | Source "/usr/include/c++/10/bits/unique_ptr.h", line 79, in operator()
2025-05-13 15:56:28 E20250513 10:26:28.393291   106 backward.hpp:4200]       Source "/usr/include/c++/10/bits/unique_ptr.h", line 85, in search [0x55593bbb04a0]
2025-05-13 15:56:28 E20250513 10:26:28.393296   106 backward.hpp:4200] #1    Source "include/index.h", line 222, in ~search_args [0x55593bbc8a4f]
2025-05-13 15:56:28 E20250513 10:26:28.393301   106 backward.hpp:4200] #0  | Source "include/topster.h", line 158, in ~unordered_map
2025-05-13 15:56:28 E20250513 10:26:28.393306   106 backward.hpp:4200]     | Source "/usr/include/c++/10/bits/unordered_map.h", line 102, in ~_Hashtable
2025-05-13 15:56:28 E20250513 10:26:28.393311   106 backward.hpp:4200]     | Source "/usr/include/c++/10/bits/hashtable.h", line 1442, in clear
2025-05-13 15:56:28 E20250513 10:26:28.393314   106 backward.hpp:4200]     | Source "/usr/include/c++/10/bits/hashtable.h", line 2085, in _M_deallocate_nodes
2025-05-13 15:56:28 E20250513 10:26:28.393321   106 backward.hpp:4200]     | Source "/usr/include/c++/10/bits/hashtable_policy.h", line 2075, in _M_next
2025-05-13 15:56:28 E20250513 10:26:28.393326   106 backward.hpp:4200]       Source "/usr/include/c++/10/bits/hashtable_policy.h", line 283, in ~Topster [0x55593bbc5743]
2025-05-13 15:56:28 Segmentation fault (Signal sent by the kernel [(nil)])
2025-05-13 15:56:31 E20250513 10:26:31.407758   106 typesense_server.cpp:137] Typesense 26.0 is terminating abruptly.
Thanks in advance!