Open Bug 1899780 Opened 4 months ago Updated 2 months ago

Pasting clipboard deletes / turns black all images

Categories

(Core :: Graphics: CanvasWebGL, defect, P3)

Firefox 126
x86_64
Linux
defect

Tracking

()

UNCONFIRMED

People

(Reporter: simondedman, Unassigned, NeedInfo)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: regression)

User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:126.0) Gecko/20100101 Firefox/126.0

Steps to reproduce:

Since 126.0.1 update (yesterday) pasting clipboard images into destinations (e.g. whatsapp web, java ms paint) results in a black image. Since this happens across websites, and doesn't happen in Google Chrome, and it only started after the 126.0.1 update, it prettymuch must be a firefox bug.

The Bugbug bot thinks this bug should belong to the 'Core::Widget: Gtk' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Widget: Gtk
Product: Firefox → Core

Can you please try to use Mozregression tool to find broken commit?
https://fedoraproject.org/wiki/How_to_debug_Firefox_problems#Use_Mozregression_tool
Thanks.

Blocks: gtkclipboard
Flags: needinfo?(simondedman)
Priority: -- → P3
pip install mozregression
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.
    
    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.
    
    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.
    
    See /usr/share/doc/python3.11/README.venv for more information.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.
simon@Poseidon:~$ sudo apt install python3-mozregression
[sudo] password for simon: 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package python3-mozregression

No joy there. But it definitely occurred after the latest snap update which was yesterday or Tuesday, to 126.0.1. Checking the release info, I can't immediately see any elements which would be a smoking gun, however.

Flags: needinfo?(simondedman)

Thanks for testing. There's another way how to install it without python - you can download the tarball directly.
See https://mozilla.github.io/mozregression/install.html
Thanks.

Martin, hello mate, sorry for the delay, trying this now, thanks for the guide. I can get the gui to run, but then I'm not sure how to run it with the correct options i.e. "--good 125 --bad 126". It'll open but just into the empty gui; command line responses are:

~/Installers/mozregression-gui$ ./mozregression-gui --good 125 --bad 126
qt.gui.icc: fromIccProfile: failed size sanity 2
qt.gui.icc: fromIccProfile: failed size sanity 2
qt.gui.icc: fromIccProfile: failed size sanity 2
/usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so: undefined symbol: g_task_set_static_name
Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so
OS: Unspecified → Linux
Hardware: Unspecified → x86_64

Bumping this, still an issue for me, caused by v126 so IDK how mozregression will find the specific issue other than say it's due to v126?

Bumping this, still an issue for me, caused by v126 so IDK how mozregression will find the specific issue other than say it's due to v126?

mozregression will download and run builds for (almost) all revision that landed during v126 so we can pinpoint a specific commit that caused the issue.

Sounds good but I can't get it to work. Does anyone know how to achieve the desired good/bad testing with the GUI? Or is the underlying executable buried somewhere in the _internal folder? Thanks

This is a regression caused by bug 1862039, which I can reproduce most of times that I suspend the system.
Setting webgl.gl_khr_no_error=true again fixes it (I reckon what's good for mesa might not match the nvidia driver experience).

(In reply to Simon Dedman from comment #8)

Sounds good but I can't get it to work. Does anyone know how to achieve the desired good/bad testing with the GUI? Or is the underlying executable buried somewhere in the _internal folder? Thanks

Can you flip webgl.gl_khr_no_error pref at about:config and try again?
Thanks.

Flags: needinfo?(simondedman)

Sorry Martin & Mirh, incredibly rude of me: I tried that and it worked.

Flags: needinfo?(simondedman)
Keywords: regression
Regressed by: 1862039

(In reply to Simon Dedman from comment #11)

Sorry Martin & Mirh, incredibly rude of me: I tried that and it worked.

Thanks for testing!

:nical, since you are the author of the regressor, bug 1862039, could you take a look? Also, could you set the severity field?

For more information, please visit BugBot documentation.

Flags: needinfo?(nical.bugzilla)

This should be treated as a bug in our canvas or webgl implementation or maybe an nvidia driver issue. Bug 1862039 made it so the GL context is configured to check for errors, and most likely it is running into one in this case. I couldn't reproduce with the hardware I have available (but I don't have an nvidia GPU to test on).

Component: Widget: Gtk → Graphics: CanvasWebGL
Flags: needinfo?(nical.bugzilla)

FWIW I'm running nvidia-driver-535 for Gp102 (GeForce GTX 1080 Ti)

The severity field is not set for this bug.
:jgilbert, could you have a look please?

For more information, please visit BugBot documentation.

Flags: needinfo?(jgilbert)
You need to log in before you can comment on or make changes to this bug.