Hi Enrico, That solves the @rpath mystery, thanks. I will try with the release version and see if I get the same error.
Thanks, Filipe On Thursday, March 29, 2012 at 6:08 PM, Greg Clayton wrote: > Filipe, > > You should be using the "Release" configuration. The "BuildAndIntegration" > configuration is for when you intend to build and install the binary into > /usr/bin/lldb with the framework in /System/Library/Frameworks/LLDB.framework. > > The @rpath is a trick that lets the dynamic loader find shared libraries that > are relative to each other in directories. When "lldb" is in "/usr/bin" the > relative rpath for LLDB.framework is contained in a load command: > > otool -lv /usr/bin/lldb > ... > Load command 17 > cmd LC_RPATH > cmdsize 64 > path @loader_path/../../System/Library/PrivateFrameworks (offset 12) > Load command 18 > > > So, the "Debug" and "Release" builds set the rpath so that lldb is expected > to be in the build folder. The "BuildAndIntegration" will set the rpath and > expects you to install your binaries and this is typically only used for > Apple builds that produce tools for release. > > Greg Clayton > > > On Mar 29, 2012, at 8:01 AM, Filipe Cabecinhas wrote: > > > Hi Enrico, > > > > That's weird. Let's try to find out what went wrong. Previously I was using > > an up-to-date git checkout, but now I checked out the trunk directly from > > subversion so we can be sure we're on the same revision. > > > > I have: > > Mac OS X 10.7.3 > > swig 2.0.4 > > Python 2.7.1 > > libedit.3.0.dylib > > Apple clang version 3.1 (tags/Apple/clang-318.0.58) > > > > I build lldb with xcodebuild -configuration Debug > > For the x86_64 arch: > > file build/Debug/lldb > > build/Debug/lldb: Mach-O 64-bit executable x86_64 > > > > > > If I try a BuildAndIntegration build (without the -configuration flag), I > > get this error when running lldb: > > [trunk:153576//test]% ../build/BuildAndIntegration/lldb > > dyld: Library not loaded: @rpath/LLDB.framework/LLDB > > Referenced from: > > /Users/filcab/Desktop/lldb/test/../build/BuildAndIntegration/lldb > > Reason: image not found > > > > > > Since I usually use the Debug configuration, I have no idea what's going > > on. LLDB.framework is in its place (next do lldb) and has the LLDB symlink > > and file in place, too. > > > > Any clues? > > > > Regards, > > > > Filipe > > > > Filipe > > > > > > On Wednesday, March 28, 2012 at 4:09 PM, Enrico Granata wrote: > > > > > Hi. > > > Not sure what's wrong: > > > > > > Enricos-MacBook-Pro:test egranata$ make -C > > > functionalities/data-formatter/data-formatter-stl/libcxx/map > > > clang++ -gdwarf-2 -O0 -arch x86_64 -stdlib=libc++ -O0 -c -o main.o > > > main.cpp > > > clang++ -gdwarf-2 -O0 -arch x86_64 -stdlib=libc++ main.o -o "a.out" > > > dsymutil -o "a.out.dSYM" "a.out" > > > Enricos-MacBook-Pro:test egranata$ ./dotest.py -A x86_64 -C clang -v -t > > > -f LibcxxMapDataFormatterTestCase.data_formatter_commands > > > LLDB build dir: /Volumes/work/egranata/lldb/build/Debug > > > LLDB-135 > > > Path: /Volumes/work/egranata/lldb > > > URL: https://[email protected]/svn/llvm-project/lldb/trunk > > > Repository Root: https://[email protected]/svn/llvm-project > > > Repository UUID: 91177308-0d34-0410-b5e6-96231b3b80d8 > > > Revision: 153542 > > > Node Kind: directory > > > Schedule: normal > > > Last Changed Author: enrico > > > Last Changed Rev: 153541 > > > Last Changed Date: 2012-03-27 14:49:20 -0700 (Tue, 27 Mar 2012) > > > > > > > > > > > > Session logs for test failures/errors/unexpected successes will go into > > > directory '2012-03-28-08_07_33' > > > Command invoked: python ./dotest.py -A x86_64 -C clang -v -t -f > > > LibcxxMapDataFormatterTestCase.data_formatter_commands > > > compilers=['clang'] > > > > > > Configuration: arch=x86_64 compiler=clang > > > ---------------------------------------------------------------------- > > > Collected 1 test > > > > > > Change dir to: > > > /Volumes/work/egranata/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/map > > > 1: data_formatter_commands > > > (TestDataFormatterLibccMap.LibcxxMapDataFormatterTestCase) > > > Test that that file and class static variables display correctly. ... > > > runCmd: file a.out > > > output: Current executable set to 'a.out' (x86_64). > > > > > > > > > runCmd: breakpoint set -f main.cpp -l 18 > > > output: Breakpoint created: 1: file ='main.cpp', line = 18, locations = 2 > > > > > > > > > Expecting start string: Breakpoint created: 1: file ='main.cpp', line = 18 > > > Matched > > > > > > runCmd: run > > > output: Process 63894 launched: > > > '/Volumes/work/egranata/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/map/a.out' > > > (x86_64) > > > > > > > > > runCmd: thread list > > > output: Process 63894 stopped > > > * thread #1: tid = 0x1f03, 0x0000000100001272 a.out`main + 50 at > > > main.cpp:18, stop reason = breakpoint 1.1 > > > > > > > > > Expecting sub string: stopped > > > Matched > > > > > > Expecting sub string: stop reason = breakpoint > > > Matched > > > > > > Adding tearDown hook: def cleanup(): > > > self.runCmd('type format clear', check=False) > > > self.runCmd('type summary clear', check=False) > > > self.runCmd('type filter clear', check=False) > > > self.runCmd('type synth clear', check=False) > > > self.runCmd("settings set target.max-children-count 256", check=False) > > > > > > > > > runCmd: image list > > > output: [ 0] 5C5C5498-A95A-32CC-9A48-353CFF04179A 0x0000000100000000 > > > /Volumes/work/egranata/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/map/a.out > > > > > > /Volumes/work/egranata/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/map/a.out.dSYM/Contents/Resources/DWARF/a.out > > > [ 1] 0CD1B35B-A28F-32DA-B72E-452EAD609613 0x00007fff5fc00000 > > > /usr/lib/dyld > > > [ 2] C0EFFF1B-0FEB-3F99-BE54-506B35B555A9 0x00007fff90339000 > > > /usr/lib/libc++.1.dylib > > > [ 3] 7BEBB139-50BB-3112-947A-F4AA168F991C 0x00007fff91f4e000 > > > /usr/lib/libSystem.B.dylib > > > [ 4] 8FF3D766-D678-36F6-84AC-423C878E6D14 0x00007fff9030e000 > > > /usr/lib/libc++abi.dylib > > > [ 5] B7757E2E-5A7D-362E-AB71-785FE79E1527 0x00007fff94222000 > > > /usr/lib/system/libcache.dylib > > > [ 6] A5B9778E-11C3-3F61-B740-1F2114E967FB 0x00007fff8af52000 > > > /usr/lib/system/libcommonCrypto.dylib > > > [ 7] 98ECD5F6-E85C-32A5-98CD-8911230CB66A 0x00007fff8bfe9000 > > > /usr/lib/system/libcompiler_rt.dylib > > > [ 8] 172B1985-F24A-34E9-8D8B-A2403C9A0399 0x00007fff8e58e000 > > > /usr/lib/system/libcopyfile.dylib > > > [ 9] 712AAEAC-AD90-37F7-B71F-293FF8AE8723 0x00007fff8db82000 > > > /usr/lib/system/libdispatch.dylib > > > [ 10] 718A135F-6349-354A-85D5-430B128EFD57 0x00007fff89059000 > > > /usr/lib/system/libdnsinfo.dylib > > > [ 11] F1903B7A-D3FF-3390-909A-B24E09BAD1A5 0x00007fff9489d000 > > > /usr/lib/system/libdyld.dylib > > > [ 12] 61EFED6A-A407-301E-B454-CD18314F0075 0x00007fff8afbf000 > > > /usr/lib/system/libkeymgr.dylib > > > [ 13] 39EF04F2-7F0C-3435-B785-BF283727FFBD 0x00007fff8e39f000 > > > /usr/lib/system/liblaunch.dylib > > > [ 14] D86F63EC-D2BD-32E0-8955-08B5EAFAD2CC 0x00007fff8e398000 > > > /usr/lib/system/libmacho.dylib > > > [ 15] FF83AFF7-42B2-306E-90AF-D539C51A4542 0x00007fff8dbdb000 > > > /usr/lib/system/libmathCommon.A.dylib > > > [ 16] 48656562-FF20-3B55-9F93-407ACA7341C0 0x00007fff8dc20000 > > > /usr/lib/system/libquarantine.dylib > > > [ 17] 739E6C83-AA52-3C6C-A680-B37FE2888A04 0x00007fff8e576000 > > > /usr/lib/system/libremovefile.dylib > > > [ 18] 8BCA214A-8992-34B2-A8B9-B74DEACA1869 0x00007fff8e396000 > > > /usr/lib/system/libsystem_blocks.dylib > > > [ 19] FF69F06E-0904-3C08-A5EF-536FAFFFDC22 0x00007fff9524c000 > > > /usr/lib/system/libsystem_c.dylib > > > [ 20] 7749128E-D0C5-3832-861C-BC9913F774FA 0x00007fff951aa000 > > > /usr/lib/system/libsystem_dnssd.dylib > > > [ 21] 35F90252-2AE1-32C5-8D34-782C614D9639 0x00007fff9400b000 > > > /usr/lib/system/libsystem_info.dylib > > > [ 22] 69F2F501-72D8-3B3B-8357-F4418B3E1348 0x00007fff945a5000 > > > /usr/lib/system/libsystem_kernel.dylib > > > [ 23] 5DE7024E-1D2D-34A2-80F4-08326331A75B 0x00007fff959f7000 > > > /usr/lib/system/libsystem_network.dylib > > > [ 24] A4D651E3-D1C6-3934-AD49-7A104FD14596 0x00007fff89b58000 > > > /usr/lib/system/libsystem_notify.dylib > > > [ 25] 5087ADAD-D34D-3844-9D04-AFF93CED3D92 0x00007fff8cf42000 > > > /usr/lib/system/libsystem_sandbox.dylib > > > [ 26] C67B3B14-866C-314F-87FF-8025BEC2CAAC 0x00007fff902a6000 > > > /usr/lib/system/libunc.dylib > > > [ 27] 1E9C6C8C-CBE8-3F4B-A5B5-E03E3AB53231 0x00007fff9485b000 > > > /usr/lib/system/libunwind.dylib > > > [ 28] 26C05F31-E809-3B47-AF42-1460971E3AC3 0x00007fff8af95000 > > > /usr/lib/system/libxpc.dylib > > > > > > > > > Expecting sub string: libc++.1.dylib > > > Matched > > > > > > Expecting sub string: libc++abi.dylib > > > Matched > > > > > > runCmd: frame variable ii -T > > > output: (std::__1::map<int, int, std::__1::less<int>, > > > std::__1::allocator<pair<const int, int> > >) ii = size=0 {} > > > > > > > > > runCmd: type summary add -x "std::__1::map<" --summary-string "map has > > > ${svar%#} items" -e > > > output: > > > > > > runCmd: frame variable ii > > > output: (std::__1::map<int, int, std::__1::less<int>, > > > std::__1::allocator<pair<const int, int> > >) ii = map has 0 items {} > > > > > > > > > Expecting sub string: map has 0 items > > > Matched > > > > > > Expecting sub string: {} > > > Matched > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: frame variable ii > > > output: (std::__1::map<int, int, std::__1::less<int>, > > > std::__1::allocator<pair<const int, int> > >) ii = map has 2 items { > > > [0] = { > > > first = 0 > > > second = 0 > > > } > > > [1] = { > > > first = 1 > > > second = 1 > > > } > > > } > > > > > > > > > Expecting sub string: map has 2 items > > > Matched > > > > > > Expecting sub string: [0] = { > > > Matched > > > > > > Expecting sub string: first = 0 > > > Matched > > > > > > Expecting sub string: second = 0 > > > Matched > > > > > > Expecting sub string: [1] = { > > > Matched > > > > > > Expecting sub string: first = 1 > > > Matched > > > > > > Expecting sub string: second = 1 > > > Matched > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: frame variable ii > > > output: (std::__1::map<int, int, std::__1::less<int>, > > > std::__1::allocator<pair<const int, int> > >) ii = map has 4 items { > > > [0] = { > > > first = 0 > > > second = 0 > > > } > > > [1] = { > > > first = 1 > > > second = 1 > > > } > > > [2] = { > > > first = 2 > > > second = 0 > > > } > > > [3] = { > > > first = 3 > > > second = 1 > > > } > > > } > > > > > > > > > Expecting sub string: map has 4 items > > > Matched > > > > > > Expecting sub string: [2] = { > > > Matched > > > > > > Expecting sub string: first = 2 > > > Matched > > > > > > Expecting sub string: second = 0 > > > Matched > > > > > > Expecting sub string: [3] = { > > > Matched > > > > > > Expecting sub string: first = 3 > > > Matched > > > > > > Expecting sub string: second = 1 > > > Matched > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: frame select 0 > > > output: frame #0: 0x0000000100001422 a.out`main + 482 at main.cpp:26 > > > a.out`main + 482 at main.cpp:26: > > > -> 0x100001422: movl $85, -868(%rbp) > > > 0x10000142c: leaq -868(%rbp), %rsi > > > 0x100001433: leaq -808(%rbp), %rdi > > > 0x10000143a: callq 0x10000b416 ; std::__1::map<int, int, > > > std::__1::less<int>, std::__1::allocator<std::__1::pair<int const, int> > > > > >::operator[](int const&) > > > > > > > > > runCmd: frame variable ii > > > output: (std::__1::map<int, int, std::__1::less<int>, > > > std::__1::allocator<pair<const int, int> > >) ii = map has 8 items { > > > [0] = { > > > first = 0 > > > second = 0 > > > } > > > [1] = { > > > first = 1 > > > second = 1 > > > } > > > [2] = { > > > first = 2 > > > second = 0 > > > } > > > [3] = { > > > first = 3 > > > second = 1 > > > } > > > [4] = { > > > first = 4 > > > second = 0 > > > } > > > [5] = { > > > first = 5 > > > second = 1 > > > } > > > [6] = { > > > first = 6 > > > second = 0 > > > } > > > [7] = { > > > first = 7 > > > second = 1 > > > } > > > } > > > > > > > > > Expecting sub string: map has 8 items > > > Matched > > > > > > Expecting sub string: [5] = { > > > Matched > > > > > > Expecting sub string: first = 5 > > > Matched > > > > > > Expecting sub string: second = 0 > > > Matched > > > > > > Expecting sub string: [7] = { > > > Matched > > > > > > Expecting sub string: first = 7 > > > Matched > > > > > > Expecting sub string: second = 1 > > > Matched > > > > > > runCmd: p ii > > > output: (std::__1::map<int, int, std::__1::less<int>, > > > std::__1::allocator<pair<const int, int> > >) $0 = map has 8 items { > > > (std::__1::__tree_node<std::__1::pair<int, int>, void *>::value_type) [0] > > > = { > > > (int) first = 0 > > > (int) second = 0 > > > } > > > (std::__1::__tree_node<std::__1::pair<int, int>, void *>::value_type) [1] > > > = { > > > (int) first = 1 > > > (int) second = 1 > > > } > > > (std::__1::__tree_node<std::__1::pair<int, int>, void *>::value_type) [2] > > > = { > > > (int) first = 2 > > > (int) second = 0 > > > } > > > (std::__1::__tree_node<std::__1::pair<int, int>, void *>::value_type) [3] > > > = { > > > (int) first = 3 > > > (int) second = 1 > > > } > > > (std::__1::__tree_node<std::__1::pair<int, int>, void *>::value_type) [4] > > > = { > > > (int) first = 4 > > > (int) second = 0 > > > } > > > (std::__1::__tree_node<std::__1::pair<int, int>, void *>::value_type) [5] > > > = { > > > (int) first = 5 > > > (int) second = 1 > > > } > > > (std::__1::__tree_node<std::__1::pair<int, int>, void *>::value_type) [6] > > > = { > > > (int) first = 6 > > > (int) second = 0 > > > } > > > (std::__1::__tree_node<std::__1::pair<int, int>, void *>::value_type) [7] > > > = { > > > (int) first = 7 > > > (int) second = 1 > > > } > > > } > > > > > > > > > Expecting sub string: map has 8 items > > > Matched > > > > > > Expecting sub string: [5] = { > > > Matched > > > > > > Expecting sub string: first = 5 > > > Matched > > > > > > Expecting sub string: second = 0 > > > Matched > > > > > > Expecting sub string: [7] = { > > > Matched > > > > > > Expecting sub string: first = 7 > > > Matched > > > > > > Expecting sub string: second = 1 > > > Matched > > > > > > runCmd: frame variable ii[0] > > > output: (std::__1::__tree_node<std::__1::pair<int, int>, void > > > *>::value_type) [0] = { > > > first = 0 > > > second = 0 > > > } > > > > > > > > > Expecting sub string: first = 0 > > > Matched > > > > > > Expecting sub string: second = 0 > > > Matched > > > > > > runCmd: frame variable ii[3] > > > output: (std::__1::__tree_node<std::__1::pair<int, int>, void > > > *>::value_type) ii[3] = { > > > first = 3 > > > second = 1 > > > } > > > > > > > > > Expecting sub string: first = > > > Matched > > > > > > Expecting sub string: second = > > > Matched > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: frame select 0 > > > output: frame #0: 0x000000010000151f a.out`main + 735 at main.cpp:32 > > > a.out`main + 735 at main.cpp:32: > > > -> 0x10000151f: leaq -896(%rbp), %rdi > > > 0x100001526: leaq -928(%rbp), %rsi > > > 0x10000152d: callq 0x10000b3b6 ; > > > std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> >, int, > > > std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> > >, > > > std::__1::allocator<std::__1::pair<std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> > const, int> > > > > >::operator[](std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> > const&) > > > 0x100001532: movq %rax, -1320(%rbp) > > > > > > > > > runCmd: frame variable ii > > > output: (std::__1::map<int, int, std::__1::less<int>, > > > std::__1::allocator<pair<const int, int> > >) ii = map has 0 items {} > > > > > > > > > Expecting sub string: map has 0 items > > > Matched > > > > > > Expecting sub string: {} > > > Matched > > > > > > runCmd: frame variable si -T > > > output: (std::__1::map<std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> >, int, > > > std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> > >, std::__1::allocator<pair<const > > > std::__1::basic_string<char>, int> > >) si = map has 0 items {} > > > > > > > > > runCmd: frame variable si > > > output: (std::__1::map<std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> >, int, > > > std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> > >, std::__1::allocator<pair<const > > > std::__1::basic_string<char>, int> > >) si = map has 0 items {} > > > > > > > > > Expecting sub string: map has 0 items > > > Matched > > > > > > Expecting sub string: {} > > > Matched > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: frame select 0 > > > output: frame #0: 0x00000001000015e0 a.out`main + 928 at string:1781 > > > 1778 { > > > 1779 #ifdef _LIBCPP_DEBUG > > > 1780 assert(__s != 0); > > > -> 1781 #endif > > > 1782 __init(__s, traits_type::length(__s)); > > > 1783 } > > > 1784 > > > > > > > > > runCmd: frame variable si > > > output: (std::__1::map<std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> >, int, > > > std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> > >, std::__1::allocator<pair<const > > > std::__1::basic_string<char>, int> > >) si = map has 1 items { > > > [0] = { > > > first = "zero" > > > second = 0 > > > } > > > } > > > > > > > > > Expecting sub string: map has 1 items > > > Matched > > > > > > Expecting sub string: [0] = > > > Matched > > > > > > Expecting sub string: first = "zero" > > > Matched > > > > > > Expecting sub string: second = 0 > > > Matched > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: frame select 0 > > > output: frame #0: 0x000000010000189f a.out`main + 1631 at main.cpp:36 > > > a.out`main + 1631 at main.cpp:36: > > > -> 0x10000189f: leaq -896(%rbp), %rdi > > > 0x1000018a6: leaq -1024(%rbp), %rsi > > > 0x1000018ad: callq 0x10000b3b6 ; > > > std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> >, int, > > > std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> > >, > > > std::__1::allocator<std::__1::pair<std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> > const, int> > > > > >::operator[](std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> > const&) > > > 0x1000018b2: movq %rax, -1448(%rbp) > > > > > > > > > runCmd: frame variable si > > > output: (std::__1::map<std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> >, int, > > > std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> > >, std::__1::allocator<pair<const > > > std::__1::basic_string<char>, int> > >) si = map has 4 items { > > > [0] = { > > > first = "one" > > > second = 1 > > > } > > > [1] = { > > > first = "three" > > > second = 3 > > > } > > > [2] = { > > > first = "two" > > > second = 2 > > > } > > > [3] = { > > > first = "zero" > > > second = 0 > > > } > > > } > > > > > > > > > Expecting sub string: map has 4 items > > > Matched > > > > > > Expecting sub string: [0] = > > > Matched > > > > > > Expecting sub string: first = "zero" > > > Matched > > > > > > Expecting sub string: second = 0 > > > Matched > > > > > > Expecting sub string: [1] = > > > Matched > > > > > > Expecting sub string: first = "one" > > > Matched > > > > > > Expecting sub string: second = 1 > > > Matched > > > > > > Expecting sub string: [2] = > > > Matched > > > > > > Expecting sub string: first = "two" > > > Matched > > > > > > Expecting sub string: second = 2 > > > Matched > > > > > > Expecting sub string: [3] = > > > Matched > > > > > > Expecting sub string: first = "three" > > > Matched > > > > > > Expecting sub string: second = 3 > > > Matched > > > > > > runCmd: p si > > > output: (std::__1::map<std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> >, int, > > > std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> > >, std::__1::allocator<pair<const > > > std::__1::basic_string<char>, int> > >) $1 = map has 4 items { > > > (std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> >, int>, void > > > *>::value_type) [0] = { > > > (std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> >) first = "one" > > > (int) second = 1 > > > } > > > (std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> >, int>, void > > > *>::value_type) [1] = { > > > (std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> >) first = "three" > > > (int) second = 3 > > > } > > > (std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> >, int>, void > > > *>::value_type) [2] = { > > > (std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> >) first = "two" > > > (int) second = 2 > > > } > > > (std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> >, int>, void > > > *>::value_type) [3] = { > > > (std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> >) first = "zero" > > > (int) second = 0 > > > } > > > } > > > > > > > > > Expecting sub string: map has 4 items > > > Matched > > > > > > Expecting sub string: [0] = > > > Matched > > > > > > Expecting sub string: first = "zero" > > > Matched > > > > > > Expecting sub string: second = 0 > > > Matched > > > > > > Expecting sub string: [1] = > > > Matched > > > > > > Expecting sub string: first = "one" > > > Matched > > > > > > Expecting sub string: second = 1 > > > Matched > > > > > > Expecting sub string: [2] = > > > Matched > > > > > > Expecting sub string: first = "two" > > > Matched > > > > > > Expecting sub string: second = 2 > > > Matched > > > > > > Expecting sub string: [3] = > > > Matched > > > > > > Expecting sub string: first = "three" > > > Matched > > > > > > Expecting sub string: second = 3 > > > Matched > > > > > > runCmd: frame variable si[0] > > > output: > > > (std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> >, int>, void > > > *>::value_type) [0] = { > > > first = "one" > > > second = 1 > > > } > > > > > > > > > Expecting sub string: first = > > > Matched > > > > > > Expecting sub string: one > > > Matched > > > > > > Expecting sub string: second = 1 > > > Matched > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: frame variable si > > > output: (std::__1::map<std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> >, int, > > > std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> > >, std::__1::allocator<pair<const > > > std::__1::basic_string<char>, int> > >) si = map has 0 items {} > > > > > > > > > Expecting sub string: map has 0 items > > > Matched > > > > > > Expecting sub string: {} > > > Matched > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: frame variable is -T > > > output: (std::__1::map<int, std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> >, > > > std::__1::less<int>, std::__1::allocator<pair<const int, > > > std::__1::basic_string<char> > > >) is = map has 0 items {} > > > > > > > > > runCmd: frame variable is > > > output: (std::__1::map<int, std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> >, > > > std::__1::less<int>, std::__1::allocator<pair<const int, > > > std::__1::basic_string<char> > > >) is = map has 0 items {} > > > > > > > > > Expecting sub string: map has 0 items > > > Matched > > > > > > Expecting sub string: {} > > > Matched > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: frame variable is > > > output: (std::__1::map<int, std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> >, > > > std::__1::less<int>, std::__1::allocator<pair<const int, > > > std::__1::basic_string<char> > > >) is = map has 4 items { > > > [0] = { > > > first = 1 > > > second = "is" > > > } > > > [1] = { > > > first = 2 > > > second = "smart" > > > } > > > [2] = { > > > first = 3 > > > second = "!!!" > > > } > > > [3] = { > > > first = 85 > > > second = "goofy" > > > } > > > } > > > > > > > > > Expecting sub string: map has 4 items > > > Matched > > > > > > Expecting sub string: [0] = > > > Matched > > > > > > Expecting sub string: second = "goofy" > > > Matched > > > > > > Expecting sub string: first = 85 > > > Matched > > > > > > Expecting sub string: [1] = > > > Matched > > > > > > Expecting sub string: second = "is" > > > Matched > > > > > > Expecting sub string: first = 1 > > > Matched > > > > > > Expecting sub string: [2] = > > > Matched > > > > > > Expecting sub string: second = "smart" > > > Matched > > > > > > Expecting sub string: first = 2 > > > Matched > > > > > > Expecting sub string: [3] = > > > Matched > > > > > > Expecting sub string: second = "!!!" > > > Matched > > > > > > Expecting sub string: first = 3 > > > Matched > > > > > > runCmd: p is > > > output: (std::__1::map<int, std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> >, > > > std::__1::less<int>, std::__1::allocator<pair<const int, > > > std::__1::basic_string<char> > > >) $2 = map has 4 items { > > > (std::__1::__tree_node<std::__1::pair<int, std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> > >, void > > > *>::value_type) [0] = { > > > (int) first = 1 > > > (std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> >) second = "is" > > > } > > > (std::__1::__tree_node<std::__1::pair<int, std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> > >, void > > > *>::value_type) [1] = { > > > (int) first = 2 > > > (std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> >) second = "smart" > > > } > > > (std::__1::__tree_node<std::__1::pair<int, std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> > >, void > > > *>::value_type) [2] = { > > > (int) first = 3 > > > (std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> >) second = "!!!" > > > } > > > (std::__1::__tree_node<std::__1::pair<int, std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> > >, void > > > *>::value_type) [3] = { > > > (int) first = 85 > > > (std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> >) second = "goofy" > > > } > > > } > > > > > > > > > Expecting sub string: map has 4 items > > > Matched > > > > > > Expecting sub string: [0] = > > > Matched > > > > > > Expecting sub string: second = "goofy" > > > Matched > > > > > > Expecting sub string: first = 85 > > > Matched > > > > > > Expecting sub string: [1] = > > > Matched > > > > > > Expecting sub string: second = "is" > > > Matched > > > > > > Expecting sub string: first = 1 > > > Matched > > > > > > Expecting sub string: [2] = > > > Matched > > > > > > Expecting sub string: second = "smart" > > > Matched > > > > > > Expecting sub string: first = 2 > > > Matched > > > > > > Expecting sub string: [3] = > > > Matched > > > > > > Expecting sub string: second = "!!!" > > > Matched > > > > > > Expecting sub string: first = 3 > > > Matched > > > > > > runCmd: frame variable is[0] > > > output: (std::__1::__tree_node<std::__1::pair<int, > > > std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> > >, void *>::value_type) [0] = { > > > first = 1 > > > second = "is" > > > } > > > > > > > > > Expecting sub string: first = > > > Matched > > > > > > Expecting sub string: second = > > > Matched > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: frame variable is > > > output: (std::__1::map<int, std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> >, > > > std::__1::less<int>, std::__1::allocator<pair<const int, > > > std::__1::basic_string<char> > > >) is = map has 0 items {} > > > > > > > > > Expecting sub string: map has 0 items > > > Matched > > > > > > Expecting sub string: {} > > > Matched > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: frame variable ss -T > > > output: (std::__1::map<std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> >, > > > std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> > >, > > > std::__1::allocator<pair<const std::__1::basic_string<char>, > > > std::__1::basic_string<char> > > >) ss = map has 0 items {} > > > > > > > > > runCmd: frame variable ss > > > output: (std::__1::map<std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> >, > > > std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> > >, > > > std::__1::allocator<pair<const std::__1::basic_string<char>, > > > std::__1::basic_string<char> > > >) ss = map has 0 items {} > > > > > > > > > Expecting sub string: map has 0 items > > > Matched > > > > > > Expecting sub string: {} > > > Matched > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: frame select 0 > > > output: frame #0: 0x0000000100001e10 a.out`main + 3024 at string:1781 > > > 1778 { > > > 1779 #ifdef _LIBCPP_DEBUG > > > 1780 assert(__s != 0); > > > -> 1781 #endif > > > 1782 __init(__s, traits_type::length(__s)); > > > 1783 } > > > 1784 > > > > > > > > > runCmd: frame variable ss > > > output: (std::__1::map<std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> >, > > > std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> > >, > > > std::__1::allocator<pair<const std::__1::basic_string<char>, > > > std::__1::basic_string<char> > > >) ss = map has 3 items { > > > [0] = { > > > first = "casa" > > > second = "house" > > > } > > > [1] = { > > > first = "ciao" > > > second = "hello" > > > } > > > [2] = { > > > first = "gatto" > > > second = "cat" > > > } > > > } > > > > > > > > > Expecting sub string: map has 3 items > > > Matched > > > > > > Expecting sub string: [0] = > > > Matched > > > > > > Expecting sub string: second = "hello" > > > Matched > > > > > > Expecting sub string: first = "ciao" > > > Matched > > > > > > Expecting sub string: [1] = > > > Matched > > > > > > Expecting sub string: second = "house" > > > Matched > > > > > > Expecting sub string: first = "casa" > > > Matched > > > > > > Expecting sub string: [2] = > > > Matched > > > > > > Expecting sub string: second = "cat" > > > Matched > > > > > > Expecting sub string: first = "gatto" > > > Matched > > > > > > runCmd: p ss > > > output: (std::__1::map<std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> >, > > > std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> > >, > > > std::__1::allocator<pair<const std::__1::basic_string<char>, > > > std::__1::basic_string<char> > > >) $3 = map has 3 items { > > > (std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> >, > > > std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> > >, void *>::value_type) [0] = { > > > (std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> >) first = "casa" > > > (std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> >) second = "house" > > > } > > > (std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> >, > > > std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> > >, void *>::value_type) [1] = { > > > (std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> >) first = "ciao" > > > (std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> >) second = "hello" > > > } > > > (std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> >, > > > std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> > >, void *>::value_type) [2] = { > > > (std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> >) first = "gatto" > > > (std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> >) second = "cat" > > > } > > > } > > > > > > > > > Expecting sub string: map has 3 items > > > Matched > > > > > > Expecting sub string: [0] = > > > Matched > > > > > > Expecting sub string: second = "hello" > > > Matched > > > > > > Expecting sub string: first = "ciao" > > > Matched > > > > > > Expecting sub string: [1] = > > > Matched > > > > > > Expecting sub string: second = "house" > > > Matched > > > > > > Expecting sub string: first = "casa" > > > Matched > > > > > > Expecting sub string: [2] = > > > Matched > > > > > > Expecting sub string: second = "cat" > > > Matched > > > > > > Expecting sub string: first = "gatto" > > > Matched > > > > > > runCmd: frame variable ss[2] > > > output: > > > (std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> >, > > > std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> > >, void *>::value_type) ss[2] = { > > > first = "gatto" > > > second = "cat" > > > } > > > > > > > > > Expecting sub string: gatto > > > Matched > > > > > > Expecting sub string: cat > > > Matched > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: n > > > output: Process 63894 stopped > > > > > > > > > runCmd: frame select 0 > > > output: frame #0: 0x0000000100001eb7 a.out`main + 3191 at main.cpp:59 > > > a.out`main + 3191 at main.cpp:59: > > > -> 0x100001eb7: movq -1680(%rbp), %rdi > > > 0x100001ebe: callq 0x10000b37a ; > > > std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> >, std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> >, > > > std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> > >, > > > std::__1::allocator<std::__1::pair<std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> > const, > > > std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> > > > >::~map() > > > 0x100001ec3: jmpq 413 > > > 0x100001ec8: movl %edx, %ecx > > > > > > > > > runCmd: frame variable ss > > > output: (std::__1::map<std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> >, > > > std::__1::basic_string<char, std::__1::char_traits<char>, > > > std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, > > > std::__1::char_traits<char>, std::__1::allocator<char> > >, > > > std::__1::allocator<pair<const std::__1::basic_string<char>, > > > std::__1::basic_string<char> > > >) ss = map has 0 items {} > > > > > > > > > Expecting sub string: map has 0 items > > > Matched > > > > > > Expecting sub string: {} > > > Matched > > > > > > Executing tearDown hook: def cleanup(): > > > self.runCmd('type format clear', check=False) > > > self.runCmd('type summary clear', check=False) > > > self.runCmd('type filter clear', check=False) > > > self.runCmd('type synth clear', check=False) > > > self.runCmd("settings set target.max-children-count 256", check=False) > > > > > > > > > runCmd: type format clear > > > check of return status not required > > > output: > > > > > > runCmd: type summary clear > > > check of return status not required > > > output: > > > > > > runCmd: type filter clear > > > check of return status not required > > > output: > > > > > > runCmd: type synth clear > > > check of return status not required > > > output: > > > > > > runCmd: settings set target.max-children-count 256 > > > check of return status not required > > > output: > > > > > > <bound method SBProcess.Kill of <lldb.SBProcess; proxy of <Swig Object of > > > type 'lldb::SBProcess *' at 0x105db4210> >>: success > > > > > > ok > > > > > > os command: [['/bin/sh', '-c', 'make clean']] > > > with pid: 63898 > > > stdout: rm -rf "a.out" "a.out.dSYM" main.o main.d > > > > > > stderr: > > > retcode: 0 > > > > > > > > > Restore dir to: /Volumes/work/egranata/lldb/test > > > > > > ---------------------------------------------------------------------- > > > Ran 1 test in 2.934s > > > > > > OK > > > Enricos-MacBook-Pro:test egranata$ > > > > > > > > > > > > I would have suggested to check out ToT, but you said you see this > > > failure even with a clean checkout. > > > Is anyone else on the list seeing this? > > > > > > - Enrico > > > > > > On Mar 28, 2012, at 7:25 AM, Filipe Cabecinhas wrote: > > > > Hi all, > > > > > > > > I'm trying to run the test suite to check some patches that I've been > > > > working on. > > > > Are the expected failures updated? I have the latest XCode (4.3.2), as > > > > well as the latest command line tools. > > > > > > > > This test always hangs, even with a clean checkout (it seemed to me > > > > that it was due to an infinite loop in the type summary): > > > > > > > > cd lldb/test > > > > make -C functionalities/data-formatter/data-formatter-stl/libcxx/map > > > > ./dotest.py -A x86_64 -C clang -v -t -f > > > > LibcxxMapDataFormatterTestCase.data_formatter_commands > > > > > > > > Regards, > > > > > > > > > > > > Filipe > > > > > > > > <Failure-TestDataFormatterLibccMap.LibcxxMapDataFormatterTestCase.data_formatter_commands.log>_______________________________________________ > > > > lldb-dev mailing list > > > > [email protected] (mailto:[email protected]) > > > > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev > > > > > > > > > > > > > > > _______________________________________________ > > lldb-dev mailing list > > [email protected] (mailto:[email protected]) > > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev > _______________________________________________ lldb-dev mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
