Okay a ran flightcrew-plugin from the command line inside lldb focused on an unzipped folder holding your test ebook and then put a breakpoint to catch the throwing of an exception.
Here is the backtrace:
Code:
(lldb) process launch dug/
Process 808 launched: './flightcrew-plugin' (x86_64)
Error during run: std::exception
Process 808 exited with status = 1 (0x00000001)
(lldb) b __cxa_throw
Breakpoint 1: where = libc++abi.dylib`__cxa_throw, address = 0x00007fff501bb1f4
(lldb) run
Process 816 launched: './flightcrew-plugin' (x86_64)
Process 816 stopped
* thread #1: tid = 0x22343, 0x00007fff501bb1f4 libc++abi.dylib`__cxa_throw, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
frame #0: 0x00007fff501bb1f4 libc++abi.dylib`__cxa_throw
libc++abi.dylib`__cxa_throw:
-> 0x7fff501bb1f4 <+0>: pushq %rbp
0x7fff501bb1f5 <+1>: movq %rsp, %rbp
0x7fff501bb1f8 <+4>: pushq %r15
0x7fff501bb1fa <+6>: pushq %r14
(lldb) bt
* thread #1: tid = 0x22343, 0x00007fff501bb1f4 libc++abi.dylib`__cxa_throw, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
* frame #0: 0x00007fff501bb1f4 libc++abi.dylib`__cxa_throw
frame #1: 0x000000010002dc09 flightcrew-plugin`void boost::throw_exception<FlightCrew::PathNotInUtf8>(FlightCrew::PathNotInUtf8 const&) + 201
frame #2: 0x0000000100029d63 flightcrew-plugin`void boost::exception_detail::throw_exception_<FlightCrew::PathNotInUtf8>(FlightCrew::PathNotInUtf8 const&, char const*, char const*, int) + 179
frame #3: 0x00000001000293ed flightcrew-plugin`FlightCrew::Util::Utf8PathToBoostPath(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 765
frame #4: 0x000000010006467b flightcrew-plugin`FlightCrew::ReachabilityAnalysis::GetLinkedResourcesFromOps(boost::filesystem::path const&) + 683
frame #5: 0x0000000100063590 flightcrew-plugin`FlightCrew::ReachabilityAnalysis::GetLinkedResourcesFromAllOps(boost::unordered::unordered_set<boost::filesystem::path, boost::hash<boost::filesystem::path>, std::__1::equal_to<boost::filesystem::path>, std::__1::allocator<boost::filesystem::path> > const&) + 208
frame #6: 0x00000001000630d6 flightcrew-plugin`FlightCrew::ReachabilityAnalysis::GetDirectlyReachableResources(boost::unordered::unordered_set<boost::filesystem::path, boost::hash<boost::filesystem::path>, std::__1::equal_to<boost::filesystem::path>, std::__1::allocator<boost::filesystem::path> > const&) + 54
frame #7: 0x000000010005fb42 flightcrew-plugin`FlightCrew::ReachabilityAnalysis::DetermineReachableResources(boost::unordered::unordered_set<boost::filesystem::path, boost::hash<boost::filesystem::path>, std::__1::equal_to<boost::filesystem::path>, std::__1::allocator<boost::filesystem::path> > const&) + 82
frame #8: 0x000000010005ebc9 flightcrew-plugin`FlightCrew::ReachabilityAnalysis::ValidateXml(xercesc_3_1::DOMDocument const&, boost::filesystem::path const&) + 105
frame #9: 0x0000000100023ee3 flightcrew-plugin`FlightCrew::ValidateOpf(boost::filesystem::path const&) + 451
frame #10: 0x0000000100014ccb flightcrew-plugin`FlightCrew::DescendToContentXml(boost::filesystem::path const&) + 363
frame #11: 0x0000000100015a82 flightcrew-plugin`FlightCrew::ValidateEpubRootFolder(boost::filesystem::path const&) + 402
frame #12: 0x000000010000ae95 flightcrew-plugin`FlightCrew::ValidateEpubRootFolder(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 37
frame #13: 0x0000000100001bf2 flightcrew-plugin`ValidateFiles(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 50
frame #14: 0x0000000100002695 flightcrew-plugin`main + 1445
frame #15: 0x00007fff52118115 libdyld.dylib`start + 1
frame #16: 0x00007fff52118115 libdyld.dylib`start + 1
So it is walking the OPF making sure that all files are there and runs into a filename or path that can NOT be converted to utf-8 via boost.
I will try to get more info.