kjm33 opened a new issue, #12353:
URL: https://github.com/apache/trafficserver/issues/12353

   # Version
   trafficserver-10.0.6
   
   # Steps to reproduce
   
   1. Make sure that /etc/trafficserver/sni.yaml doesn't exist
   2. run test_net
   
   ```
   [rpmbuild@localhost net]$ ./test_net
   [Jul 11 12:00:03.368] test_net NOTE: 
/home/rpmbuild/rpmbuild/BUILD/trafficserver-10.0.6/src/iocore/net/unit_tests/sni_conf_test.yaml
 loading ...
   [Jul 11 12:00:03.368] test_net NOTE: 
/home/rpmbuild/rpmbuild/BUILD/trafficserver-10.0.6/src/iocore/net/unit_tests/sni_conf_test.yaml
 loading ...
   [Jul 11 12:00:03.369] test_net NOTE: 
/home/rpmbuild/rpmbuild/BUILD/trafficserver-10.0.6/src/iocore/net/unit_tests/sni_conf_test.yaml
 loading ...
   [Jul 11 12:00:03.369] test_net NOTE: 
/home/rpmbuild/rpmbuild/BUILD/trafficserver-10.0.6/src/iocore/net/unit_tests/sni_conf_test.yaml
 loading ...
   [Jul 11 12:00:03.369] test_net NOTE: 
/home/rpmbuild/rpmbuild/BUILD/trafficserver-10.0.6/src/iocore/net/unit_tests/sni_conf_test.yaml
 loading ...
   [Jul 11 12:00:03.370] test_net NOTE: 
/home/rpmbuild/rpmbuild/BUILD/trafficserver-10.0.6/src/iocore/net/unit_tests/sni_conf_test.yaml
 loading ...
   [Jul 11 12:00:03.370] test_net NOTE: 
/home/rpmbuild/rpmbuild/BUILD/trafficserver-10.0.6/src/iocore/net/unit_tests/sni_conf_test.yaml
 loading ...
   [Jul 11 12:00:03.370] test_net NOTE: 
/home/rpmbuild/rpmbuild/BUILD/trafficserver-10.0.6/src/iocore/net/unit_tests/sni_conf_test.yaml
 loading ...
   [Jul 11 12:00:03.371] test_net NOTE: 
/home/rpmbuild/rpmbuild/BUILD/trafficserver-10.0.6/src/iocore/net/unit_tests/sni_conf_test.yaml
 loading ...
   [Jul 11 12:00:03.371] test_net NOTE: 
/home/rpmbuild/rpmbuild/BUILD/trafficserver-10.0.6/src/iocore/net/unit_tests/sni_conf_test.yaml
 loading ...
   [Jul 11 12:00:03.371] test_net NOTE: 
/home/rpmbuild/rpmbuild/BUILD/trafficserver-10.0.6/src/iocore/net/unit_tests/sni_conf_test.yaml
 loading ...
   [Jul 11 12:00:03.372] test_net NOTE: /etc/trafficserver/sni.yaml loading ...
   [Jul 11 12:00:03.372] test_net EMERGENCY: /etc/trafficserver/sni.yaml failed 
to load: Error: exception - bad file: /etc/trafficserver/sni.yaml
   
   Emergency: /etc/trafficserver/sni.yaml failed to load: Error: exception - 
bad file: /etc/trafficserver/sni.yaml
   
   [rpmbuild@localhost net]$
   ```
   
   
   # High level description
   
   in ```src/iocore/net/unit_tests/test_SSLSNIConfig.cc```
   First test uses ```sni_conf_test.yaml``` -> 
```_XSTR(LIBINKNET_UNIT_TEST_DIR) "/sni_conf_test.yaml")```
   ```
   TEST_CASE("Test SSLSNIConfig")
   {
     SNIConfigParams params;
     REQUIRE(params.initialize(_XSTR(LIBINKNET_UNIT_TEST_DIR) 
"/sni_conf_test.yaml"));
   
   ```
   but the last test tries to use the default SNI configuration file 
```/etc/trafficserver/sni.yaml``` on ```SNIConfig::reconfigure();```
   ```
   TEST_CASE("SNIConfig reconfigure callback is invoked")
   {
     int  result{0};
     auto set_result{[&result]() { result = 42; }};
     SNIConfig::set_on_reconfigure_callback(set_result);
     SNIConfig::reconfigure();
     CHECK(result == 42);
   }
   ```
   
   # Workaround
   
   ## Creating dedicated records.yaml file with 
"proxy.config.ssl.servername.filename" parameter
   ```
   records:
     ssl:
       servername:
         filename: 
/home/rpmbuild/rpmbuild/BUILD/trafficserver-10.0.6/src/iocore/net/unit_tests/sni_conf_test.yaml
   ```
   
   ## Setting PROXY_CONFIG_CONFIG_DIR env variable to the directory containing 
records.yaml from the previous point
   
   
   # Stack trace
   ```
   0x00007ffff77b146d in std::basic_filebuf<char, std::char_traits<char> 
>::~basic_filebuf (this=<optimized out>, __in_chrg=<optimized out>) at 
/usr/include/c++/11/fstream:255
   255             __catch(...)
   (gdb) where
   #0  0x00007ffff77b146d in std::basic_filebuf<char, std::char_traits<char> 
>::~basic_filebuf (this=<optimized out>, __in_chrg=<optimized out>) at 
/usr/include/c++/11/fstream:255
   #1  std::basic_ifstream<char, std::char_traits<char> >::~basic_ifstream 
(this=<optimized out>, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) 
at /usr/include/c++/11/fstream:605
   #2  YAML::LoadFile (filename="/etc/trafficserver/sni.yaml") at 
/home/rpmbuild/rpmbuild/BUILD/trafficserver-10.0.6/lib/yamlcpp/src/parse.cpp:38
   #3  0x0000555555639371 in YamlSNIConfig::loader 
(this=this@entry=0x7fffffffceb0, cfgFilename="/etc/trafficserver/sni.yaml") at 
/home/rpmbuild/rpmbuild/BUILD/trafficserver-10.0.6/src/iocore/net/YamlSNIConfig.cc:83
   #4  0x00005555556619e3 in SNIConfigParams::initialize 
(this=this@entry=0x55555599ec10, sni_filename="/etc/trafficserver/sni.yaml") at 
/home/rpmbuild/rpmbuild/BUILD/trafficserver-10.0.6/src/iocore/net/SSLSNIConfig.cc:310
   #5  0x0000555555662596 in SNIConfigParams::initialize (this=0x55555599ec10) 
at 
/home/rpmbuild/rpmbuild/BUILD/trafficserver-10.0.6/src/iocore/net/SSLSNIConfig.cc:293
   #6  SNIConfig::reconfigure () at 
/home/rpmbuild/rpmbuild/BUILD/trafficserver-10.0.6/src/iocore/net/SSLSNIConfig.cc:352
   #7  0x00005555555cb526 in C_A_T_C_H_T_E_S_T_13 () at 
/home/rpmbuild/rpmbuild/BUILD/trafficserver-10.0.6/src/iocore/net/unit_tests/test_SSLSNIConfig.cc:123
   #8  0x00005555555d8920 in Catch::TestInvokerAsFunction::invoke 
(this=<optimized out>) at 
/home/rpmbuild/rpmbuild/BUILD/trafficserver-10.0.6/lib/catch2/catch.hpp:14328
   #9  Catch::TestCase::invoke (this=<optimized out>) at 
/home/rpmbuild/rpmbuild/BUILD/trafficserver-10.0.6/lib/catch2/catch.hpp:14167
   #10 Catch::RunContext::invokeActiveTestCase (this=0x7fffffffd850) at 
/home/rpmbuild/rpmbuild/BUILD/trafficserver-10.0.6/lib/catch2/catch.hpp:13027
   #11 0x00005555555f7a16 in Catch::RunContext::runCurrentTest 
(this=this@entry=0x7fffffffd850, redirectedCout="", redirectedCerr="") at 
/home/rpmbuild/rpmbuild/BUILD/trafficserver-10.0.6/lib/catch2/catch.hpp:13000
   #12 0x000055555560415d in Catch::RunContext::runTest 
(this=this@entry=0x7fffffffd850, testCase=...) at 
/home/rpmbuild/rpmbuild/BUILD/trafficserver-10.0.6/lib/catch2/catch.hpp:12761
   #13 0x0000555555607ac3 in Catch::(anonymous namespace)::TestGroup::execute 
(this=0x7fffffffd840) at 
/home/rpmbuild/rpmbuild/BUILD/trafficserver-10.0.6/lib/catch2/catch.hpp:13354
   #14 Catch::Session::runInternal (this=this@entry=0x7fffffffdaf0) at 
/home/rpmbuild/rpmbuild/BUILD/trafficserver-10.0.6/lib/catch2/catch.hpp:13560
   #15 0x000055555560811c in Catch::Session::run 
(this=this@entry=0x7fffffffdaf0) at 
/home/rpmbuild/rpmbuild/BUILD/trafficserver-10.0.6/lib/catch2/catch.hpp:13516
   #16 0x00005555555afbb0 in Catch::Session::run<char> (argv=0x7fffffffddc8, 
argc=1, this=0x7fffffffdaf0) at 
/home/rpmbuild/rpmbuild/BUILD/trafficserver-10.0.6/lib/catch2/catch.hpp:13238
   #17 Catch::Session::run<char> (argv=0x7fffffffddc8, argc=1, 
this=0x7fffffffdaf0) at 
/home/rpmbuild/rpmbuild/BUILD/trafficserver-10.0.6/lib/catch2/catch.hpp:13233
   #18 main (argc=1, argv=0x7fffffffddc8) at 
/home/rpmbuild/rpmbuild/BUILD/trafficserver-10.0.6/lib/catch2/catch.hpp:17533
   (gdb) 
   ```
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@trafficserver.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to