V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
sm0king
V2EX  ›  问与答

工作中,遇到了个奇怪的 bug,求解决方法。

  •  
  •   sm0king · 2018-08-17 15:54:57 +08:00 · 2170 次点击
    这是一个创建于 2296 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近遇到一个 bug,页面一直 loading 让前端定位。

    定位过程是:首先检查前端代码(出问题先检查自身原因),排除了代码方面的问题,然后开始检查返回错误,我怀疑是一直在 pending,于是模拟了各种错误情况,都没复现 bug。然后开始检查后端日志,看有没有返回数据,最后排查了 nginx 和后端日志,都看到了请求,且后端返回了数据。

    到这里我就郁闷了,无法复现 bug,怎么办呐,产品又催,每次去同步进度,问用户情况,都一副不耐烦的样子,怎么还没解决!

    想了想,可能性最大的只剩下网络问题了,于是模拟网络情况,低网速等,都没问题,最后打断连接发现超时的时候会有很长时间的 loading,只有这种可能了,就算模拟很低的网速都没出现过很长时间的 loading。

    那么问题来了,现在上报的,出现 loading 的两个用户,都是 OPPO R15,且重复几次都是同样的结果,一直 loading (用户应该没等待超过超时时间) 按说网络抖动、断掉应该是随机,很少的情况才对呀。

    现在手上一直拿不到 OPPO R15 手机,也无法重现 bug

    跪求各位大神,现在这种情况还有什么情况会导致这样的 bug 呢?一个小前端不胜感激. . .

    再不解决估计就要被产品拉去祭天了

    总不能告诉产品 OPPO R15 手机网络有问题吧,人家肯定不信啊,我自己都不信。

    8 条回复    2018-08-17 19:59:37 +08:00
    wxsm
        1
    wxsm  
       2018-08-17 16:12:48 +08:00
    难为无米之炊。连 bug 都重现不了,谈何解决?
    casztg
        2
    casztg  
       2018-08-17 16:19:18 +08:00
    。。。要不改个提示语?
    您当前网络环境不好
    easylee
        3
    easylee  
       2018-08-17 16:22:57 +08:00 via Android   ❤️ 1
    先用文案处理一下,背后赶紧排查 bug。
    chairuosen
        4
    chairuosen  
       2018-08-17 16:27:05 +08:00   ❤️ 1
    如果特定机型稳定复现,那应该是 ajax 回调里代码某一步报错了。

    比如$.get(xxx).then(()=>{
    doSomething();
    this.loading = false;
    })


    很可能 doSomething 报错了,就一直 loading。错误一定是常规复现不了的,比如访问 localStorage 平时绝对不会出错,但是 safari 无痕模式就会报错

    另外你要建立一个客户端 pingback 机制,客户端可以记一些 Log 发到服务器。
    这样你就知道客户端到底有没有报错
    FelixXie
        5
    FelixXie  
       2018-08-17 16:27:09 +08:00
    oppo 手机问题确实多。之前也碰到过。不兼容或者写法有问题吧。没有手机调试解决有点儿难
    66beta
        6
    66beta  
       2018-08-17 16:34:55 +08:00 via Android
    我手里一加 3T 断流就很严重,你看看日志是不是 4G 网络
    不会再买步步高家的手机了
    JaxXu
        7
    JaxXu  
       2018-08-17 18:42:07 +08:00
    贴代码最实际了,或者是那一部分有新语法运行不下去了呢
    sm0king
        8
    sm0king  
    OP
       2018-08-17 19:59:37 +08:00
    @FelixXie 兼容什么的都检查了,这才是奇怪的。

    @chairuosen 这种方式我们也做了,模拟环境里,除了超时都没出现报错的情况。

    @66beta 说了有可能是网络抖动,但是老板和产品不管啊,必须要解决,或者给解决方案。

    @casztg 也有想过减少超时时间,但不现实,因为有些接口可能会调用比较长的时间,比如要第三方的接口的那种。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3034 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 00:10 · PVG 08:10 · LAX 16:10 · JFK 19:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.