Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remap plugin loading unit tests failing. #11284

Open
ywkaras opened this issue Apr 23, 2024 · 2 comments
Open

Remap plugin loading unit tests failing. #11284

ywkaras opened this issue Apr 23, 2024 · 2 comments

Comments

@ywkaras
Copy link
Contributor

ywkaras commented Apr 23, 2024

In src/proxy/http/remap/unit-tests:
test_PluginDso.cc
test_PluginFactory.cc
test_RemapPlugin.cc

They build, but fail on the dlopen() call. The test plugins (also in this directory) used by this test build on all supported OSes except OSX.

@ywkaras
Copy link
Contributor Author

ywkaras commented Apr 23, 2024

Some results from Red Hat Enterprise LInux.

--- test_PluginDso ---
...
../src/proxy/http/remap/PluginDso.cc:135:load() plugin 'plugin_v1.so' failed to load: /tmp/sandbox_31leGz/runtime/plugin_v1.so: undefined symbol: pluginThreadContext
...

--- test_PluginFactory ---
...
../src/proxy/http/remap/PluginDso.cc:135:load() plugin 'plugin_v1.so' failed to load: /tmp/sandbox_E9OrQt/runtime/c71e2bab-90dc-4770-9535-c9304c3de38e/tmp/sandbox_E9OrQt/search/plugin_v1.so: undefined symbol: pluginThreadContext
...

