[swift-users] Swift 4.0 LLDBFrontend Crash

Michael Gottesman mgottesman at apple.com
Thu Oct 12 13:13:23 CDT 2017


I just added a section to ./docs/DebuggingTheCompiler.rst on how to get enable logging from LLDB.

Can you enable the logging there and add file an SR?

Michael

> On Oct 7, 2017, at 11:27 AM, Edward Connell <ewconnell at gmail.com> wrote:
> 
> Hi Michael,
> No I am not evaluating an expression or anything. This all worked fine in past builds.
> 
> I simply set a breakpoint in a function and after stopping while gathering values for the debugger view, it crashes.
> 
> It doesn't crash in all functions, but it does crash when trying to stop in many different functions.
> An example function signature where it crashes is (DataView is a concrete struct):
> 
> public func setupForward(mode: EvaluationMode, inData: DataView, labels: DataView?,
> 	                                 outData: inout DataView, backData: inout DataView?) throws { ... }
> 
> Before calling the function, all of the parameters have valid values that I can examine. But as soon as I step into this function, LLDB crashes with that message. It behaves the same way with other functions that have different signatures.
> 
> I tried to create a very simple repro case using this signature, but it didn't crash. My project is on GitHub and this can be easily reproduced. The only pain is installing my project on your test machine.
> 
> Ubuntu 16.04
> Swift 4.0 release
> NVidia gpu
> Netlib https://github.com/ewconnell/Netlib/wiki#installation <https://github.com/ewconnell/Netlib/wiki#installation>
> CLion IDE with Swift plugin
> 
> 1) do a debug build
> 2) set a breakpoint at CudaSoftmax.swift:44  or any line in the function
> 3) run
> 4) when it stops LLDBFrontend crashes
> 
> LLDBFrontend: /home/buildnode/jenkins/workspace/oss-swift-4.0-package-linux-ubuntu-16_04/swift/lib/SILOptimizer/Mandatory/AccessEnforcementSelection.cpp:613: (anonymous namespace)::SourceAccess (anonymous namespace)::AccessEnforcementSelection::getSourceAccess(swift::SILValue): Assertion `isa<AllocStackInst>(address) || isa<SILUndef>(address)' failed.
> Stack dump:
> 0.	While running pass #10 SILModuleTransform ""Access Enforcement Selection"".
> 
> 
> Using the LLDB CLI I am able to stop there. If I try "fr var -O" with 
> mode, inData, and labels, it prints their values no problem
> outData and backData gives me a segmentation violation
> The visible difference is the "inout"
> 
> Not sure what the problem is. It worked fine in the past.
> 
> If you can think of an experiment I can try to create a simple repro case, please let me know.
> 
> Thanks, Ed
> 
> On Fri, Oct 6, 2017 at 4:34 PM, Michael Gottesman <mgottesman at apple.com <mailto:mgottesman at apple.com>> wrote:
> It looks like this is failing during guaranteed optimization. Are you running an expression in the debugger and we are crashing there?
> 
> Michael
> 
>> On Oct 6, 2017, at 11:53 AM, Edward Connell via swift-users <swift-users at swift.org <mailto:swift-users at swift.org>> wrote:
>> 
>> While trying to debug a Netlib function, LLDB is crashing
>> 
>> I'm not sure what this assert means.
>> 
>> LLDBFrontend: /home/buildnode/jenkins/workspace/oss-swift-4.0-package-linux-ubuntu-16_04/swift/lib/SILOptimizer/Mandatory/AccessEnforcementSelection.cpp:613: (anonymous namespace)::SourceAccess (anonymous namespace)::AccessEnforcementSelection::getSourceAccess(swift::SILValue): Assertion `isa<AllocStackInst>(address) || isa<SILUndef>(address)' failed.
>> Stack dump:
>> 0.	While running pass #10 SILModuleTransform ""Access Enforcement Selection"".
>> 
>> It fails every time and the same way in several functions, but not all functions.
>> I tried to create a simple repro with the same function signature, but I can't get the simple case to fail.
>> A debug build isn't doing whole-module-optimization, so that's not it
>> 
>> Ideas anyone?
>> 
>> Who owns the LLDBFrontend?
>> 
>> Thanks, Ed
>> _______________________________________________
>> swift-users mailing list
>> swift-users at swift.org <mailto:swift-users at swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-users <https://lists.swift.org/mailman/listinfo/swift-users>
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20171012/a9dc0742/attachment.html>


More information about the swift-users mailing list