Re: [swift-users] Swift 3 Android hangs & crashes

2016-11-07 Thread Brian Gesiak via swift-users
Yikes, sounds like a nasty bug. Thanks for investigating, Eric!

I'm all for a fix. You may have already considered this, but perhaps the
Android-specific workaround could be put into swift-corelibs-foundation? I
wonder which the core team would prefer?

- Brian Gesiak



On Sun, Nov 6, 2016 at 6:58 PM, Eric Wing via swift-users <
swift-users@swift.org> wrote:

> On 10/31/16, Eric Wing  wrote:
> > Hello, I've been trying to get Swift 3 working on Android. (I
> > previously had Swift 2.x working.)
> >
> > I have the baseline components built following the standard
> > Android/Swift instructions.
> >
> > But when I go to make a trivial, but real Android
> > app (i.e. start in Java Activity and use JNI/LoadLibrary to get to
> > Swift), the Swift code seems to hang (freeze?) whenever my Swift code
> > calls print("foo").
> >
> > Removing all print calls, allows my trivial code to run correctly. But in
> > slightly more complicated test programs (which call into other C
> > libraries), I'm getting program crashes. It looks like libc triggers
> > some kind of abort call in these cases. I know these C libraries work
> > in non-Swift cases.
> >
> > My best guess right now is since Swift print() is also broken, I think
> > there might be some problem related to libc++ (and maybe its
> > interaction with libc) which is used in the build process. (The
> > Android NDK docs warn about std::cout buffering breaking if you have
> > multiple static linked libc++, but I'm not statically linking it.)
> >
> > I'm currently using libc++_shared.
> > I updated my repo a few days ago which includes a fix for NDK r13
> > which I am using.
> >
> >
> > Does this problem ring a bell for anybody?
> > Or can somebody help me figure out how to start debugging this? I've
> > been trying a lot of different things behind the scenes, but I'm
> > starting to run out of ideas.
> >
> > Thanks,
> > Eric
> >
>
> I discovered there is a serious deadlock bug in Android 5.0. flockfile
> on stdout/stderr causes a deadlock. Swift print() ultimately calls
> flockfile, which in turn causes a deadlock. I verified this by first
> commenting out the lock functions in the print function, and then
> later by commenting out the flockfile/funlockfile implementations in
> the Stubs.cpp.
>
>
> One of the comments here mentions this bug:
> https://chengyihe.wordpress.com/2015/10/31/android-child-
> process-hits-mutex-deadlock-in-printf-after-fork/
>
> The workaround seems to be either to remove the call to flockfile() or
> update to Android 5.1. I upgraded my device to 5.1 and the problem
> disappeared.
>
> But thanks to Android fragmentation, going to 5.1 this means we lose
> another 13.1% of devices, leaving us only 40.6% of devices.
>
>
> This does bring up another issue though, at least for print() and
> anything stdout/stderr related on Android. On Android, sending
> anything to stdout/stderr via the NDK is effectively useless because
> they are effectively sent to /dev/null. (The ‘adb shell setprop
> log.redirect-stdio true’ trick doesn’t work for the NDK. There is one
> convoluted trick to redirect using pipes in your codebase, but that is
> a different can of worms.)
>
> In general, print() statements need to go through
> __android_log_write() and __android_log_print() on Android for anybody
> to see anything. Is this something we should implement in Swift?
>
> Thanks,
> Eric
> ___
> 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


[swift-users] Issue with Sample Playgrounds (Sample Code)

2016-11-07 Thread Shyamal Chandra via swift-users
Hi,

I couldn't get this zipped file [ Playgrounds-Starter-Book.zip ] to open in
Xcode 8.0.  It is available at the following link:
https://developer.apple.com/swift/resources/

Do you know if there is some issue with the sample code?  Why doesn't it
open in Xcode?

Thanks!

Best,

Shyamal Chandra
shyam...@gmail.com
Linkedin: http://www.linkedin.com/in/shyamalc
Phone: 620-719-9064
___
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users


Re: [swift-users] The value of enums

2016-11-07 Thread Tino Heth via swift-users

> …oh, I just realized we’re on -users not -evolution here.
:-) Core found an effective way to limit the distractions from evolution:
Over there, this would have been a proposal to remove enums [with associated 
objects] in favor of union types ;-)

Tino

Joking aside, imho it's a pity that all those fundamental discussions from the 
early times can't be published — I bet ideas like "everything is an expression" 
have been brought up, and the reason for their rejection could really help 
understanding the big picture of the language.___
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users