z***@qq.com
z***@qq.com
  • 发布:2019-07-10 14:22
  • 更新:2020-09-18 10:11
  • 阅读:6827

【报Bug】多次热加载(2-3次),app报错白屏

分类:HBuilderX

自定义基座,
工具版本:2.0.4.20190706-alpha,
设备信息:小米8 安卓9;
保存详细情况:运行到手机,正常,ctrl+s第一次,正常,ctrl+s第二次(可能会报错白屏挂机),ctrl+s第三次铁定会挂掉
看到错误信息,完全不知道怎么追踪改问题

14:12:11.667 Uncaught TypeError: Cannot read property 'id' of undefined at __uniapptabbar.html:10  
14:12:11.687 Uncaught TypeError: Cannot read property '__needTouchEvent__' of undefined at __uniapptabbar.html:1  
14:12:12.067 12:06.728 14966 14988 E console : [ERROR] reportJSException >>>> exception function:createInstance, exception:Exception: TypeError: undefined is not an object (evaluating 'this.__callbacks__[e]')  
14:12:12.087 12:06.728 14966 14988 E console : addEventListener@weex service:3:16424  
14:12:12.107 12:06.728 14966 14988 E console : addEventListener@weex service:3:101603  
14:12:12.127 12:06.728 14966 14988 E console : (global function):6:84736  
14:12:12.147 12:06.728 14966 14988 E console : (global function):6:85014  
14:12:12.167 12:06.728 14966 14988 E console : (global function):6:85376  
14:12:12.187 12:06.728 14966 14988 E console : (global function):6:85379  
14:12:12.207 12:06.728 14966 14988 E console : anonymous@(global function):14505:7  
14:12:12.227 12:06.728 14966 14988 E console : (weex framework):1:41522  
14:12:12.247 12:06.728 14966 14988 E console : createInstance@(weex framework):1:41533  
14:12:12.267 12:06.728 14966 14988 E console : (weex framework):1:178096  
14:12:12.287 12:06.728 14966 14988 E console :  
14:12:12.307 12:06.728 14966 14988 E console :  getTemplateInfo== template md5 e2851d33031fbc19b3a8b7d839e0e9a0 length 6826067 base64 md5 4oUdMwMfvBmzqLfYOeDpoA== response header {"templateSourceBase64MD5":["4oUdMwMfvBmzqLfYOeDpoA=="],"templateSourceMD5":["e2851d33031fbc19b3a8b7d839e0e9a0"]}
2019-07-10 14:22 负责人:无 分享
已邀请:
z***@qq.com

z***@qq.com (作者)

经过n多次的排查,终于终于发现了问题,一个很大的问题,在我的app中tabbar1页面是一个地图页面,里面有一个map组件,如果第一次运行,我打开了tabbar1页面,渲染了地图,当我修改一些东西保存,app自动重启可能会报错,但是当我再敲一个空格点击保存以后,再次重启是必定会报错的,如果第一次渲染,我没有点tabbar1页面(就是说没有渲染出map组件),那么我怎么保存修改重启都是没有任何问题的,只有当我渲染了一次map组件后,保存热加载才会出现上述问题,这个算是调试的重大bug吧

  • DCloud_Android_ST

    上传可复现问题的demo工程

    2019-07-10 15:16

  • z***@qq.com (作者)

    回复 DCloud_Android_ST: 新建一个uni-app项目,在把index.vue里面的东西删除,就写一个<map></map>,然后多保存几次,就会出现我说的这个问题


    <template>  
    <view >
    <map></map>
    </view>
    </template>

    2019-07-10 15:21

  • DCloud_Android_ST

    回复 z***@qq.com: 手机型号 系统版本等息息提供一下 。测试了一下没发现你说的问题。

    2019-07-10 15:31

  • z***@qq.com (作者)

    回复 DCloud_Android_ST: 小米8,安卓9,要保存3次,app自动重启的哦,不要重新编译,热加载的那种

    2019-07-10 15:38

  • DCloud_Android_ST

    回复 z***@qq.com: 按你的步骤操作了 还真没复现。你换其他手机看能复现问题吗

    2019-07-10 16:01

  • z***@qq.com (作者)

    回复 DCloud_Android_ST: 好像不是map的问题,但是我始终存在该问题,但是又不知道该问题是哪里导致的,不知道官方能不能帮忙一下,因为这样真的很麻烦,每次都需要重新编译


    14:12:11.667 Uncaught TypeError: Cannot read property 'id' of undefined at __uniapptabbar.html:10    
    14:12:11.687 Uncaught TypeError: Cannot read property '__needTouchEvent__' of undefined at __uniapptabbar.html:1
    14:12:12.067 12:06.728 14966 14988 E console : [ERROR] reportJSException >>>> exception function:createInstance, exception:Exception: TypeError: undefined is not an object (evaluating 'this.__callbacks__[e]')
    14:12:12.087 12:06.728 14966 14988 E console : addEventListener@weex service:3:16424
    14:12:12.107 12:06.728 14966 14988 E console : addEventListener@weex service:3:101603
    14:12:12.127 12:06.728 14966 14988 E console : (global function):6:84736
    14:12:12.147 12:06.728 14966 14988 E console : (global function):6:85014
    14:12:12.167 12:06.728 14966 14988 E console : (global function):6:85376
    14:12:12.187 12:06.728 14966 14988 E console : (global function):6:85379
    14:12:12.207 12:06.728 14966 14988 E console : anonymous@(global function):14505:7
    14:12:12.227 12:06.728 14966 14988 E console : (weex framework):1:41522
    14:12:12.247 12:06.728 14966 14988 E console : createInstance@(weex framework):1:41533
    14:12:12.267 12:06.728 14966 14988 E console : (weex framework):1:178096
    14:12:12.287 12:06.728 14966 14988 E console :
    14:12:12.307 12:06.728 14966 14988 E console : getTemplateInfo== template md5 e2851d33031fbc19b3a8b7d839e0e9a0 length 6826067 base64 md5 4oUdMwMfvBmzqLfYOeDpoA== response header {"templateSourceBase64MD5":["4oUdMwMfvBmzqLfYOeDpoA=="],"templateSourceMD5":["e2851d33031fbc19b3a8b7d839e0e9a0"]}

    2019-07-15 15:49

  • DCloud_Android_ST

    回复 z***@qq.com: 给个能复现问题的demo

    2019-07-15 15:55

