Severe rendering issue on Google maps

VERIFIED FIXED in Firefox 62

Status

()

defect
VERIFIED FIXED
a year ago
10 months ago

People

(Reporter: sylvestre, Assigned: jgilbert)

Tracking

({regression})

Trunk
mozilla62
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox-esr52 unaffected, firefox-esr60 unaffected, firefox60 unaffected, firefox61 unaffected, firefox62 verified)

Details

Attachments

(4 attachments, 1 obsolete attachment)

Reporter

Comment 1

a year ago
As an str, open the url, zoom and unzoom and it will become ugly

Comment 2

a year ago
this got introduced by bug 1459785
Blocks: angle-62
Flags: needinfo?(jgilbert)
Keywords: regression
Reporter

Comment 3

a year ago
Sebastian, could you please backout bug 1459785 and respin the nightly?
Thanks
Flags: needinfo?(aryx.bugmail)
Pinging jgilbert -- this appears to be fallout from the ANGLE update.
Assignee

Updated

a year ago
Assignee: nobody → jgilbert
Flags: needinfo?(jgilbert)
Assignee

Comment 5

a year ago
Well our conformance tests didn't see any issue: Our test pass rate only increased with this update. Hmm...
Bug 1459785 got backed out and new nightlies built and shipped.
Flags: needinfo?(aryx.bugmail)
Assignee

Comment 7

a year ago
I can't seem to reproduce. Please include about:support.
Flags: needinfo?(sledru)
Reporter

Comment 8

a year ago
Posted file support.txt
Here it is!
Flags: needinfo?(sledru)
Assignee

Comment 9

a year ago
Oh, woah! You're on linux.
Reporter

Comment 10

a year ago
Philipp was able to reproduce it also on Windows.

Comment 11

a year ago
my graphics section of about:support from windows: https://pastebin.mozilla.org/9086255
Assignee

Comment 12

a year ago
Ok, so that's 2/2 on Intel 520. I can't reproduce this on Intel 530 in a debug build, at least.

Can either of you repro with a DEBUG build?

I really don't have a lot to go on here. Maybe attribute locations are messed up?
Flags: needinfo?(sledru)
Flags: needinfo?(madperson)

Comment 13

a year ago
yes, still reproduces in a debug build...
Flags: needinfo?(madperson)
Assignee

Comment 14

a year ago
Ok, guess I get to hunt down that hardware!
Reporter

Updated

a year ago
Flags: needinfo?(sledru)
Assignee

Comment 15

a year ago
Our new lead for this is misuse of locale in float->string building. The ANGLE team had this bug reported against them recently, and both affected about:supports are non-en_us. (German and French)
Assignee

Comment 16

a year ago
Yep, switching Windows's system language to German and restarting begins to repro. Ganz toll!
Assignee

Comment 18

a year ago
Posted file shader_miscomp_de_2.diff (obsolete) —
Assignee

Comment 19

a year ago
Fixed.
Attachment #8981693 - Attachment is obsolete: true
Assignee

Comment 20

a year ago
The simplest version is in the first diff:

> - return ((webgl_233d7f8e03e9ffc2 + 0.5) * webgl_fa6ee8ecaada3b41.zw);
> + return ((webgl_233d7f8e03e9ffc2 + 0.0) * webgl_fa6ee8ecaada3b41.zw);

Very suspiciously in the second diff:

> - (webgl_844c9770d2670379 *= 0.024543693);
> + (webgl_844c9770d2670379 *= 0.0234375);

0.024543693 is 2*pi/256
0.0234375 is 2*3.0/256

ANGLE looks to be tokenizing floats fine, but the str->float conversion is using locale, which is truncating after the decimal point when it expects a decimal comma.
Assignee

Comment 21

a year ago
Ok so:
>   uniform vec4 s,t,u,v;
>   varying vec4 w,A,B;
>   [...]
>   if(v.w>0.&&A.y<.5)
becomes:
>   uniform highp vec4 webgl_cc4b575f1e53d03d;
>   varying highp vec4 webgl_3fc1ed38096a1398;
>   [...]
> - if (((webgl_cc4b575f1e53d03d.w > 0.0) && (webgl_3fc1ed38096a1398.y < 0.5)))
> + if (((webgl_cc4b575f1e53d03d.w > 0.0) && (webgl_3fc1ed38096a1398.y < 0.0)))
Assignee

Comment 22

a year ago
> ==== begin MOZ_WEBGL_DUMP_SHADERS ====
> attribute vec3 aPosition;
> 
> void main(void) {
>   gl_PointSize = 50.0;
>   gl_Position = vec4(aPosition*1.9*1.9, 1.0);
> }
> 
> ==== \/ \/ \/ ====
> attribute highp vec3 webgl_29688de933f0bd7a;
> void main(){
> (gl_Position = vec4(0.0, 0.0, 0.0, 0.0));
> (gl_PointSize = 0.0);
> (gl_PointSize = 50.0);
> (gl_Position = vec4(((webgl_29688de933f0bd7a * 1.0) * 1.0), 1.0));
> }
> 
> ==== end ====

Oops!
Assignee

Comment 23

a year ago
> xul.dll!pp::numeric_lex_float<float>(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & str, float * value) Line 54
>	at c:\dev\mozilla\gecko-cinn\gfx\angle\checkout\src\compiler\preprocessor\numeric_lex.h(54)
> str
> "1.9"
> *value
> 1.00000000

Here it is.
Assignee

Comment 24

a year ago
https://github.com/google/angle/commit/98d0a2b1313d59050f76861cbef8bee4d70896ad

The old code even properly set the locale for the string stream.
hey Jeff, do you want to keep this open for investigation, or close since it was fixed by backout in comment #6? thanks
Flags: needinfo?(jgilbert)
Assignee

Comment 26

a year ago
The bug still exists, so this bug should stay open.
Flags: needinfo?(jgilbert)
Assignee

Comment 28

a year ago
Spinning builds here:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=ef7fde42fd29678f8155454fa41ec03f623780d8

I'll get a link to a build to verify on, before I reland.

Comment 30

a year ago
i can confirm that the issue is not present in the windows try build (it's in english though, so i'm not sure if it would have exhibited the behaviour otherwise).
Flags: needinfo?(sledru)
Flags: needinfo?(madperson)
Assignee

Comment 31

a year ago
My local build demonstrated the issue when I put Windows into German, so we should be good here!
Status: ASSIGNED → RESOLVED
Last Resolved: a year ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
Flags: qe-verify+
I have managed to reproduce this issue using Firefox 62.0a1 buildID: 20180523221148 on windows 10 x64 and on Ubuntu 16.04 x64, having the operating system language switched to French.

The issue is verified as fixed using Firefox 62.0b7 buildID: 20180709172241 and Firefox 63.0a1 buildID: 20180710222524  on Windows 10 x64 and Ubuntu 16.04 LTS.
Status: RESOLVED → VERIFIED
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.