Comments (7)
Unfortunate for debugging, but fortunate for me the Ipad had updated to IOS 16.7.5 which has resolved the issue.
I'm guessing it was most likely the older browser not supporting some of the opcodes used in the wasm file
I will close this for now as i am no longer able to reproduce the issue
from zbar-wasm.
Thanks for the investigation @undecaf
I checked the logs and found other Safari 16.6 visitors without that issue (only one visitor with the issue), so we can keep this closed.
from zbar-wasm.
Which iOS version and Safari version have you been using for the example?
from zbar-wasm.
@undecaf We still get production logs about this issue, from browsers as recent as Safari 16.6 on iPhone 16.7.2 (released in July 2023).
I found pointers here for making the webassembly module compatible with a wider set of browsers: emscripten-core/emscripten#19121
from zbar-wasm.
@erickedji According to this table, Safari should support WASM sign-extension since 14.5 on iOS. I just verified the example to work also under Safari 16.2 which also is older than the version you mentioned.
Therefore it seems unlikely that sign-extension operations are the cause for your production logs. Since I do not wish to disable all new WASM features only to be on the safe side, could you please be more specific on what exactly is being logged?
from zbar-wasm.
Indeed, that was my mistake. The highest version this "opcode 192" error was detected on is 14.0, which is consistent with the compatibility data.
The error on 16.7.2 is slightly different.
The full user agent is:
Mozilla/5.0 (iPhone; CPU iPhone OS 16_7_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1
The error message is:
Aborted(CompileError: WebAssembly.Module doesn't parse at byte 100282: Data section of size 138735 would overflow Module's size). Build with -sASSERTIONS for more info.
This was caught with a global unhandledrejection
listener on window
.
Should I create another issue?
from zbar-wasm.
@erickedji I think that the error message does not indicate that there is anything wrong with the WASM file: zbar.wasm
v0.9.16 does contain a data section that starts at offset 100282 (0x0187BA
), and it is indeed 138735 (0x021DEF
) bytes long, and it extends up to the the last byte of the WASM file at offset 239016 (0x03A5A8
), as can be seen in the WebAssembly Code Explorer (EF BB 08
is 138735 in unsigned LEB128 encoding):
The WASM validation utility (wasm-validate
) reports the file to be valid, too, using only sign-extension
as an advanced feature:
wasm-validate --disable-mutable-globals --disable-simd --disable-bulk-memory --disable-saturating-float-to-int --disable-multi-value --disable-reference-types zbar.wasm
Therefore I think that your error message could be the result of too little memory for Safari, or maybe even a bug in Safari 16.6
from zbar-wasm.
Related Issues (19)
- big images cannot be scanned succesfully, in the first attempt. HOT 7
- webpack error migrating from 0.9.15 -> 0.9.16 HOT 5
- How to bundle zbar.wasm in a module project? HOT 6
- The barcode type DataMatrix is not supported HOT 1
- Please Help : Why i show this error when i tray import the package in Angular 16 HOT 1
- Build fails when using in Next.js App directory router. HOT 2
- [BUG] On IOS Safari Iphone 12 - after background/sleep mode reactivation changes camera to fisheye HOT 8
- Feature Suggestion: Allow Passing the Zbar Instance HOT 4
- __dirname is not defined with nextjs HOT 1
- [BUG] Not able to scan the barcode of this image using this library, however able to scan it with the phone app HOT 4
- Prepare for a NPM release of this package please HOT 1
- [BUG] Combined scan symbol type not recognized HOT 1
- Paused when failed to detect unsupported code type. HOT 2
- zbar-wasm doesn't work with nodejs 18
- TypeError: Failed to construct 'URL': Invalid URL HOT 5
- Issue with utf-8 HOT 13
- after 15 june this package giving an error HOT 2
- loading zbar-wasm as ES module fails in Node HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from zbar-wasm.