1***@qq.com

1***@qq.com - 前端

同样经常性遇到,只有关掉编译器重启才行。

一枚游戏菜鸟

一枚游戏菜鸟

大哥,我也遇到了,你解决了吗?

a***@qq.com

a***@qq.com

打印一下报错的字段看看。
我的之前也这样,后来打印出来之后发现这个字段的类型在热重载的时候变了,那就加一段专门处理的代码就行了。

  • z***@qq.com (作者)

    找到了报错的地方就不出来开贴了...根本追踪不到错误,现在好像又好了,什么都没改-..-

    2019-07-25 15:40

Viccy

Viccy

同样的问题

  • Viccy

    测试手机是华为mate9 pro

    2019-08-30 13:08

  • z***@qq.com (作者)

    回复 Viccy: 我放弃解决这个那...基本上都是同步两次就白屏了,然后重新再编译,

    2019-08-30 14:38

简单亿点

简单亿点

我们也出现过类似的问题:

18:21:07.469 21:10.236 23937 23957 E console : [ERROR] reportJSException >>>> exception function:run raxApi, exception:JavaScript execute error!TypeError: undefined is not an object (evaluating 'n.scale')
18:21:07.490 21:10.236 23937 23957 E console : getTemplateInfo== template md5 2c8d4f8aaff22ca3fd6581d14ec35d79 length 5905591 base64 md5 LI1Piq/yLKP9ZYHRTsNdeQ== response header {"templateSourceBase64MD5":["LI1Piq/yLKP9ZYHRTsNdeQ=="],"templateSourceMD5":["2c8d4f8aaff22ca3fd6581d14ec35d79”]}

18:27:18.825 Error: [JS Framework] Using invalid instance id "1" when calling destroyInstance.
18:27:19.319 27:22.056 26610 26630 E console : [ERROR] reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->TypeError: Reporter.reportIDKey is not a function. (In 'Reporter.reportIDKey({key:t})', 'Reporter.reportIDKey' is undefined)
18:27:19.348 27:22.056 26610 26630 E console : getTemplateInfo== template md5 2c8d4f8aaff22ca3fd6581d14ec35d79 length 5905591 base64 md5 LI1Piq/yLKP9ZYHRTsNdeQ== response header {"templateSourceBase64MD5":["LI1Piq/yLKP9ZYHRTsNdeQ=="],"templateSourceMD5":["2c8d4f8aaff22ca3fd6581d14ec35d79”]}

然后我们发现我们把CPU的三个勾全勾上时会有问题,不勾默认就没事。
不知道大家出这个问题是不是也是勾选了CPU?

  • 简单亿点

    测试手机是华为P30

    2019-08-30 12:54

  • z***@qq.com (作者)

    回复 简单亿点: 我放弃解决这个了...基本上都是同步两次就白屏了,然后重新再编译,

    2019-08-30 14:38

  • h***@163.com

    什么cpu?

    2019-10-12 11:17

我是一棵小草

我是一棵小草

重新编译运行就行了

5***@qq.com

5***@qq.com

我一个同事也遇到这个问题,直接就是官方demo运行到手机报错,调了好一会也没搞定,
后来发现他的微信开发者工具版本很低,让他更新了微信开发者工具,然后重新配置微信开发者工具地址,再次运行就OK了
17:12:24.965 08:00.093 19631 19823 E console : [ERROR] reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->ReferenceError: Can't find variable: window
17:12:24.985 08:00.093 19631 19823 E console : getTemplateInfo== template md5 e5fccdd8b395b0b91436d3c783e2289 length 10828999 base64 md5 Dl/M3Ys5WwuRQ208eD4iiQ== response header {"templateSourceBase64MD5":["Dl/M3Ys5WwuRQ208eD4iiQ=="],"templateSourceMD5":["e5fccdd8b395b0b91436d3c783e2289"]}
17:12:26.705 12:26.399 21224 21244 E console : [ERROR] reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->ReferenceError: Can't find variable: window
17:12:26.725 12:26.399 21224 21244 E console : getTemplateInfo== template md5 e5fccdd8b395b0b91436d3c783e2289 length 10828999 base64 md5 Dl/M3Ys5WwuRQ208eD4iiQ== response header {"templateSourceBase64MD5":["Dl/M3Ys5WwuRQ208eD4iiQ=="],"templateSourceMD5":["e5fccdd8b395b0b91436d3c783e2289"]}

  • z***@qq.com (作者)

    追踪不到问题在哪里,我的现在依然还是有这个问题,调试起来很头疼

    2019-09-06 18:45

  • z***@qq.com (作者)

    我的啊app

    2019-09-06 18:45

1***@qq.com

1***@qq.com - 前端女小白

37:23.368 26436 26456 E console : [ERROR] reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->TypeError: Attempted to assign to readonly property.
16:37:24.145 37:23.368 26436 26456 E console : getTemplateInfo== template md5 48e3e2e51b2502242b1272ab2f01090f length 6423944 base64 md5 SOPi5RslAiQrEnKrLwEJDw== response header {"templateSourceBase64MD5":["SOPi5RslAiQrEnKrLwEJDw=="],"templateSourceMD5":["48e3e2e51b2502242b1272ab2f01090f"]}
我的也是更新完新版本没改任何东西,再打开app一直是白屏,重新打开好几遍都这样,晕了

  • z***@qq.com (作者)

    我现在还是在报错,勉强用小程序调试了。app同步一次两次还好,3次就挂掉了

    2019-09-10 17:51

  • 1***@qq.com

    回复 z***@qq.com: 我的现在就都是白屏,根本没法调

    2019-09-10 18:02

  • z***@qq.com (作者)

    回复 1***@qq.com: 出问题没啥事,问题是这种问题追踪不到位置,调都不知道怎么下手。之前都好好的,升级后就挂了

    2019-09-10 19:18

  • 1***@qq.com

    回复 z***@qq.com: 你起码还可以出来一下,我的就一直白屏,更是没法调试

    2019-09-11 11:24

  • 2***@qq.com

    回复 z***@qq.com: 现在有找到解决方案吗?我根据好几天了,只要我热更新两次,这种情况必现,头疼

    2019-09-16 09:55

  • z***@qq.com (作者)

    回复 2***@qq.com: 没有

    2019-09-16 11:16

  • 1***@qq.com

    回复 z***@qq.com: 我的好了,我的之前是因为页面里面写了wx. ,改了后面就可以了

    2019-09-17 09:19

  • 2***@qq.com

    回复 1***@qq.com: 请问你是怎么定位到问题的,我的代码上面没有wx. 也不知道具体什么问题,可以分享一下排查问题的思路吗?

    2019-09-17 11:41

  • 1***@qq.com

    回复 2***@qq.com: 我当时就觉得应该是那里的问题,改了试了一下就可以了

    2019-09-17 14:31

  • 2***@qq.com

    回复 z***@qq.com: 可以用最新版的2.3.0试下,我刚试了好像是ok的了

    2019-09-20 11:50

  • z***@qq.com (作者)

    回复 2***@qq.com: 现在都2.3.2了....

    2019-09-23 10:03

2***@qq.com

2***@qq.com

这个问题怎么就没人出来解决呢?这两天给这个问题整到头疼,官方不知道准确答案,起码给一些出现问题的可能原因以及排查问题的建议啊,唉

DCloud_Android_ST

DCloud_Android_ST

试试 HX 2.3.0或更高版

s***@163.com

s***@163.com

用了H5或小程序的语法,并且输出了。找找看哪里是做h5或小程序页面的代码,加上编译条件就行了

  • 2***@qq.com

    如果是这样的话,那不是应该第一次热更新的时候就会报错了吗?为啥是要热更新两到三次才会出现白屏的问题

    2019-09-18 17:45

  • s***@163.com

    回复 2***@qq.com: 你的没报错吗?应该有报错才对

    2019-09-19 17:04

  • DCloud_Android_ST

    回复 s***@163.com: 试用2.3.0或更高的版本试试

    2019-09-20 11:53

  • s***@163.com

    回复 DCloud_Android_ST: 新版就不清楚了,用了新版很多问题,只好还原为旧版

    2019-09-21 10:26

1***@163.com

1***@163.com - 90后IT

[ERROR] reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->TypeError: undefined is not an object (evaluating 'modules[moduleId].call')
16:47:24.817 47:32.176 5983 6006 E console : getTemplateInfo== template md5 5127832fa788f586c3febd9a8a670bb5 length 6269952 base64 md5 USeDL6eI9YbD/r2aimcLtQ== response header {"templateSourceBase64MD5":["USeDL6eI9YbD/r2aimcLtQ=="],"templateSourceMD5":["5127832fa788f586c3febd9a8a670bb5"]}

我编译也遇到这个怎么回事有没有大佬知道的

爱吃鱼的靖哥哥

爱吃鱼的靖哥哥 - 行走在全栈路上的码农

我也遇到这个问题了,不知道怎么回事,调试app真是不方便

m***@163.com

m***@163.com - 前端程序员

我也遇到到了这个问题

图阅

图阅

三星S6也遇到同样问题。。。

machi的奶茶

machi的奶茶 - 披风前行

我也遇到了类似的问题,运行真机或模拟器后停留在开屏白屏页面,以下为运行环境和报错日志 :

工具版本:2.4.2.20191115
设备信息:HUAWEI TAG-TL00 安卓5.0、小米8SE、模拟器(9.0);


reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->TypeError: undefined is not an object (evaluating 'a['SeniverseWeatherWidgetObject'] = f')  
11:27:18.042 getTemplateInfo== template md5 82eee7ed90876f6bae761bb4c4082dc4 length 7575287 base64 md5 gu7n7ZCHb2uudhu0xAgtxA== response header {"templateSourceBase64MD5":["gu7n7ZCHb2uudhu0xAgtxA=="],"templateSourceMD5":["82eee7ed90876f6bae761bb4c4082dc4"]}  
7***@qq.com

7***@qq.com

reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->ReferenceError
getTemplateInfo== template md5 ab52e526fd33f3b2428999c9a47d92c3 length 54026...
同样的问题,关掉编译器重启就好了

l***@163.com

l***@163.com

有没有解决方法,遇到同样问题

qsh

qsh

有没有解决呢,遇到了头疼

DCloud_heavensoft

DCloud_heavensoft

建议升级到v3编译器

  • qsh

    但是现在HBuilder X最新是2.6.8,编译器不是跟软件更新一样?

    2020-04-03 09:47

  • machi的奶茶

    官方指的是manifest.json可视化视图-App其他常用设置里勾选v3编译器!

    2020-04-03 13:59

ge

ge

遇到同样问题,请问怎么解决,

这么久了,官方就不给解决一下吗
白屏后只能重新编译

叶耳朵

叶耳朵

22:58:08.619 reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Exception: SyntaxError: Parser error
22:58:08.639 at weex createInstanceContext:71772
22:58:08.680 getTemplateInfo== template md5 e28dc2c65412ce1faca4a8ecdf84f151 length 10898901 base64 md5 4o3CxlQSzh+spKjs34TxUQ== response header {"templateSourceBase64MD5":["4o3CxlQSzh+spKjs34TxUQ=="],"templateSourceMD5":["e28dc2c65412ce1faca4a8ecdf84f151"]}

碎梦琉璃

碎梦琉璃

reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Uncaught SyntaxError: Invalid or unexpected token

前几天调试没报这个问题今天就出错了

梦见李阿木

梦见李阿木

今天更了2.8.8后发现也出错了[捂脸]

该问题目前已经被锁定, 无法添加新回复