Closed Bug 1980392 Opened 11 months ago Closed 10 months ago

pro.easyeda.com - PCB editor does not show content

Categories

(Core :: Graphics: WebGPU, defect, P1)

Firefox 142
Desktop
Windows 10
defect

Tracking

()

VERIFIED FIXED
Webcompat Priority P2
Webcompat Score 6
Tracking Status
firefox-esr128 --- unaffected
firefox-esr140 --- unaffected
firefox142 + verified
firefox143 + verified
firefox144 + verified

People

(Reporter: rbucata, Assigned: jimb)

References

(Regression, )

Details

(4 keywords, Whiteboard: [webcompat-source:web-bugs][qa-ver-done-c144/b143])

User Story

platform:windows,mac,linux,android
impact:site-broken
configuration:general
affects:all
branch:release
diagnosis-team:graphics
user-impact-score:200

Attachments

(3 files)

Environment:
Operating system: Windows 10
Firefox version: Firefox 141.0

Steps to reproduce:

  1. Navigate to: https://pro.easyeda.com/editor#id=442877aa6a3e411ab876525fce76c008,tab=*204676c0a7f9497ea9a8f8323f8a1fba@442877aa6a3e411ab876525fce76c008
  2. Wait for the page to finish loading and click on any file from the left tab
  3. Observe

Expected Behavior:
Content is loaded

Actual Behavior:
Content fails to load

Notes:

  • Reproduces regardless of the status of ETP
  • Reproduces in firefox-nightly, and firefox-release
  • Does not reproduce in chrome

Created from https://github.com/webcompat/web-bugs/issues/169477

I see a bunch of shader issues in the console.

Severity: -- → S2
User Story: (updated)
Webcompat Priority: --- → P2
Webcompat Score: --- → 6
Priority: -- → P2

I suspect this is a regression from having webgpu enabled

If I disable webgpu it seems to work

Flags: needinfo?(ttanasoaia)

[Tracking Requested - why for this release]: This is a regression and makes the site unusable

Keywords: regression
Component: Site Reports → Graphics: WebGPU
Product: Web Compatibility → Core
Version: unspecified → Firefox 142
Regressed by: 1972486

Opening the web console on this page, I see the following shader compilation error emitted twice:

Shader '' parsing error: name `vec2` is a reserved keyword
  โ”Œโ”€ wgsl:1:2586
  โ”‚
1 โ”‚ struct O_a { O_b : mat4x4 < f32 > , O_c : mat4x4 < f32 > , O_d : mat4x4 < f32 > , O_e : vec3 < f32 > , O_f : f32 , O_g : vec3 < f32 > , O_h : f32 , O_i : f32 , O_j : f32 , O_k : f32 , O_l : f32 , } struct O_m { O_n : mat3x2 < f32 > , O_o : f32 , O_p : f32 , O_q : f32 , O_r : f32 , O_s : f32 , O_t : f32 , } struct O_u { O_n : mat4x4 < f32 > , O_v : vec4 < f32 > , O_w : vec4 < f32 > , O_x : vec3 < f32 > , O_y : vec3 < f32 > , O_z : vec3 < f32 > , O_aa : f32 , O_ab : f32 , O_i : f32 , O_ac : u32 , O_ad : u32 , O_ae : f32 , O_af : u32 , O_ag : f32 , O_ah : u32 , O_ai : vec4 < f32 > , O_aj : vec4 < f32 > , O_ak : f32 , O_al : f32 , O_am : f32 , O_an : f32 , } @ binding ( 0 ) @ group ( 0 ) var < uniform > O_ao : O_a ; @ binding ( 1 ) @ group ( 0 ) var < uniform > O_ap : O_u ; @ binding ( 4 ) @ group ( 0 ) var < storage , read > O_aq : array < vec4 < f32 > > ; @ binding ( 5 ) @ group ( 0 ) var O_ar : sampler โ€ฆ

This is bug 1961248 (AKA wgsl-shadowing).

Set release status flags based on info from the regressing bug 1972486

Assignee: nobody → jimb

We're going to block webgpu on that specific site, for uplift to beta and release. The underlying bug, wgpu#4406, is a big project, and will definitely need time to shake out.

