Support #14580
openSegementation fault running in Docker
0%
Description
Hello,
I had to apply some updates to our Wt app, and I normally develop on a Mac, and the app is deployed as a Docker image (Alpine with same boost and Wt versions). Both environments have been updated to boost 1.91.0 and Wt 4.13.2. I am running into issues running the app in both environments now.
On my Mac (Mac OS 25.5.0) the app fails to start properly with the following error (just keeps repeating until I kill the process):
[2026-Jun-05 08:32:24.806] 47573 - [error] "wthttp: handleTcpAccept: async_accept error: Bad file descriptor"
I tried downgrading to Boost 1.90, and Wt 4.12.5 and still have the same issue.
When running the Docker (Alpine 3.23.4) image, I get a segmentation fault with the following trace:
[2026-Jun-05 13:27:07.457] 41 - [info] "config: reading Wt config file: /opt/wirepulse/var/wt_config.xml (location = '/opt/wirepulse/bin/auth-app')"
[2026-Jun-05 13:27:07.457] 41 - [info] "WServer/wthttp: initializing built-in wthttpd"
Thread 1 "auth-app" received signal SIGSEGV, Segmentation fault.
0x0000aaaad1c63be0 in boost::asio::execution_context::allocator<boost::asio::detail::epoll_reactor::descriptor_state>::allocate (this=<synthetic pointer>, n=1) at /opt/local/include/boost/asio/execution_context.hpp:402
warning: 402 /opt/local/include/boost/asio/execution_context.hpp: No such file or directory
(gdb) bt
#0 0x0000aaaad1c63be0 in boost::asio::execution_context::allocator<boost::asio::detail::epoll_reactor::descriptor_state>::allocate (this=<synthetic pointer>, n=1) at /opt/local/include/boost/asio/execution_context.hpp:402
#1 std::allocator_traits<boost::asio::execution_context::allocator<boost::asio::detail::epoll_reactor::descriptor_state> >::allocate (__a=<synthetic pointer>..., __n=1) at /usr/include/c++/15.2.0/bits/alloc_traits.h:385
#2 boost::asio::detail::allocate_object<boost::asio::detail::epoll_reactor::descriptor_state, boost::asio::execution_context::allocator<void>, bool&, int&> (a=...) at /opt/local/include/boost/asio/detail/memory.hpp:65
#3 0x0000aaaad1c7166c in boost::asio::detail::object_pool<boost::asio::detail::epoll_reactor::descriptor_state, boost::asio::execution_context::allocator<void> >::alloc<bool, int> (this=0xffffb5831090)
at /opt/local/include/boost/asio/detail/object_pool.hpp:70
#4 boost::asio::detail::epoll_reactor::allocate_descriptor_state (this=0xffffb5830fc0)
at /opt/local/include/boost/asio/detail/impl/epoll_reactor.ipp:685
#5 boost::asio::detail::epoll_reactor::register_descriptor (this=0xffffb5830fc0, descriptor=11,
descriptor_data=@0xffffb48fbc20: 0x0) at /opt/local/include/boost/asio/detail/impl/epoll_reactor.ipp:169
#6 boost::asio::detail::reactive_socket_service_base::do_open (this=<optimized out>, impl=..., af=<optimized out>,
type=1, protocol=6, ec=...) at /opt/local/include/boost/asio/detail/impl/reactive_socket_service_base.ipp:193
#7 boost::asio::detail::reactive_socket_service<boost::asio::ip::tcp>::open (this=<optimized out>, impl=...,
protocol=..., ec=...) at /opt/local/include/boost/asio/detail/reactive_socket_service.hpp:129
#8 boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::any_io_executor>::open (
this=this@entry=0xffffb48fbc10, protocol=...) at /opt/local/include/boost/asio/basic_socket_acceptor.hpp:476
#9 0x0000aaaad1c6628c in http::server::Server::addTcpEndpoint (this=0xffffb58d1200, endpoint=..., address=...,
errc=...) at /opt/wt/src/http/Server.C:385
#10 0x0000aaaad1c66c9c in http::server::Server::addTcpListener (this=this@entry=0xffffb58d1200, resolver=...,
address=..., port=...) at /opt/wt/src/http/Server.C:363
#11 0x0000aaaad1c6bbd8 in http::server::Server::start (this=this@entry=0xffffb58d1200)
at /opt/wt/src/http/Configuration.h:66
#12 0x0000aaaad1c6c518 in http::server::Server::Server (this=this@entry=0xffffb58d1200, config=..., wtServer=...)
at /opt/wt/src/http/Server.C:152
#13 0x0000aaaad1c4d5b8 in Wt::WServer::start (this=this@entry=0xfffff4ea68c8) at /opt/wt/src/http/WServer.C:200
#14 0x0000aaaad1c4d944 in Wt::WServer::run (this=0xfffff4ea68c8) at /opt/wt/src/http/WServer.C:284
#15 0x0000aaaad16e1d94 in main (argc=17, argv=0xfffff4ea6ad8) at /opt/wirepulse/auth-app/src/main.cpp:44```
I have not tried downgrading the Docker image to other versions. Any clues?
Thanks
Rakesh
Updated by Rakesh Vidyadharan about 1 month ago
I downgraded to 4.12.6 for the Docker image, and it works without any issues. I have not tried any other 4.3.x versions yet.