top | item 3906981

Fl0wer.png.html

111 points| ent | 14 years ago |demoseen.com | reply

73 comments

order
[+] daeken|14 years ago|reply
Huh, didn't think this would be posted. This is a little demo effect I threw together last week when I was bored. It's built on top of WebGL (the effect itself is really just in a shader), and the reason it looks like a PNG is that it's a self-extracting PNG as described in my article here: http://daeken.com/superpacking-js-demos
[+] icebraining|14 years ago|reply
(Note: I'm not blaming anyone!)

Impressive: Firefox hold fine and rendered it, but after I opened it the second time, all the text in my system (that includes the browser, but also the terminals, Awesome, etc) was FUBAR - even after restarting the X server!

I have no idea what kind of bug leads to only the text being corrupted (so, it doesn't seem a bug in the graphic drivers, since AFAIK they're agnostic to that) but survives restarting the display manager.

[+] cydonian_monk|14 years ago|reply
I've had similar experiences with graphical corruption in X, and Firefox was almost always involved. Same radeon driver as you. And it seems to be distro-agnostic: I've seen it with Arch, Gentoo and Mint. All I know is that it's a recent thing: if I run an older version of my Gentoo build, it doesn't happen. But otherwise I see the same results.

I have no idea what to point to, because it's really weird. Scrambles /everything/ that goes through video. (And until now, I figured it was a quirk of my bizarre hardware. Guess not.)

[+] cookingrobot|14 years ago|reply
I tried zooming in and out in Chrome on Windows 7, and it crashed my NVIDIA kernel mode driver.
[+] gcr|14 years ago|reply
Hm. Interesting. Using binary graphics drivers (nvidia et al)? Maybe something corrupted memory. Did it survive even a restart?
[+] sohn|14 years ago|reply
In Arch / Chromium / Intel card, and after starting Chromium disabling the webgl graphic cards blacklist, it just shuts my monitor down and I have to reboot.
[+] zokier|14 years ago|reply
I think the comments hilight very nicely why some people are not all that thrilled about having OpenGL in their browsers in the form of WebGL. Graphics drivers seem to be extremely difficult to "get right", especially if any degree of performance is wanted.
[+] willvarfar|14 years ago|reply
My considered opinion (from the industry) is that its really shocking how under-invested-in the drivers are.

If a fraction of the effort that went into making the card went into making the drivers and maintaining and fixing them, we'd all be massively better off.

[+] mike-cardwell|14 years ago|reply
FYI, NoScript has a "Forbid WebGL" option which lets you selectively allow it in the same way it does with Flash, Java and SilverLight.
[+] Cushman|14 years ago|reply
I think we need to start using a [WebGL] tag or something for these... obviously some browsers don't take it well, and it would keep a lid on all the (kinda pointless) "Doesn't work"/"works for me" comments.

Works for me. Super cool.

[+] sigmaxipi|14 years ago|reply
In some cases, it's even worse. Low end netbooks running Chrome will load the page and then the entire machine locks up as the WebGL starts rendering and takes over the weak GPU. Easy way of DOSing someone is to send them a WebGL link if they're on a weak computer.
[+] zbowling|14 years ago|reply
It worked the first time in chrome. Crashed it the second time. Very clever.

The blackhat-spidy-sense in me is getting a tingle. XSS injection if a PNG could used to execute javascript possibly.

[+] daeken|14 years ago|reply
This can't be used for XSS or the like, really. The way it works is that the PNG is first interpreted as HTML by the browser (hence the filename) and then it loads itself into an image tag, causing it to be interpreted as a PNG. Once it's loaded into the image tag, the image is drawn to a canvas so that the code -- embedded in the PNG -- can be extracted and executed.

While fun, the only real security concern here is that it's really good at pissing off IDSes.

Edit: I linked my article describing the technique in another comment here if you want to see how horrible it really is. I'm always both proud of and disgusted by myself for this technique.

[+] PStamatiou|14 years ago|reply
This crashed my mac entirely. avoid.
[+] njharman|14 years ago|reply
If viewing a web page crashes your OS, seriously, you need to take that crap back and get a refund.
[+] packetslave|14 years ago|reply
This didn't crash my mac entirely. don't avoid.
[+] burke|14 years ago|reply
Same here. Had to reboot.
[+] cjfont|14 years ago|reply
What browser are you using? Worked fine for me on Chrome.
[+] dguaraglia|14 years ago|reply
It worked OK using latest stable Chrome on OS X 10.6.8
[+] RKearney|14 years ago|reply
OS X 10.7.3 Safari 5.1.5 here and had no problems.

Granted it didn't work... No hangs or crashes though.

[+] mike-cardwell|14 years ago|reply
Worked great here using Ubuntu 12.04/Firefox 12 on my Thinkpad T420 with integrated Intel graphics only.
[+] jes5199|14 years ago|reply
Works on Chrome/MacLion

... but I'm not sure what it's doing

[+] machrider|14 years ago|reply
Not seeing anything (totally white browser) in both Firefox 12 and Chromium 18 on Ubuntu.
[+] TazeTSchnitzel|14 years ago|reply
>Ubuntu

There's your problem. Are you using an ATI card, by the way?

Make sure you have restricted drivers installed. If you're using an ATI card you'll have to do the further step of going to about:flags in Chrome and making it ignore the software rendering blacklist.

[+] DiabloD3|14 years ago|reply
All I see is the text "‰PNG  IHDR[$‘þVœjawh". MIME type screw up server side?
[+] Jach|14 years ago|reply
NoScript is the new subject for "I run Linux, I don't have to worry about..." But after I enabled scripting it worked fine, very neat-looking demo. Also I admit that I enjoy reading about the problems of others here...
[+] unicornporn|14 years ago|reply
Crashed Firefox 12 on OS X. Crashed latest Opera Mobile on Android ICS.
[+] pooriaazimi|14 years ago|reply
Shame. It's not working on Safari 5.2 beta (Lion 10.7.3); nor does it work in Opera, or any of iOS browsers. But is fine on both Chrome and Firefox...

I'm sure Safari supported WebGL...

[+] eridius|14 years ago|reply
There's an option in the Develop menu to enable WebGL, but even with that on this doesn't work.
[+] ent|14 years ago|reply
The file seems to be a png with some html tags in it that trick the browser. Seems to work on firefox and conkeror but not on my chromium.
[+] swhitt|14 years ago|reply
Ah! My browser! I lost my thesis :(
[+] icebraining|14 years ago|reply
What kind of crappy online editor are you using that doesn't save continuously?
[+] martindale|14 years ago|reply
Doesn't work on Chromium/Ubuntu.

18.0.1025.151 (Developer Build 130497 Linux) Ubuntu 12.04

[+] hristov|14 years ago|reply
Works for me. And I have exactly the same version as you. (But I am running Xubuntu if that matters).

18.0.1025.151 (Developer Build 130497 Linux) Ubuntu 12.04

[+] agravier|14 years ago|reply
For this kind of bug you should specify your graphics module, GLX setup, etc...
[+] pan69|14 years ago|reply
Works for me on Chrome 18.0.1025.162/Ubuntu 11.04

Note: Chrome, not Chromium.

[+] sohn|14 years ago|reply
Same here.
[+] simplyinfinity|14 years ago|reply
Had no effect in Opera 12 alpha with HW acceleration and webgl turned on, just black screen
[+] saturn7|14 years ago|reply
Works, Amazing, I think you accidently just created a way to hypnotize people in a second.
[+] gphilip|14 years ago|reply
Shouldn't there be some kind of seizure warning to go with the link?