MacPorts Shibboleth SP 2.5.5 defunct?

Lukas Hämmerle lukas.haemmerle at switch.ch
Thu Sep 10 07:30:01 EDT 2015


On 04.09.15 15:26, Cantor, Scott wrote:
> On 9/4/15, 4:32 AM, "dev on behalf of Lukas Hämmerle"
> <dev-bounces at shibboleth.net on behalf of lukas.haemmerle at switch.ch>
> wrote:
> 
>> I suspect that this is therefore a 10.9/MacPorts-related problem.
> 
> I don't have a 10.9 system handy. I have a Mini I can probably work
> on to get a copy, but since 10.9 isn't current, it doesn't really
> seem worth it apart from documenting.

If it helps:
I had it running on 10.9 before the port upgrade. So, I suspect one of
the dependencies is the problem, which also means that downgrading to
that version might make shibd work again. Most likely, one of the
versions changed, which causes shibd to segfault:


> valgrind shibd -t
> ==64705== Memcheck, a memory error detector
> ==64705== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
> ==64705== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
> ==64705== Command: shibd -t
> ==64705== 
> ==64705== Conditional jump or move depends on uninitialised value(s)
> ==64705==    at 0x167CDB6: pthread_rwlock_init (in /usr/lib/system/libsystem_pthread.dylib)
> ==64705==    by 0x94A535: xmltooling::RWLockImpl::RWLockImpl() (in /opt/local/lib/libxmltooling.6.dylib)
> ==64705==    by 0x94A94B: xmltooling::RWLock::create() (in /opt/local/lib/libxmltooling.6.dylib)
> ==64705==    by 0x93E64A: xmltooling::ReloadableXMLFile::ReloadableXMLFile(xercesc_3_1::DOMElement const*, log4shib::Category&, bool) (in /opt/local/lib/libxmltooling.6.dylib)
> ==64705==    by 0xA4214: shibsp::XMLServiceProviderFactory(xercesc_3_1::DOMElement const* const&) (in /opt/local/lib/libshibsp.6.dylib)
> ==64705==    by 0x20DD6: xmltooling::PluginManager<shibsp::ServiceProvider, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, xercesc_3_1::DOMElement const*>::newPlugin(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, xercesc_3_1::DOMElement const* const&) (in /opt/local/lib/libshibsp.6.dylib)
> ==64705==    by 0x20461: shibsp::SPConfig::instantiate(char const*, bool) (in /opt/local/lib/libshibsp.6.dylib)
> ==64705==    by 0x1000036D9: main (in /opt/local/sbin/shibd)
> ==64705== 
> ==64705== Use of uninitialised value of size 8
> ==64705==    at 0x941D09: xmltooling::ReloadableXMLFile::load() (in /opt/local/lib/libxmltooling.6.dylib)
> ==64705==    by 0xA5C63: (anonymous namespace)::XMLConfig::background_load() (in /opt/local/lib/libshibsp.6.dylib)
> ==64705==    by 0xA460A: (anonymous namespace)::XMLConfig::init() (in /opt/local/lib/libshibsp.6.dylib)
> ==64705==    by 0x204EF: shibsp::SPConfig::instantiate(char const*, bool) (in /opt/local/lib/libshibsp.6.dylib)
> ==64705==    by 0x1000036D9: main (in /opt/local/sbin/shibd)
> ==64705== 
> ==64705== Invalid read of size 8
> ==64705==    at 0x941D09: xmltooling::ReloadableXMLFile::load() (in /opt/local/lib/libxmltooling.6.dylib)
> ==64705==    by 0xA5C63: (anonymous namespace)::XMLConfig::background_load() (in /opt/local/lib/libshibsp.6.dylib)
> ==64705==    by 0xA460A: (anonymous namespace)::XMLConfig::init() (in /opt/local/lib/libshibsp.6.dylib)
> ==64705==    by 0x204EF: shibsp::SPConfig::instantiate(char const*, bool) (in /opt/local/lib/libshibsp.6.dylib)
> ==64705==    by 0x1000036D9: main (in /opt/local/sbin/shibd)
> ==64705==  Address 0x30 is not stack'd, malloc'd or (recently) free'd
> ==64705== 
> ==64705== 
> ==64705== Process terminating with default action of signal 11 (SIGSEGV)
> ==64705==  Access not within mapped region at address 0x30
> ==64705==    at 0x941D09: xmltooling::ReloadableXMLFile::load() (in /opt/local/lib/libxmltooling.6.dylib)
> ==64705==    by 0xA5C63: (anonymous namespace)::XMLConfig::background_load() (in /opt/local/lib/libshibsp.6.dylib)
> ==64705==    by 0xA460A: (anonymous namespace)::XMLConfig::init() (in /opt/local/lib/libshibsp.6.dylib)
> ==64705==    by 0x204EF: shibsp::SPConfig::instantiate(char const*, bool) (in /opt/local/lib/libshibsp.6.dylib)
> ==64705==    by 0x1000036D9: main (in /opt/local/sbin/shibd)
> ==64705==  If you believe this happened as a result of a stack
> ==64705==  overflow in your program's main thread (unlikely but
> ==64705==  possible), you can try to increase the size of the
> ==64705==  main thread stack using the --main-stacksize= flag.
> ==64705==  The main thread stack size used in this run was 8388608.
> ==64705== 
> ==64705== HEAP SUMMARY:
> ==64705==     in use at exit: 758,427 bytes in 10,191 blocks
> ==64705==   total heap usage: 14,984 allocs, 4,793 frees, 2,455,617 bytes allocated
> ==64705== 
> ==64705== LEAK SUMMARY:
> ==64705==    definitely lost: 5,172 bytes in 42 blocks
> ==64705==    indirectly lost: 338,751 bytes in 4,825 blocks
> ==64705==      possibly lost: 137,914 bytes in 1,085 blocks
> ==64705==    still reachable: 249,958 bytes in 3,856 blocks
> ==64705==         suppressed: 26,632 bytes in 383 blocks
> ==64705== Rerun with --leak-check=full to see details of leaked memory
> ==64705== 
> ==64705== For counts of detected and suppressed errors, rerun with: -v
> ==64705== Use --track-origins=yes to see where uninitialised values come from
> ==64705== ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)


I am not a valgrind expert but maybe someone sees the problem. My guess
would be that xmltooling or xercesc are the culprits.



Best Regards
Lukas

-- 
SWITCH
Lukas Hämmerle, Central Solutions
GÉANT Project Task Leader "Enabling Users"
Werdstrasse 2, P.O. Box, 8021 Zurich, Switzerland
phone +41 44 268 15 05, direct +41 44 268 15 64
lukas.haemmerle at switch.ch, http://www.switch.ch


More information about the dev mailing list