chartjs / Chart.js

Simple HTML5 Charts using the <canvas> tag
https://www.chartjs.org/
MIT License
64.79k stars 11.93k forks source link

Null is not an object. #4740

Closed sibijohn72 closed 7 years ago

sibijohn72 commented 7 years ago

Hi,

I am using ChartJs in a hybrid app. I am only using the pie charts. It works splendidly on the desktop and in the emulator but throws the following error on the device. Any help would be great!

null is not an object (evaluating 'me.data.datasets[datasetIndex]') getDatasetMeta@file:///var/containers/Bundle/Application/FF3F8F97-A13B-43E2-B8B7-7A5C62024416/myApp.app/www/assets/vendor.js:69588:34 file:///var/containers/Bundle/Application/FF3F8F97-A13B-43E2-B8B7-7A5C62024416/myApp.app/www/assets/vendor.js:69289:33 each@file:///var/containers/Bundle/Application/FF3F8F97-A13B-43E2-B8B7-7A5C62024416/myApp.app/www/assets/vendor.js:70077:19 buildOrUpdateControllers@file:///var/containers/Bundle/Application/FF3F8F97-A13B-43E2-B8B7-7A5C62024416/myApp.app/www/assets/vendor.js:69288:16 initialize@file:///var/containers/Bundle/Application/FF3F8F97-A13B-43E2-B8B7-7A5C62024416/myApp.app/www/assets/vendor.js:69152:31 Controller@file:///var/containers/Bundle/Application/FF3F8F97-A13B-43E2-B8B7-7A5C62024416/myApp.app/www/assets/vendor.js:69135:18 Chart@file:///var/containers/Bundle/Application/FF3F8F97-A13B-43E2-B8B7-7A5C62024416/myApp.app/www/assets/vendor.js:71055:39 didInsertElement@file:///var/containers/Bundle/Application/FF3F8F97-A13B-43E2-B8B7-7A5C62024416/myApp.app/www/assets/ember-xdk.js:43:28 superWrapper@file:///var/containers/Bundle/Application/FF3F8F97-A13B-43E2-B8B7-7A5C62024416/myApp.app/www/assets/vendor.js:55531:27 didCreate@file:///var/containers/Bundle/Application/FF3F8F97-A13B-43E2-B8B7-7A5C62024416/myApp.app/www/assets/vendor.js:29655:26 commit@file:///var/containers/Bundle/Application/FF3F8F97-A13B-43E2-B8B7-7A5C62024416/myApp.app/www/assets/vendor.js:16404:34 commit@file:///var/containers/Bundle/Application/FF3F8F97-A13B-43E2-B8B7-7A5C62024416/myApp.app/www/assets/vendor.js:16579:36 commit@file:///var/containers/Bundle/Application/FF3F8F97-A13B-43E2-B8B7-7A5C62024416/myApp.app/www/assets/vendor.js:26676:48 _renderRoots@file:///var/containers/Bundle/Application/FF3F8F97-A13B-43E2-B8B7-7A5C62024416/myApp.app/www/assets/vendor.js:28955:19 _renderRootsTransaction@file:///var/containers/Bundle/Application/FF3F8F97-A13B-43E2-B8B7-7A5C62024416/myApp.app/www/assets/vendor.js:28984:26 _revalidate@file:///var/containers/Bundle/Application/FF3F8F97-A13B-43E2-B8B7-7A5C62024416/myApp.app/www/assets/vendor.js:29023:35 invokeWithOnError@file:///var/containers/Bundle/Application/FF3F8F97-A13B-43E2-B8B7-7A5C62024416/myApp.app/www/assets/vendor.js:19189:32 flush@file:///var/containers/Bundle/Application/FF3F8F97-A13B-43E2-B8B7-7A5C62024416/myApp.app/www/assets/vendor.js:19075:27 flush@file:///var/containers/Bundle/Application/FF3F8F97-A13B-43E2-B8B7-7A5C62024416/myApp.app/www/assets/vendor.js:19238:32 end@file:///var/containers/Bundle/Application/FF3F8F97-A13B-43E2-B8B7-7A5C62024416/myApp.app/www/assets/vendor.js:19317:38 run@file:///var/containers/Bundle/Application/FF3F8F97-A13B-43E2-B8B7-7A5C62024416/myApp.app/www/assets/vendor.js:19396:29 handler@file:///var/containers/Bundle/Application/FF3F8F97-A13B-43E2-B8B7-7A5C62024416/myApp.app/www/assets/vendor.js:28448:27 file:///var/containers/Bundle/Application/FF3F8F97-A13B-43E2-B8B7-7A5C62024416/myApp.app/www/assets/vendor.js:57122:29 dispatch@file:///var/containers/Bundle/Application/FF3F8F97-A13B-43E2-B8B7-7A5C62024416/myApp.app/www/assets/vendor.js:5074:32 handle@file:///var/containers/Bundle/Application/FF3F8F97-A13B-43E2-B8B7-7A5C62024416/myApp.app/www/assets/vendor.js:4886:33 dispatchEvent@[native code] C@file:///var/containers/Bundle/Application/FF3F8F97-A13B-43E2-B8B7-7A5C62024416/myApp.app/www/assets/vendor.js:65279:3837 T@file:///var/containers/Bundle/Application/FF3F8F97-A13B-43E2-B8B7-7A5C62024416/myApp.app/www/assets/vendor.js:65279:5994

sibijohn72 commented 7 years ago

After some digging i think the following is the root cause.

null is not an object (evaluating 'meta.destroy') deleteMeta@file:///var/containers/Bundle/Application/B427F390-81CD-4C1C-B05C-04DAD1C5D362/myApp.app/www/assets/vendor.js:35021:11 destroy@file:///var/containers/Bundle/Application/B427F390-81CD-4C1C-B05C-04DAD1C5D362/myApp.app/www/assets/vendor.js:35581:15 _scheduledDestroy@file:///var/containers/Bundle/Application/B427F390-81CD-4C1C-B05C-04DAD1C5D362/myApp.app/www/assets/vendor.js:50838:29 invokeWithOnError@file:///var/containers/Bundle/Application/B427F390-81CD-4C1C-B05C-04DAD1C5D362/myApp.app/www/assets/vendor.js:19187:33 flush@file:///var/containers/Bundle/Application/B427F390-81CD-4C1C-B05C-04DAD1C5D362/myApp.app/www/assets/vendor.js:19075:27 flush@file:///var/containers/Bundle/Application/B427F390-81CD-4C1C-B05C-04DAD1C5D362/myApp.app/www/assets/vendor.js:19238:32 end@file:///var/containers/Bundle/Application/B427F390-81CD-4C1C-B05C-04DAD1C5D362/myApp.app/www/assets/vendor.js:19317:38 run@file:///var/containers/Bundle/Application/B427F390-81CD-4C1C-B05C-04DAD1C5D362/myApp.app/www/assets/vendor.js:19396:29 handler@file:///var/containers/Bundle/Application/B427F390-81CD-4C1C-B05C-04DAD1C5D362/myApp.app/www/assets/vendor.js:28448:27 file:///var/containers/Bundle/Application/B427F390-81CD-4C1C-B05C-04DAD1C5D362/myApp.app/www/assets/vendor.js:57122:29 dispatch@file:///var/containers/Bundle/Application/B427F390-81CD-4C1C-B05C-04DAD1C5D362/myApp.app/www/assets/vendor.js:5074:32 handle@file:///var/containers/Bundle/Application/B427F390-81CD-4C1C-B05C-04DAD1C5D362/myApp.app/www/assets/vendor.js:4886:33 dispatchEvent@[native code] C@file:///var/containers/Bundle/Application/B427F390-81CD-4C1C-B05C-04DAD1C5D362/myApp.app/www/assets/vendor.js:65279:3837 T@file:///var/containers/Bundle/Application/B427F390-81CD-4C1C-B05C-04DAD1C5D362/myApp.app/www/assets/vendor.js:65279:5994

Can someone tell me what this means and how to fix this?

etimberg commented 7 years ago

@sibijohn72 what does your chart config look like? What user actions causes this?

sibijohn72 commented 7 years ago

@etimberg I switched to plain javascript to create charts and ended up with similar errors. It looks like the device is clearing some objects out of the memory. It's not because of any bug in the chartjs library. Therefore i am closing this issue.