V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
quietjosen
V2EX  ›  程序员

吐槽一下 Swift + Ubuntu 吧,如果你也在玩的话…

  •  
  •   quietjosen ·
    atjason · 2016-12-26 18:57:12 +08:00 · 4762 次点击
    这是一个创建于 2889 天前的主题,其中的信息可能已经有所发展或是发生改变。

    新上了服务;

    定期看看日志;

    接口有很多错误;

    错误的原因是超时;

    超时的原因是上游服务挂了;

    上游服务挂了的原因是 Swift 崩溃了(请注意下面的 libswiftCore.so );

    崩溃的原因, Google 转了一圈,据说是 print(Error),一个多么标准的接口;

    https://bugs.swift.org/browse/SR-2476

    https://bugs.swift.org/browse/SR-2713

    于是,我也崩溃了…

    哎, Swift + Ubuntu ,小孩子玩玩还可以,真没有达到商用的级别。

    第 1 条附言  ·  2016-12-29 21:03:42 +08:00

    更新:最后还是彻底解决了这个问题,又可以愉快地和 Swift + Ubuntu + Vapor 玩耍了。不过,还是打算花时间学习下 Perfect,看口碑更成熟稳定些。

    • 调试:使用 gdb 分析 core dump,找到崩溃的代码地址。
    • 原因:是 AES256CBC.swift 在调用 Linux 进程时,「偶尔」会导致 libswiftCore.so 崩溃。
    • 办法:替换生成随机数的方式。

    更多:https://atjason.com/daily/2016-12-29.html

    17 条回复    2016-12-27 18:11:19 +08:00
    xiubin
        1
    xiubin  
       2016-12-26 20:22:40 +08:00
    虽然没看懂,但是还是感觉很厉害
    yaxin
        2
    yaxin  
       2016-12-26 20:32:17 +08:00
    Swift 做后端服务语言?
    WildCat
        3
    WildCat  
       2016-12-26 20:44:21 +08:00
    quietjosen
        4
    quietjosen  
    OP
       2016-12-26 22:35:10 +08:00
    @yaxin 是的,但还不成熟。
    quietjosen
        5
    quietjosen  
    OP
       2016-12-26 22:35:39 +08:00
    @WildCat 谢分享,看看;大概还是能运行的,但碰到诡异的错误后,就完全没办法了。
    crayygy
        6
    crayygy  
       2016-12-26 23:31:58 +08:00
    Swift 的稳定性我一直持怀疑态度
    quietjosen
        7
    quietjosen  
    OP
       2016-12-27 08:36:34 +08:00
    @crayygy

    Apple 平台的 Swift 稳定性,不用怀疑;
    Linux 平台的 Swift 稳定性,不用怀疑;
    ragnaroks
        8
    ragnaroks  
       2016-12-27 09:55:54 +08:00
    @quietjosen 没毛病
    janxin
        9
    janxin  
       2016-12-27 10:54:53 +08:00 via iPhone
    为什么要在后端用…不坑都得烧高香
    quietjosen
        10
    quietjosen  
    OP
       2016-12-27 11:04:59 +08:00
    @janxin 胆肥呗;是个挺小的服务,正好在用 Swift ,就想试试;没想到就入坑了…
    skywayman
        11
    skywayman  
       2016-12-27 12:05:47 +08:00
    @quietjosen 回答真是一针见血!
    kilinmitai
        12
    kilinmitai  
       2016-12-27 16:43:57 +08:00
    @crayygy 不得已在 ubuntu 上写 swift 的表示+1
    也可能我人品差,就最近 1 个月就遇到 2 个 swift 本身的 bug ,一个提交了 bug 后说已经在 master 修复了,今天又遇到一个,正在蛋疼编译 swift 中。
    我的 swift 版本虽然没有每天更新,也不是太老,手头的版本就是上次提 bug 后才更新的,不到一个月。可见这东西离稳定还挺远的吧。
    kilinmitai
        13
    kilinmitai  
       2016-12-27 16:45:21 +08:00
    发现的两个 bug 在 xcode 上都没问题,都是 ubuntu 上实现的锅
    crayygy
        14
    crayygy  
       2016-12-27 18:04:50 +08:00 via iPhone
    @kilinmitai 我估计能用的版本要到 5 之后。。。
    quietjosen
        15
    quietjosen  
    OP
       2016-12-27 18:08:26 +08:00
    @kilinmitai 再说一个坑:昨天发现这个问题,就把 Swift 3.0 升级到 3.0.2 ,依然没有解决问题;结果另外一个在 3.0 下编译的程序,运行就直接挂(还过有监控,不然谁知道挂了啊);哎,这么小的版本升级都不兼容,我也是醉…

    手痒试了 Snapchat 版本,结果直接无法编译了,遂放弃之…
    quietjosen
        16
    quietjosen  
    OP
       2016-12-27 18:08:52 +08:00
    @kilinmitai 其实,很多不是实现有问题,是还没实现…
    quietjosen
        17
    quietjosen  
    OP
       2016-12-27 18:11:19 +08:00
    @crayygy 是的;.net 开源的更早,但估计 Linux 下的 .net 应该还是废柴(纯 YY 、无证据)

    关键没动力推进啊,这是个悖论:

    作为开发者,肯定是选用稳定、库多的平台;
    而作为平台,如果总是没有开发者使用,肯定不稳定、库不多。

    我就是那个可怜的、在 Swift + Ubuntu 中爬坑的宝宝…
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1075 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:08 · PVG 03:08 · LAX 11:08 · JFK 14:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.