smd-server has: ii liblua5.1-0:amd64 ii liblua5.1-0-dev:amd64 ii liblua5.2-0:amd64 ii liblua5.2-rrd0 ii lua5.1 ii lua5.2 Note that the newest lua (5.2) doesn't have the dev headers installed. The current dlopen() call blindly tries to find the newest lua version, which in our case will not match the version discovered and linked against during build. Some sort of symbol mismatch then leads to errors like: slurmctld: error: lua: /home/tim/15.08/etc/job_submit.lua: attempt to load a text chunk (mode is '') slurmctld: error: Couldn't load specified plugin name for job_submit/lua: Plugin init() callback failed slurmctld: error: cannot create job_submit context for job_submit/lua slurmctld: fatal: failed to initialize job_submit plugin Attached patches first refactor a common section in two affected plugins, then second patch adds some autotools magic to identify the correct version and match up the dlopen calls in that now shared xlua_dlopen() function. This should also make it easier to support lua5.3 in the future.
Created attachment 2403 [details] 0001-refactor-common-dlopen-calls-in-lua-plugins.patch
Created attachment 2404 [details] 0002-make-lua-dlopen-conditional-on-version-found-at-buil.patch
Promote to Sev4 and assign over to Danny for review. It keeps causing problems for me on smd-server.
Thanks Tim, these have been committed. I ended up putting them in 15.08 FYI.
Need to revisit in 16.05 with additional changes to autoconf macros and properly handling differences in packaging between RHEL and Debian distributions. Bug #2243 documents how this fix did not work as intended originally.
This is fixed in commit e75f6118540a