| Summary: | aviary plugin doesn't load properly | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise MRG | Reporter: | Martin Kudlej <mkudlej> | ||||
| Component: | condor-aviary | Assignee: | Robert Rati <rrati> | ||||
| Status: | CLOSED ERRATA | QA Contact: | Tomas Rusnak <trusnak> | ||||
| Severity: | urgent | Docs Contact: | |||||
| Priority: | urgent | ||||||
| Version: | Development | CC: | iboverma, jneedle, matt, pmackinn, trusnak | ||||
| Target Milestone: | 2.0 | ||||||
| Target Release: | --- | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | wso2-wsf-cpp-2.1.0-2 | Doc Type: | Bug Fix | ||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2011-06-27 15:30:11 UTC | Type: | --- | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Attachments: |
|
||||||
|
Description
Martin Kudlej
2011-04-20 12:44:03 UTC
The Axis2/C engine does explicit loading of transport libraries (and other components) based on config names. Those config names are used to construct literal file names to be dlopened. Thus... [Wed Apr 20 11:09:29 2011] [error] class_loader.c(152) Loading shared library /usr/lib64/libaxis2_http_sender.so Failed. DLERROR IS /usr/lib64/libaxis2_http_sender.so: cannot open shared object file: No such file or directory If the runtime WS02 package doesn't install the .so file or its softlink then the provider init fails. Immediate workaround is to install the wso2 -devel packages. Created attachment 493886 [details]
Axis2/C patch to allow explicit lib file names in config and services xml
Rob, I think the patch in c#3 is good to go. I found a bizarre corner case which has to do if we inadvertently put differing lib names (libfoo.so,libfoo.so.0) in the services.xml file. The library prefix gets corrupted or deleted on one of the entries. My patch(es) mingled with the axis internals somehow leads the engine to think that it can't execute on a received message because of this mix-up. However, debugging didn't really reveal the rationale for whatever Axis2/C was trying to do (not without a lot more head scratching). As long as each receiver lib file name is the same in the services.xml file, we are fine. The upshot is that this would be just considered bad config since the lib name should be identical for each operation. Indeed I need to see if we can just specify it once for all operations. Technical debt for a future release. I'll release note the issue for now. Included in 2.1.0-2 Retested over current release on all supported x86,x86_64/RHEL5,RHEL6:
$CondorVersion: 7.6.1 Apr 27 2011 BuildID: RH-7.6.1-0.4.el6 $
$CondorPlatform: X86_64-RedHat_6.0
wso2-axis2-2.1.0-3.el6.x86_64
SchedLog:
04/29/11 15:10:16 (pid:26347) ScheddPlugin registration succeeded
04/29/11 15:10:16 (pid:26347) Successfully loaded plugin: /usr/lib64/condor/plugins/AviaryScheddPlugin-plugin.so
04/29/11 15:10:16 (pid:26347) Successfully loaded plugin: /usr/lib64/condor/plugins/AviaryScheddPlugin-plugin.so
04/29/11 15:10:16 (pid:26347) Axis2 listener on http port: 9090
04/29/11 15:10:16 (pid:26347) History file rotation is enabled.
04/29/11 15:10:16 (pid:26347) Maximum history file size is: 314572800 bytes
04/29/11 15:10:16 (pid:26347) Number of rotated history files is: 10
04/29/11 15:10:16 (pid:26347) "/usr/sbin/condor_shadow.std -classad" did not produce any output, ignoring
04/29/11 15:10:16 (pid:26347) About to rotate ClassAd log /var/lib/condor/spool/job_queue.log
04/29/11 15:10:22 (pid:26347) TransferQueueManager stats: active up=0/10 down=0/10; waiting up=0 down=0; wait time up=0s down=0s
Plugins were loaded correctly.
>>> VERIFIED
|