Project

General

Profile

Actions

Support #14580

open

Segementation fault running in Docker

Added by Rakesh Vidyadharan about 1 month ago. Updated about 1 month ago.

Status:
New
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
06/05/2026
Due date:
% Done:

0%

Estimated time:

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
Actions #1

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.

Actions

Also available in: Atom PDF