Flags: needinfo?(ttanasoaia)
Priority: P2 → P1

Define a new pref, dom.webgpu.blocked-domains, which contains a list
of domain names for which navigator.gpu.requestAdapter should always
reject, as if WebGPU were blocklisted.

Use this to block WebGPU on easyeda.com and all subdomains, since
Firefox does not yet implement some aspects of WGSL that easyeda.com
depends on.

The following upstream bug tracks the work needed to re-enable WebGPU
for easyeda.com: https://github.com/gfx-rs/wgpu/issues/4406

Attachment #9508651 - Attachment description: WIP: Bug 1980392: Block WebGPU for easyeda.com, configurable by pref. → Bug 1980392: Block WebGPU for easyeda.com, configurable by pref. r=#webgpu-reviewers!,jrmuizel!

Adding leave-open, since D262053 just blocks WebGPU. This bug should be closed when EasyEDA works on WebGPU in Firefox.

Keywords: leave-open
Pushed by jblandy@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/d07e30dc1cc9 https://hg.mozilla.org/integration/autoland/rev/f1d1070a52a8 Block WebGPU for easyeda.com, configurable by pref. r=jrmuizel,webgpu-reviewers,ErichDonGubler
Pushed by amarc@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/12ae86bfdf38 https://hg.mozilla.org/integration/autoland/rev/3829dce2018b Revert "Bug 1980392: Block WebGPU for easyeda.com, configurable by pref. r=jrmuizel,webgpu-reviewers,ErichDonGubler" for causing webgpu assertions @ ServoUtils.h

Backed out for causing webgpu assertions @ ServoUtils

Flags: needinfo?(jimb)
Attachment #9508651 - Attachment description: Bug 1980392: Block WebGPU for easyeda.com, configurable by pref. r=#webgpu-reviewers!,jrmuizel! → Bug 1980392: Block WebGPU for easyeda.com, configurable by pref. r=#webgpu-reviewers!,aosmond!
Pushed by jblandy@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/c4af852abafc https://hg.mozilla.org/integration/autoland/rev/5493a40d24aa Block WebGPU for easyeda.com, configurable by pref. r=jrmuizel,webgpu-reviewers,ErichDonGubler,aosmond

If this version sticks, then it will need to be uplifted to beta. I believe Jeff felt it was important enough to merit a point release as well.

Flags: needinfo?(jimb)

Define a new pref, dom.webgpu.blocked-domains, which contains a list
of domain names for which navigator.gpu.requestAdapter should always
reject, as if WebGPU were blocklisted.

Use this to block WebGPU on easyeda.com and all subdomains, since
Firefox does not yet implement some aspects of WGSL that easyeda.com
depends on.

In the pref definition, note the upstream bugs that must be fixed in
order to remove each domain from in the default value.

Original Revision: https://phabricator.services.mozilla.com/D262053

Attachment #9509577 - Flags: approval-mozilla-beta?

firefox-beta Uplift Approval Request

  • User impact if declined: Site "easyeda.com" will not work on Windows
  • Code covered by automated testing: no
  • Fix verified in Nightly: yes
  • Needs manual QE test: yes
  • Steps to reproduce for manual QE testing: See descr. of Bug 1980392
  • Risk associated with taking this patch: Low
  • Explanation of risk level: Change puts this site on a blocklist because it is not supported by FF WebGPU, but can run without WebGPU
  • String changes made/needed: No
  • Is Android affected?: no
Flags: qe-verify+

Define a new pref, dom.webgpu.blocked-domains, which contains a list
of domain names for which navigator.gpu.requestAdapter should always
reject, as if WebGPU were blocklisted.

Use this to block WebGPU on easyeda.com and all subdomains, since
Firefox does not yet implement some aspects of WGSL that easyeda.com
depends on.

In the pref definition, note the upstream bugs that must be fixed in
order to remove each domain from in the default value.

Original Revision: https://phabricator.services.mozilla.com/D262053

