jeromeetienne / AR.js

Efficient Augmented Reality for the Web - 60fps on mobile!
MIT License
15.79k stars 2.22k forks source link

when 212 markers were loaded on the page,i got the "Uncaught abort() at Error" #556

Closed songchunlong closed 5 years ago

songchunlong commented 5 years ago

Do you want to request a feature or report a bug?

i write a html , in this html i want to load 212 markers.when i access this html by chrome,i got this error from console:

aframe-ar.js:19 Uncaught abort() at Error at jsStackTrace (http://localhost:8080/AR.js-master/three.js/examples/lib/aframe/build/aframe-ar.js:2:41099) at stackTrace (http://localhost:8080/AR.js-master/three.js/examples/lib/aframe/build/aframe-ar.js:2:41282) at Object.abort (http://localhost:8080/AR.js-master/three.js/examples/lib/aframe/build/aframe-ar.js:19:4866) at _abort (http://localhost:8080/AR.js-master/three.js/examples/lib/aframe/build/aframe-ar.js:2:106287) at Uj (http://localhost:8080/AR.js-master/three.js/examples/lib/aframe/build/aframe-ar.js:9:70571) at Object.toWireType (http://localhost:8080/AR.js-master/three.js/examples/lib/aframe/build/aframe-ar.js:2:107348) at Object.addMarker (eval at new (http://localhost:8080/AR.js-master/three.js/examples/lib/aframe/build/aframe-ar.js:2:116383), :8:26) at http://localhost:8080/AR.js-master/three.js/examples/lib/aframe/build/aframe-ar.js:1496:20 at writeByteArrayToFS (http://localhost:8080/AR.js-master/three.js/examples/lib/aframe/build/aframe-ar.js:1602:3) at XMLHttpRequest.oReq.onload (http://localhost:8080/AR.js-master/three.js/examples/lib/aframe/build/aframe-ar.js:1619:4) If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information. abort @ aframe-ar.js:19 _abort @ aframe-ar.js:2 Uj @ aframe-ar.js:10 toWireType @ aframe-ar.js:2 _addMarker @ VM829:8 (anonymous) @ aframe-ar.js:1496 writeByteArrayToFS @ aframe-ar.js:1602 oReq.onload @ aframe-ar.js:1619 load (async) ajax @ aframe-ar.js:1614 addMarker @ aframe-ar.js:1495 ARController.loadMarker @ aframe-ar.js:387 postInit @ aframe-ar.js:4935 (anonymous) @ aframe-ar.js:4923 setInterval (async) ARjs.MarkerControls._initArtoolkit @ aframe-ar.js:4915 ARjs.MarkerControls.THREEx.ArMarkerControls @ aframe-ar.js:4813 ARjs.Anchor @ aframe-ar.js:6558 (anonymous) @ aframe-ar.js:8318 setInterval (async) init @ aframe-ar.js:8269 updateProperties @ aframe.js:74631 module.exports.Component @ aframe.js:74420 NewComponent @ aframe.js:74826 value @ aframe.js:73281 value @ aframe.js:73448 doUpdateComponent @ aframe.js:73417 value @ aframe.js:73399 entityLoadCallback @ aframe.js:73210 emitLoaded @ aframe.js:74047 Promise.then (async) value @ aframe.js:74045 value @ aframe.js:73206 value @ aframe.js:72998 wrappedMethod @ aframe.js:74341 wrappedMethod @ aframe.js:74341

and some marker load is failed.just like this:

"loadMarker(): Error loading pattern file /marker_120. aframe-ar.js:2 ARToolKitJS(): Unable to set up AR marker."

if i load this html for many time,the number of marker will be change many time. sometimes i got a "out of memory" error。

I checked the chrome memory and found the js VM instance memory is 120MB and JSArrayBufferData is 68%.

I have checked all the issue,and i found the same question but no answer and closed.

can you help me?

If the current behavior is a bug, please provide the steps to reproduce.

What is the expected behavior?

If this is a feature request, what is motivation or use case for changing the behavior?

Please mention other relevant information such as the browser version, Operating System and Device Name

nicolocarpignoli commented 5 years ago

Hi, are you sure all files have the right extension?

"loadMarker(): Error loading pattern file /marker_120.

Did marker_120 has an extension, for example?

songchunlong commented 5 years ago

thank you for your question. 1.Yes,I sure.when i load 40 markers,the html will be viewed normally.the program is no problem 2.this is main code. <!doctype HTML>

.........
songchunlong commented 5 years ago

mycode.zip this is my code

nicolocarpignoli commented 5 years ago

I downloaded and ran your code. I see no problems in console of Chrome.

So, what brings to my attention is the if i load this html for many time,the number of marker will be change many time. sometimes i got a "out of memory" error. I think you may have performances problem. Do you have the possibility to run such file on another more powerful computer, or with a powerful smartphone? and maybe see if it shows error too

songchunlong commented 5 years ago

Thank you for your confirm

my node pc: Intel i7-8550 CPU ,16G RAM,64bit win10 ,128G SSD i also test this program on my friend's pc: Intel i7 CPU,32G RAM,64bit 256 SSD

the error is still there.but we didn't found out of memory anymore.

yesterday evening,when i got your answer ,i tested on my pc,just onetime no error. how about your pc config?

nicolocarpignoli commented 5 years ago

Macbook Pro, 2,6 GHz Intel Core i7, 32 GB memory.

On your HTML I see no error, so strange

songchunlong commented 5 years ago

thanks you very much. I have to change the program. so ,I think this issue can be closed

AR.js is so perfect!