--- test_RemapPluginInfo ---
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:63:PluginDso() PluginDso (0x1057860) created _configPath: [plugin_required_cb.so] _effectivePath: [/tmp/sandbox_yMkbHX/search/plugin_required_cb.so] _runtimePath: [/tmp/sandbox_yMkbHX/runtime/plugin_required_cb.so]
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:85:load() plugin 'plugin_required_cb.so' started loading DSO
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:92:load() plugin 'plugin_required_cb.so' effective path: /tmp/sandbox_yMkbHX/search/plugin_required_cb.so
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:115:load() plugin 'plugin_required_cb.so' runtime path: /tmp/sandbox_yMkbHX/runtime/plugin_required_cb.so
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:120:load() plugin 'plugin_required_cb.so' modification time 1713906108
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:144:load() plugin 'plugin_required_cb.so' finished loading DSO
(plugin_dso) ../src/proxy/http/remap/RemapPluginInfo.cc:58:getFunctionSymbol() plugin 'plugin_required_cb.so' found symbol 'TSRemapInit'
(plugin_dso) ../src/proxy/http/remap/RemapPluginInfo.cc:58:getFunctionSymbol() plugin 'plugin_required_cb.so' found symbol 'TSRemapDoRemap'
(plugin_dso) ../src/proxy/http/remap/RemapPluginInfo.cc:114:load() plugin 'plugin_required_cb.so' callbacks validated
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:63:PluginDso() PluginDso (0x1057860) created _configPath: [plugin_missing_init.so] _effectivePath: [/tmp/sandbox_yMkbHX/search/plugin_missing_init.so] _runtimePath: [/tmp/sandbox_yMkbHX/runtime/plugin_missing_init.so]
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:85:load() plugin 'plugin_missing_init.so' started loading DSO
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:92:load() plugin 'plugin_missing_init.so' effective path: /tmp/sandbox_yMkbHX/search/plugin_missing_init.so
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:115:load() plugin 'plugin_missing_init.so' runtime path: /tmp/sandbox_yMkbHX/runtime/plugin_missing_init.so
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:120:load() plugin 'plugin_missing_init.so' modification time 1713906108
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:144:load() plugin 'plugin_missing_init.so' finished loading DSO
(plugin_dso) ../src/proxy/http/remap/RemapPluginInfo.cc:58:getFunctionSymbol() plugin 'plugin_missing_init.so' found symbol 'TSRemapDoRemap'
../src/proxy/http/remap/RemapPluginInfo.cc:116:load() plugin 'plugin_missing_init.so' callbacks validation failed: plugin plugin_missing_init.so missing required function TSRemapInit
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:63:PluginDso() PluginDso (0x1057860) created _configPath: [plugin_missing_doremap.so] _effectivePath: [/tmp/sandbox_yMkbHX/search/plugin_missing_doremap.so] _runtimePath: [/tmp/sandbox_yMkbHX/runtime/plugin_missing_doremap.so]
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:85:load() plugin 'plugin_missing_doremap.so' started loading DSO
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:92:load() plugin 'plugin_missing_doremap.so' effective path: /tmp/sandbox_yMkbHX/search/plugin_missing_doremap.so
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:115:load() plugin 'plugin_missing_doremap.so' runtime path: /tmp/sandbox_yMkbHX/runtime/plugin_missing_doremap.so
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:120:load() plugin 'plugin_missing_doremap.so' modification time 1713906108
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:144:load() plugin 'plugin_missing_doremap.so' finished loading DSO
(plugin_dso) ../src/proxy/http/remap/RemapPluginInfo.cc:58:getFunctionSymbol() plugin 'plugin_missing_doremap.so' found symbol 'TSRemapInit'
../src/proxy/http/remap/RemapPluginInfo.cc:116:load() plugin 'plugin_missing_doremap.so' callbacks validation failed: plugin plugin_missing_doremap.so missing required function TSRemapDoRemap
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:63:PluginDso() PluginDso (0x1057860) created _configPath: [plugin_missing_deleteinstance.so] _effectivePath: [/tmp/sandbox_yMkbHX/search/plugin_missing_deleteinstance.so] _runtimePath: [/tmp/sandbox_yMkbHX/runtime/plugin_missing_deleteinstance.so]
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:85:load() plugin 'plugin_missing_deleteinstance.so' started loading DSO
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:92:load() plugin 'plugin_missing_deleteinstance.so' effective path: /tmp/sandbox_yMkbHX/search/plugin_missing_deleteinstance.so
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:115:load() plugin 'plugin_missing_deleteinstance.so' runtime path: /tmp/sandbox_yMkbHX/runtime/plugin_missing_deleteinstance.so
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:120:load() plugin 'plugin_missing_deleteinstance.so' modification time 1713906108
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:144:load() plugin 'plugin_missing_deleteinstance.so' finished loading DSO
(plugin_dso) ../src/proxy/http/remap/RemapPluginInfo.cc:58:getFunctionSymbol() plugin 'plugin_missing_deleteinstance.so' found symbol 'TSRemapInit'
(plugin_dso) ../src/proxy/http/remap/RemapPluginInfo.cc:58:getFunctionSymbol() plugin 'plugin_missing_deleteinstance.so' found symbol 'TSRemapNewInstance'
(plugin_dso) ../src/proxy/http/remap/RemapPluginInfo.cc:58:getFunctionSymbol() plugin 'plugin_missing_deleteinstance.so' found symbol 'TSRemapDoRemap'
../src/proxy/http/remap/RemapPluginInfo.cc:116:load() plugin 'plugin_missing_deleteinstance.so' callbacks validation failed: plugin plugin_missing_deleteinstance.so missing required function TSRemapDeleteInstance if TSRemapNewInstance is defined
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:63:PluginDso() PluginDso (0x1057860) created _configPath: [plugin_missing_newinstance.so] _effectivePath: [/tmp/sandbox_yMkbHX/search/plugin_missing_newinstance.so] _runtimePath: [/tmp/sandbox_yMkbHX/runtime/plugin_missing_newinstance.so]
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:85:load() plugin 'plugin_missing_newinstance.so' started loading DSO
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:92:load() plugin 'plugin_missing_newinstance.so' effective path: /tmp/sandbox_yMkbHX/search/plugin_missing_newinstance.so
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:115:load() plugin 'plugin_missing_newinstance.so' runtime path: /tmp/sandbox_yMkbHX/runtime/plugin_missing_newinstance.so
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:120:load() plugin 'plugin_missing_newinstance.so' modification time 1713906108
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:144:load() plugin 'plugin_missing_newinstance.so' finished loading DSO
(plugin_dso) ../src/proxy/http/remap/RemapPluginInfo.cc:58:getFunctionSymbol() plugin 'plugin_missing_newinstance.so' found symbol 'TSRemapInit'
(plugin_dso) ../src/proxy/http/remap/RemapPluginInfo.cc:58:getFunctionSymbol() plugin 'plugin_missing_newinstance.so' found symbol 'TSRemapDeleteInstance'
(plugin_dso) ../src/proxy/http/remap/RemapPluginInfo.cc:58:getFunctionSymbol() plugin 'plugin_missing_newinstance.so' found symbol 'TSRemapDoRemap'
../src/proxy/http/remap/RemapPluginInfo.cc:116:load() plugin 'plugin_missing_newinstance.so' callbacks validation failed: plugin plugin_missing_newinstance.so missing required function TSRemapNewInstance if TSRemapDeleteInstance is defined
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:63:PluginDso() PluginDso (0x1057860) created _configPath: [plugin_testing_calls.so] _effectivePath: [/tmp/sandbox_yMkbHX/search/plugin_testing_calls.so] _runtimePath: [/tmp/sandbox_yMkbHX/runtime/plugin_testing_calls.so]
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:85:load() plugin 'plugin_testing_calls.so' started loading DSO
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:92:load() plugin 'plugin_testing_calls.so' effective path: /tmp/sandbox_yMkbHX/search/plugin_testing_calls.so
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:115:load() plugin 'plugin_testing_calls.so' runtime path: /tmp/sandbox_yMkbHX/runtime/plugin_testing_calls.so
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:120:load() plugin 'plugin_testing_calls.so' modification time 1713906108
../src/proxy/http/remap/PluginDso.cc:135:load() plugin 'plugin_testing_calls.so' failed to load: /tmp/sandbox_yMkbHX/runtime/plugin_testing_calls.so: undefined symbol: mutexAllocator
(plugin_dso) ../src/proxy/http/remap/PluginDso.cc:144:load() plugin 'plugin_testing_calls.so' finished loading DSO

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
test_RemapPluginInfo is a Catch v2.13.8 host application.
Run with -? for options