Attachment #9509578 - Flags: approval-mozilla-release?
Attachment #9509578 - Attachment description: Bug 1980392: Block WebGPU for easyeda.com, configurable by pref. r=#webgpu-reviewers!,aosmond! → Bug 1980392: Block WebGPU for easyeda.com, configurable by pref. r=#webgpu-reviewers!

firefox-release Uplift Approval Request

  • User impact if declined: Site "easyeda.com" will not work on Windows
  • Code covered by automated testing: no
  • Fix verified in Nightly: yes
  • Needs manual QE test: yes
  • Steps to reproduce for manual QE testing: See descr. of Bug 1980392
  • Risk associated with taking this patch: Low
  • Explanation of risk level: Change puts this site on a blocklist because it is not supported by FF WebGPU, but can run without WebGPU
  • String changes made/needed: No
  • Is Android affected?: no
Flags: needinfo?(jimb)
Flags: needinfo?(jimb)
Attachment #9509577 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Attachment #9509578 - Flags: approval-mozilla-release? → approval-mozilla-release+
Whiteboard: [webcompat-source:web-bugs] → [webcompat-source:web-bugs][qa-ver-needed-c144/b143]
QA Contact: cgeorgiu

I've repro this issue on Win 11 with an affected Nightly build (2025-07-31) following the STR from comment 0.

The issue is verified as fixed on latest Nightly 144.0a1, Beta 143.0b5 (treeherder build) and 142.0.1 (treeherder build) with Win 11.

Flags: qe-verify+
Whiteboard: [webcompat-source:web-bugs][qa-ver-needed-c144/b143] → [webcompat-source:web-bugs][qa-ver-done-c144/b143]

Hi jimb! This seems to be fixed in 142.0.1 dot release (as per comment 22), but the flag for firefox142 is still marked affected. Was this perhaps something overlooked?

Flags: needinfo?(jimb)
Flags: needinfo?(jimb)

The bug is marked as leave-open and hence the automation didn't mark it as fixed. sorry about that!

No worries. Thanks!

Changing the flag to verified per my previous verification.

Since this is fixed in Nightly, Beta, and Firefox 142.0.1, I think we can close this.

Status: NEW → RESOLVED
Closed: 10 months ago
Resolution: --- → FIXED

(In reply to Pulsebot from comment #11)

Pushed by jblandy@mozilla.com:
https://github.com/mozilla-firefox/firefox/commit/d07e30dc1cc9
https://hg.mozilla.org/integration/autoland/rev/f1d1070a52a8
Block WebGPU for easyeda.com, configurable by pref.
r=jrmuizel,webgpu-reviewers,ErichDonGubler

Perfherder has detected a mozperftest performance change from push f1d1070a52a878e72cd53835f898e1d4d0cfcc6f.

If you have any questions, please reach out to a performance sheriff. Alternatively, you can find help on Slack by joining #perf-help, and on Matrix you can find help by joining #perftest.

Improvements:

Ratio Test Platform Options Absolute values (old vs new)
16% newssite-applink-startup org.mozilla.fenix:gpu-cpu-time android-hw-a55-14-0-aarch64-shippable 1,155.92 -> 975.29
12% baseline-profile:fenix startup.median fenix-android-all 536.29 -> 469.65

Details of the alert can be found in the alert summary, including links to graphs and comparisons for each of the affected tests.

If you need the profiling jobs you can trigger them yourself from treeherder job view or ask a performance sheriff to do that for you.

You can run all of these tests on try with ./mach try perf --alert 46512

The following documentation link provides more information about this command.

Keywords: perf-alert

Verified as FIXED using the RC Build

Tested with:

Browser / Version: Firefox 143.0-candidate build 1
Operating System: Windows 10 PRO x64

Status: RESOLVED → VERIFIED

Since Bug 1961248 is now resolved I removed the domains from the pref locally but it seems the website is still not using WebGPU. I still does in chromium based browsers. Looking at the site's JS I don't immediately see a Firefox WebGPU guard.

I'm not sure if or where there's a guard either, but after registering a dummy account and force-setting the renderer to WebGPU via settings (Settings in the top menu strip > PCB/Footprint > Rendering Engine option, set it to WebGPU) and refreshing, things still seem to work as before.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: