Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iOS Safari cesium main demo crashes #4279

Closed
drewpotter opened this issue Sep 3, 2016 · 17 comments
Closed

iOS Safari cesium main demo crashes #4279

drewpotter opened this issue Sep 3, 2016 · 17 comments

Comments

@drewpotter
Copy link

drewpotter commented Sep 3, 2016

Hello everyone,

Cesium rocks. I bought the book on virtual globes and now I'm going to use cesium in a web app I am making.

However I noticed that on the iPad Pro 9.7 inch the cesium main demo actually crashes out in Safari.

I haven't tried using chrome on my my iPad yet. However I just thought I'd inform you about this issue in case it can be fixed somehow. Perhaps I should rather file this bug on the Apple bug reports.

Thanks,

Andrew

@drewpotter drewpotter changed the title iOS Safari caesium main demo crashes iOS Safari cesium main demo crashes Sep 3, 2016
@hpinkos
Copy link
Contributor

hpinkos commented Sep 6, 2016

Thanks @drewpotter! What version of Safari is on your iPad?
Which demo was crashing, the one on the Cesiumjs.org home page?
Where there any error messages that popped up on screen?

Thanks!

@drewpotter
Copy link
Author

drewpotter commented Sep 7, 2016

Hi @hpinkos,

Sorry for taking so long to write back! My iPad is running Safari 9 on iOS 9.3.5.

The demo that crashes is when you click on the link "Tap to interact" the main demo in the middle of the page.

I get the message: A problem occurred with this web page, so it was reloaded. Safari does not elaborate on what the issue was.

@hpinkos hpinkos added the mobile label Sep 7, 2016
@hpinkos
Copy link
Contributor

hpinkos commented Sep 7, 2016

Thanks @drewpotter! We'll see if we can reproduce the problem

@pjcozzi
Copy link
Contributor

pjcozzi commented Sep 7, 2016

@drewpotter we have been testing other Cesium apps successfully with the 12.9 inch iPad Pro. @lilleyse can you take a quick look to see if the cesiumjs.org demo crashes it?

@drewpotter
Copy link
Author

Thanks @pjcozzi for that info. I can't imagine why it only affects the 9.7 inch iPad Pro.

Maybe something is different?

@shunter
Copy link
Contributor

shunter commented Sep 8, 2016

I tested a bit on my iPad Air 2 and I was able to get the homepage demo to crash the tab reliably after zooming and panning a bit. Unfortunately the error "A problem occurred with this web page, so it was reloaded." indicates an internal programming error inside Safari itself and not really anything we can debug from Cesium. We generally push WebGL to its limits, and very commonly we run into bad code in browsers, and historically, Apple hasn't seemed to put much effort into WebGL reliability. See previous issue #1805 from last year about mobile Safari.

@mramato
Copy link
Contributor

mramato commented Sep 8, 2016

I haven't tried using chrome on my my iPad yet. However I just thought I'd inform you about this issue in case it can be fixed somehow.

Just an FYI, all browsers on iOS (even Chrome) are actually really Safari in the background with a custom user interface on top of it. So if something is broken on Safari it will certainly almost always be broken in Chrome. Unfortunately Safari just isn't a very good browser when it comes to WebGL and complex JavaScript apps. That being said, we definitely want to make Safari work as well for Cesium as other browsers do, so thanks for bringing this to our attention.

I may be able to get a hold of a iPad Pro 9.7 to try this on and see if it crashes.

Just to rule out other potential issues, is this a standard US model running in english? It's possible (though unlikely) that there are slight differences depending on regional settings. Do you have any adblockers or enhanced browser security enabled?

@mramato
Copy link
Contributor

mramato commented Sep 8, 2016

@shunter I think that problem can also occur if we run out of video (or system) memory. It's possible that the large retina display causes issues because we don't honor the DPI settings (because Safari doesn't support 'image-rendering: pixelated;' We can confirm this by forcing Cesium to honor the DPI settings and see if it still crashes. I'm really hoping Safari 10 on iOS adds improved support for both image-rendering and WebGL/JavaScript in general.

@lilleyse
Copy link
Contributor

lilleyse commented Sep 8, 2016

I've been testing a custom demo (no globe) on the iPad Pro 12.9" that runs fine, at least if the GPU memory doesn't hit 1GB or more. I can also run the main demo page ok.

@drewpotter
Copy link
Author

Thanks everyone for the feedback. I have submitted the bug to Apple directly. They have requested the actual log files from the iPad which I have submitted to them.

@chriseyhorn
Copy link

@drewpotter Can you post the top part of the crash report? We are also currently experiencing the same issue and want to see if it is the same exception.

@drewpotter
Copy link
Author

Hi sorry for the late response. I have been overwhelmed with work.

@chriseyhorn I will post the top part of the crash report which I think is the correct one, I hope this is correct. Only the iPad only crashed on the cesium demo on the same day and there weren't any other crashes.

GitHub won't allow me to attach the file, so here is the pasted text; If you like I can email you the log file; exception is 0x8badf00d;

{"timestamp":"2016-09-04 01:31:40.40 +0100","bug_type":"288","os_version":"iPhone OS 9.3.5 (13G36)"}
{
"build" : "iPhone OS 9.3.5 (13G36)",
"product" : "iPad6,4",
"kernel" : "Darwin Kernel Version 15.6.0: Fri Aug 19 10:37:53 PDT 2016; root:xnu-3248.61.1~1/RELEASE_ARM64_S8001",
"tuning" : {

},
"incident" : "78A37D23-4900-4D2B-92A3-D73800ED3FBD",
"crashReporterKey" : "d4cde4fd6f29676b448be194dc1ba43d3ca6fe2f",
"date" : "2016-09-04 01:31:40.40 +0100",
"reason" : "com.apple.mobilesafari failed to scene-update after 10.00s\n\nElapsed total CPU time (seconds): 11.060 (user 11.060, system 0.000), 55% CPU \nElapsed application CPU time (seconds): 9.866, 49% CPU\n",
"frontmostPids" : [
2614,
58
],
"exception" : "0x8badf00d",
"absoluteTime" : 4022534464967,

@chriseyhorn
Copy link

It turns out our crash was related to adding a model to the map that has an image as a texture. Once the model gets added the browser crashes on iOS. If you add the same model without the image texture then no crash.

@drewpotter
Copy link
Author

@chriseyhorn thanks for those details. Hopefully Apple will fix this bug. I am waiting for them to get back to me on that bug report.

@bhoske
Copy link

bhoske commented Oct 15, 2016

Dear all, I am also face same issue with IOS 10. When I am trying to load WebGL link on Safari of iOS 10 iPad Air 2, it is crashing. I think canvas is getting resized when trying to load texture image.
Any one have any work around to do these.

@mramato
Copy link
Contributor

mramato commented Aug 8, 2018

I'm closing this since it's not clear to me that there is a bug or anything actionable still here. I play with Cesium on my iPad all of the time and haven't had any issues and we've definitely made improvements to how we do things. If there is still an issue here, please re-open with details.

@mramato mramato closed this as completed Aug 8, 2018
@QooGeek
Copy link

QooGeek commented Oct 10, 2019

image

Hello, I have the same problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants