couchbase failed to load in roxie

Description

couchbase fails to load through roxie:

0000007F 2016-12-27 14:44:26.232 4556 4556 "ERROR: 0: /mnt/disk1/jenkins/workspace/LN-Candidate-with-Plugins-6.2.0-1/LN/centos-6.0-x86_64/HPCC-Platform/common/dllserver/thorplugin.cpp(588) : Loading plugin : Failed to load plugin /opt/HPCCSystems/plugins/libcouchbaseembed.so"

Conclusion

None

Activity

Show:

Richard Chapman January 3, 2017 at 11:51 AM

Will be addressed in 6.2.0-2

Xiaoming Wang December 28, 2016 at 4:19 PM
Edited

The gdb shows libcouchbaseembed.so load OK but init fails:

PluginDll::init (this=0x2082000, pluginCtx=0x7ffff7dd6900)
at /jenkins/workspace/LN-with-Plugins-6.2.0-1-JIRA-16800/LN/centos-6.0-x86_64/HPCC-Platform/common/dllserver/thorplugin.cpp:385
385 assertex(h != (HINSTANCE) -1);
(gdb) print h
$4 = (void *) 0x20113f0
(gdb) n
386 EclPluginSetCtxEx pSetCtxEx = (EclPluginSetCtxEx) GetSharedProcedure(h,"setPluginContextEx");
(gdb) n
387 if (pSetCtxEx)
(gdb) print pSetCtxEx
$5 = (EclPluginSetCtxEx) 0
(gdb) n
392 EclPluginSetCtx pSetCtx = (EclPluginSetCtx) GetSharedProcedure(h,"setPluginContext");
(gdb) print pSetCtx
$6 = (EclPluginSetCtx) 0x2082000
(gdb) n
393 if (pSetCtx)
(gdb) print pSetCtx
$7 = (EclPluginSetCtx) 0
(gdb) n
397 EclPluginDefinition p= (EclPluginDefinition) GetSharedProcedure(h,"getECLPluginDefinition");
(gdb) n
398 if (!p)
(gdb) print p
$8 = (EclPluginDefinition) 0
(gdb) n
399 return false;

I use "dlerror" print dlsym error ((EclPluginDefinition) GetSharedProcedure(h,"getECLPluginDefinition")):

$1 = 0x165dfb0 "/opt/HPCCSystems/plugins/libcouchbaseembed.so: undefined symbol: getECLPluginDefinition"

nm shows "getECLPluginDefinitionP24ECLPluginDefinitionBlock" instead of just getECLPluginDefinition
nm /opt/HPCCSystems/plugins/libcouchbaseembed.so | grep getECLPluginDefinition
000000000002be66 T _Z22getECLPluginDefinitionP24ECLPluginDefinitionBlock

Add "extern C" will resolve the problem

Xiaoming Wang December 27, 2016 at 7:37 PM
Edited

couchbase entry in .gitmodule need update to plugins/couchbase/libcouchbase otherwise the submodule of couchbase is not even fetched with new Jenkins 2.8

README.md of couchbase tells user to install couchbase thorugh ubuntu apt-get. Is it correct?

I will build debug version platform and trace it

Fixed
Pinned fields
Click on the next to a field label to start pinning.

Details

Components

Assignee

Reporter

Priority

Fix versions

Pull Request URL

Affects versions

Created December 27, 2016 at 2:47 PM
Updated January 3, 2017 at 11:51 AM
Resolved January 3, 2017 at 11:51 AM