-------------------------------------------------------------------------------
Scenario: invoking plugin init
      Given: plugin init function
-------------------------------------------------------------------------------
../src/proxy/http/remap/unit-tests/test_RemapPlugin.cc:246
...............................................................................

../src/proxy/http/remap/unit-tests/test_RemapPlugin.cc:252: FAILED:
  CHECK( true == result )
with expansion:
  true == false

-------------------------------------------------------------------------------
Scenario: invoking plugin init
      Given: plugin init function
       When: init succeeds
-------------------------------------------------------------------------------
../src/proxy/http/remap/unit-tests/test_RemapPlugin.cc:254
...............................................................................

../src/proxy/http/remap/unit-tests/test_RemapPlugin.cc:254: FAILED:
  {Unknown expression after the reported line}
due to a fatal error condition:
  SIGSEGV - Segmentation violation signal

===============================================================================
test cases:  2 |  1 passed | 1 failed
assertions: 30 | 28 passed | 2 failed

Segmentation fault (core dumped)
wkaras ~/REPOS/TS/build/src/proxy/http/remap/unit-tests
O$ nm -C -A test_*Plugin* | grep -F pluginThreadContext
test_PluginDso:0000000000000000 B pluginThreadContext
test_PluginFactory:0000000000000000 B pluginThreadContext
test_PluginFactory:0000000000518c65 W TLS wrapper function for pluginThreadContext
test_RemapPluginInfo:0000000000000000 B pluginThreadContext
test_RemapPluginInfo:00000000004fb487 W TLS wrapper function for pluginThreadContext
wkaras ~/REPOS/TS/build/src/proxy/http/remap/unit-tests
O$

@ywkaras
Copy link
Contributor Author

ywkaras commented Apr 24, 2024

wkaras ~/REPOS/TS/build/src/proxy/http/remap/unit-tests
O$ nm -C -A test_RemapPluginInfo | grep -F mutexAllocator
test_RemapPluginInfo:000000000052083c t _GLOBAL__sub_I_mutexAllocator
test_RemapPluginInfo:0000000000622400 B mutexAllocator
wkaras ~/REPOS/TS/build/src/proxy/http/remap/unit-tests
O$

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant