Browser incompatibility (Firefox and Opera)

We have recently noticed that some of our GLTF models, which used to work in Mozilla Firefox, have stopped loading using the threejs library. It also happens with Opera.

We have found that the same model can be loaded with Chrome. Let me attach the GLTF in question. Since it is 50 Mb, I will link you to a MediaFire link: GLFT file.

We have tested this using: https://gltf-viewer.donmccurdy.com/, which is powered by threejs too. We found that Opera gets stuck on loading, Firefox crashes returning an error and Chrome can load the model.

Would some expert confirm if there is a navigator issue. This same GLFT used to be loaded by Firefox and Opera more or less one month ago.

Thank you in advance.

I can reproduce the issue with Firefox 109.0.1 on macOS 13.2. The error message is not very descriptive since I only see this:

Request constructor: data:application/octet-stream;

Followed by a large base64 string.

It seems the glTF asset was exported in Blender. Do you mind exporting it without the “embedded” option? Next to the glTF file you will end up with bin and texture files. Try to load this format instead.

Thank you. Let me attach the not embedded files.

Gas_Tank_not_embedded.bin (1.2 MB)
Gas_Tank_not_embedded.gltf (26.3 KB)

Now can be displayed in https://gltf-viewer.donmccurdy.com/, although two errors are given. I guess it has to do with the textures that are not loaded.

However, the issue is that our implementation with the three.js library, is based on using GLTF embedded. So we would be eager to find a solution for the glTF asset embedded.

Thank you in advance.

It’s probably best if you report this issue directly to Mozilla: Bugzilla Main Page

BTW: I’ve made another test with Safari and the (original) asset works as expected.

I would just caution that the “glTF Embedded” export option from Blender is really terrible for use on the web. The binary data in the files is +33% larger, and is much slower to parse. It may be that some browsers have hit a memory limit on the amount of data they’ll parse in a Data URI. Use either of the other glTF/GLB export options if you can, they’re much better.

2 Likes

Dear @Mugen87, we have proceeded to file a report in Bugzilla. Thank you for the Safari test as well.

I hope that the Firefox team can take the time to check the issue, although being a very specific topic involving three.js, I am afraid they will bounce me back here. Let’s wait for their response. Thank you in advance.

Dear @donmccurdy, thank you for the suggestion.

We are not right away swapping to the method you suggest, since the same case when not embedded still returns 2 errors. It seems it is not able to load three of the textures that are used in the model. We do not know if the 2 errors are strictly related to the textures or the textures are not loaded because two errors happen before their loading…

So before moving to using the “glTF not Embedded” option, we want to make sure that the memory is the real issue and not any other Firefox issue.