That doesn't look symbolicated. If it were symbolicated, and the build used -g, 
you would have a file and line number for the main+345 frame.


> On May 2, 2017, at 2:31 PM, Nick Snyder via swift-users 
> <swift-users@swift.org> wrote:
> 
> In practice, I would need the stack trace first to figure out how to 
> reproduce the issue, so lldb doesn't really help.
> 
> How would I go about symbolicating this further on macOS (Xcode or otherwise)?
> 
> From reading the docs it seems like the crash report I get is already 
> completely symbolicated:
> https://developer.apple.com/library/content/technotes/tn2151/_index.html#//apple_ref/doc/uid/DTS40008184-CH1-SYMBOLICATION-_DETERMINING_WHETHER_A_CRASH_REPORT_IS_SYMBOLICATED
>  
> <https://developer.apple.com/library/content/technotes/tn2151/_index.html#//apple_ref/doc/uid/DTS40008184-CH1-SYMBOLICATION-_DETERMINING_WHETHER_A_CRASH_REPORT_IS_SYMBOLICATED>
> 
> On Tue, May 2, 2017 at 1:21 AM, Alex Blewitt <alb...@apple.com 
> <mailto:alb...@apple.com>> wrote:
> If you can reproduce it, and run it under lldb, it will print the source line 
> for you:
> 
> $ lldb .build/debug/main
> (lldb) target create ".build/debug/main"
> ruCurrent executable set to '.build/debug/main' (x86_64).
> (lldb) run
> Process 19013 launched: '/private/tmp/main/.build/debug/main' (x86_64)
> Hello, world!
> fatal error: unexpectedly found nil while unwrapping an Optional value
> 2017-05-02 09:17:11.351608+0100 asdf[19013:54205130] fatal error: 
> unexpectedly found nil while unwrapping an Optional value
> Current stack trace:
> 0    libswiftCore.dylib                 0x00000001002c1160 swift_reportError 
> + 125
> 1    libswiftCore.dylib                 0x00000001002ddac0 
> _swift_stdlib_reportFatalError + 60
> 2    libswiftCore.dylib                 0x00000001000ce260 specialized 
> specialized StaticString.withUTF8Buffer<A> ((UnsafeBufferPointer<UInt8>) -> 
> A) -> A + 342
> 3    libswiftCore.dylib                 0x0000000100249120 partial apply for 
> (_fatalErrorMessage(StaticString, StaticString, file : StaticString, line : 
> UInt, flags : UInt32) -> Never).(closure #2) + 109
> 4    libswiftCore.dylib                 0x00000001000ce260 specialized 
> specialized StaticString.withUTF8Buffer<A> ((UnsafeBufferPointer<UInt8>) -> 
> A) -> A + 342
> 5    libswiftCore.dylib                 0x00000001001fbd00 specialized 
> _fatalErrorMessage(StaticString, StaticString, file : StaticString, line : 
> UInt, flags : UInt32) -> Never + 96
> 6    main                               0x0000000100001340 say(message : 
> String?) -> () + 248
> 7    main                               0x00000001000011e0 main + 328
> 8    libdyld.dylib                      0x00007fffb444d234 start + 1
> Process 19013 stopped
> * thread #1, queue = 'com.apple.main-thread', stop reason = 
> EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
>     frame #0: 0x00000001001fbd60 libswiftCore.dylib`function signature 
> specialization <preserving fragile attribute, Arg[2] = Dead, Arg[3] = Dead> 
> of Swift._fatalErrorMessage (Swift.StaticString, Swift.StaticString, file : 
> Swift.StaticString, line : Swift.UInt, flags : Swift.UInt32) -> Swift.Never + 
> 96
> libswiftCore.dylib`function signature specialization <preserving fragile 
> attribute, Arg[2] = Dead, Arg[3] = Dead> of Swift._fatalErrorMessage 
> (Swift.StaticString, Swift.StaticString, file : Swift.StaticString, line : 
> Swift.UInt, flags : Swift.UInt32) -> Swift.Never:
> ->  0x1001fbd60 <+96>: ud2    
>     0x1001fbd62 <+98>: nopw   %cs:(%rax,%rax)
> 
> libswiftCore.dylib`protocol witness table accessor for <A> 
> Swift.AnySequence<A> : Swift.Sequence in Swift:
>     0x1001fbd70 <+0>:  pushq  %rbp
>     0x1001fbd71 <+1>:  movq   %rsp, %rbp
> 
> (lldb) bt
> * thread #1, queue = 'com.apple.main-thread', stop reason = 
> EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
>   * frame #0: 0x00000001001fbd60 libswiftCore.dylib`function signature 
> specialization <preserving fragile attribute, Arg[2] = Dead, Arg[3] = Dead> 
> of Swift._fatalErrorMessage (Swift.StaticString, Swift.StaticString, file : 
> Swift.StaticString, line : Swift.UInt, flags : Swift.UInt32) -> Swift.Never + 
> 96
>     frame #1: 0x0000000100001438 main`say(message=nil) -> () at main.swift:5
>     frame #2: 0x0000000100001328 main`main at main.swift:8
>     frame #3: 0x00007fffb444d235 libdyld.dylib`start + 1
>     frame #4: 0x00007fffb444d235 libdyld.dylib`start + 1
> 
> There is a symbolication tool available for Linux in the 
> ~/swift/utils/symbolicate-linux-fatal, and Xcode can do the same 
> symbolication for you as well.
> 
> Alex
> 
>> On 28 Apr 2017, at 22:28, Nick Snyder via swift-users <swift-users@swift.org 
>> <mailto:swift-users@swift.org>> wrote:
>> 
>> I have a simple main.swift that looks like this:
>> 
>> ```
>> print("Hello, world!")
>> let x: String? = nil
>> 
>> func say(message: String?) {
>>     print(x!) // intentional crash
>> }
>> 
>> say(message: x)
>> ```
>> 
>> Running this results in the crash
>> 
>> ```
>> $ swift build && ./.build/debug/hello
>> Hello, world!
>> fatal error: unexpectedly found nil while unwrapping an Optional value
>> Current stack trace:
>> 0    libswiftCore.dylib                 0x0000000110120130 swift_reportError 
>> + 129
>> 1    libswiftCore.dylib                 0x000000011013cb50 
>> _swift_stdlib_reportFatalError + 60
>> 2    libswiftCore.dylib                 0x000000010ff2d250 specialized 
>> specialized StaticString.withUTF8Buffer<A> ((UnsafeBufferPointer<UInt8>) -> 
>> A) -> A + 342
>> 3    libswiftCore.dylib                 0x00000001100a7e90 partial apply for 
>> (_fatalErrorMessage(StaticString, StaticString, file : StaticString, line : 
>> UInt, flags : UInt32) -> Never).(closure #2) + 109
>> 4    libswiftCore.dylib                 0x000000010ff2d250 specialized 
>> specialized StaticString.withUTF8Buffer<A> ((UnsafeBufferPointer<UInt8>) -> 
>> A) -> A + 342
>> 5    libswiftCore.dylib                 0x000000011005a9a0 specialized 
>> _fatalErrorMessage(StaticString, StaticString, file : StaticString, line : 
>> UInt, flags : UInt32) -> Never + 96
>> 6    hello                              0x000000010fee6200 main + 345
>> 7    libdyld.dylib                      0x00007fffe0375234 start + 1
>> Illegal instruction: 4
>> ```
>> 
>> From the crash, how do I map back line 6 to an actual line in main.swift?
>> _______________________________________________
>> swift-users mailing list
>> swift-users@swift.org <mailto:swift-users@swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-users 
>> <https://lists.swift.org/mailman/listinfo/swift-users>
> 
> 
> _______________________________________________
> swift-users mailing list
> swift-users@swift.org
> https://lists.swift.org/mailman/listinfo/swift-users

_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to