Ticket #11858 (new)

Opened 5 years ago

Last modified 5 years ago

OSX Crash with Automatic Proxy Configuration

Reported by: Owen Arnold Owned by: Steven Hahn
Priority: critical Milestone: Release 3.5
Component: Framework Keywords: osx
Cc: Blocked By:
Blocking: Tester:

Description (last modified by Owen Arnold) (diff)

Mantid can crash with Automatic Proxy Configuration set. This follows from my investigation into the issue reported by Jan to Mantid Help 19th May 2015.

This is the offending part of the the stack-trace. This happens on Mantid Start-up. I've given Jan enough help now that I think he can side-step the issue, but we should make Mantid robust against this crash.

Thread 12 Crashed:
0   com.apple.CoreFoundation      0x00007fff8d61409c CFStringGetCString + 44
1   libMantidKernel.dylib         0x000000011197585e Mantid::Kernel::toString(__CFString const*) + 94
2   libMantidKernel.dylib         0x0000000111975b8d Mantid::Kernel::proxyFromDictionary(__CFDictionary const*) + 205
3   libMantidKernel.dylib         0x0000000111975fc6 Mantid::Kernel::proxyInformationFromPac(__CFDictionary const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Mantid::Kernel::Logger&) + 902
4   libMantidKernel.dylib         0x00000001119762cd Mantid::Kernel::findHttpProxy(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Mantid::Kernel::Logger&) + 109
5   libMantidKernel.dylib         0x0000000111976628 Mantid::Kernel::NetworkProxy::getHttpProxy(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 24
6   libMantidKernel.dylib         0x0000000111818b30 Mantid::Kernel::ConfigServiceImpl::getProxy(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 368
7   libMantidKernel.dylib         0x0000000111847762 Mantid::Kernel::InternetHelper::setupProxyOnSession(Poco::Net::HTTPClientSession&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 50
8   libMantidKernel.dylib         0x0000000111848e06 Mantid::Kernel::InternetHelper::sendHTTPSRequest(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_ostream<char, std::__1::char_traits<char> >&) + 1110
9   libMantidKernel.dylib         0x0000000111847f46 Mantid::Kernel::InternetHelper::sendRequest(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_ostream<char, std::__1::char_traits<char> >&) + 102
10  libMantidKernel.dylib         0x000000011184a2c6 
  • If possible modify the OSX code to correctly handle automatic proxy configurations of the kind that Jan has.
  • In the addition to the above, we should make the InternetHelper and Proxy configuration exception safe, and try to catch the cause of the segfault before it actually occurs.
  • The config in Mantid has a proxy.host and proxy.port. If these are set, the Internet helper doesn't bother to try to create the NetworkProxy instance and fetch the proxy information. I think Mantid needs the explicit option to remain offline. I think this should be placed into the properties menu of Mantid.

Other information from Jan

I called our IT lady I know and she provided me with what the proxy address for our systems should be. We have pair which should be :

146.137.70.70
146.137.70.71

This is what the Auto proxy discovery should give me. 

Change History

comment:1 Changed 5 years ago by Owen Arnold

  • Description modified (diff)

comment:2 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 12696

Note: See TracTickets for help on using tickets.