VIVO小游戏启动崩溃

VIVO小游戏启动崩溃

Creator 版本: 2.1.2
目标平台: Vivo小游戏1041

详细报错信息,包含调用堆栈:

ERROR: Uncaught TypeError: Cannot read property ‘_owner’ of undefined, location: /data/user/0/com.vivo.hybrid/app_resource/com.xxx.xxx.vivo/src/cocos2d-runtime.js:0:0
STACK:
[0]getInstantiatedMaterial@/data/user/0/com.vivo.hybrid/app_resource/com.xxx.xxx.vivo/src/cocos2d-runtime.js:11343
[1]getInstantiatedBuiltinMaterial@/data/user/0/com.vivo.hybrid/app_resource/com.xxx.xxx.vivo/src/cocos2d-runtime.js:11340
[2]_activateMaterial@/data/user/0/com.vivo.hybrid/app_resource/com.xxx.xxx.vivo/src/cocos2d-runtime.js:14646
[3]onBMFontTextureLoaded@/data/user/0/com.vivo.hybrid/app_resource/com.xxx.xxx.vivo/src/cocos2d-runtime.js:14607
[4]_applyFontTexture@/data/user/0/com.vivo.hybrid/app_resource/com.xxx.xxx.vivo/src/cocos2d-runtime.js:14610
[5]set@/data/user/0/com.vivo.hybrid/app_resource/com.xxx.xxx.vivo/src/cocos2d-runtime.js:14459
[6]generateNode@/data/user/0/com.vivo.hybrid/app_resource/com.xxx.xxx.vivo/src/cocos2d-runtime.js:

I/_V_10410225_HybridGame.JsStackHandler: handle stackMsg: (see stack)Uncaught TypeError: Cannot read property '_owner' of undefined[0]getInstantiatedMaterial@/data/user/0/com.vivo.hybrid/app_resource/com.xxx.xxx.vivo/src/cocos2d-runtime.js:11343
[1]getInstantiatedBuiltinMaterial@/data/user/0/com.vivo.hybrid/app_resource/com.xxx.xxx.vivo/src/cocos2d-runtime.js:11340
[2]_activateMaterial@/data/user/0/com.vivo.hybrid/app_resource/com.xxx.xxx.vivo/src/cocos2d-runtime.js:14646
[3]onBMFontTextureLoaded@/data/user/0/com.vivo.hybrid/app_resource/com.xxx.xxx.vivo/src/cocos2d-runtime.js:14607
[4]_applyFontTexture@/data/user/0/com.vivo.hybrid/app_resource/com.xxx.xxx.vivo/src/cocos2d-runtime.js:14610
[5]set@/data/user/0/com.vivo.hybrid/app_resource/com.xxx.xxx.vivo/src/cocos2d-runtime.js:14459
[6]generateNode@/data/user/0/com.vivo.hybrid/app_resource/com.xxx.xxx.vivo/src/cocos2d-runtime.js:38255
[7]beforeUpdate@/data/user/0/com.vivo.hybrid/app_resource/com.xxx.xxx.vivo/src/cocos2d-runtime.js:38274
[8]187.CallbacksInvoker.invoke@/data/user/0/com.vivo.hybrid/app_resource/com.xxx.xxx.vivo/src/cocos2d-runtime.js:30268
[9]mainLoop@/data/user/0/com.vivo.hybrid/app_resource/com.xxx.xxx.vivo/src/cocos2d-runtime.js:7490
[10]callback@/data/user/0/com.vivo.hybrid/app_resource/com.xxx.xxx.vivo/src/cocos2d-runtime.js:7732
[11]anonymous@(no filename):1

重现方式:启动,100% 必现

经检查发现是启动时读取内置Material 2d-sprite,读出来为undefined
D/jswrapper: JS: ~~~~~~~~~~~~~~getBuiltinMaterial: 2d-sprite, mat:undefined

mat = undefined

 getInstantiatedMaterial: function getInstantiatedMaterial(mat, renderComponent) {
        if (mat._owner === renderComponent) return mat;
        var instance = new Material();
        instance.copy(mat);
        instance._name = mat._name + " (Instance)";
        instance._uuid = mat._uuid;
        instance._owner = renderComponent;
        return instance;
  }