GNOME Bugzilla – Bug 762038
Crash when attempting to drag and drop DOM element in chrome (or chromium) dev tools window
Last modified: 2017-02-22 14:43:28 UTC
Created attachment 321132 [details] journal output after the crash See the attached stacktrace. The actual problems in the stacktrace start happening at "Feb 14 17:53:58" (line 832). At "Feb 14 17:54:17" (line 871) you can see gnome-shell dumping core. I believe this is the important part: Stack trace of thread 2283: #0 0x00007f7d9696d6db _g_log_abort (libglib-2.0.so.0) #1 0x00007f7d9406def9 _cogl_set_error (libcogl.so.20) #2 0x00007f7d9402090f allocate_from_gl_foreign (libcogl.so.20) #3 0x00007f7d940562e6 cogl_texture_allocate (libcogl.so.20) #4 0x00007f7d94057d13 cogl_texture_2d_new_from_data (libcogl.so.20) #5 0x00007f7d983009b9 build_and_scan_frame_mask (libmutter.so.0) #6 0x00007f7d983012a8 meta_window_actor_pre_paint (libmutter.so.0) #7 0x00007f7d982f2c88 meta_pre_paint_func (libmutter.so.0) #8 0x00007f7d976aa574 _clutter_run_repaint_functions (libclutter-1.0.so.0) #9 0x00007f7d976ab317 master_clock_update_stages (libclutter-1.0.so.0) #10 0x00007f7d96966e27 g_main_dispatch (libglib-2.0.so.0) #11 0x00007f7d96967080 g_main_context_iterate (libglib-2.0.so.0) #12 0x00007f7d969673a2 g_main_loop_run (libglib-2.0.so.0) #13 0x00007f7d983119fc meta_run (libmutter.so.0) #14 0x00000000004021a7 main (gnome-shell) #15 0x00007f7d9637c610 __libc_start_main (libc.so.6) #16 0x00000000004022d9 _start (gnome-shell) To reproduce: 1. Use chromium to open a webpage 2. Hit F12 to open DevTools 3. Navigate the DOM tree ("Elements" tab) and select a DOM element. See: http://imgur.com/Eb37r5H 4. Try to drag the DOM element, gnome-shell will crash I am using: gnome-shell 3.18.3 mutter 3.18.2 clutter 1.24.2 glib2 2.46.2 cogl 1.22.0
Which chromium version btw? I can't reproduce that assertion error here but I see that chrome attaches a really wide rectangle (at least wider than my monitor) to the cursor while dragging one of those elements. Your log says: Feb 14 17:54:16 wil93-arch gnome-session[2204]: (gnome-shell:2283): Cogl-ERROR **: Failed to create texture 2d due to size/format constraints which seems to imply we're trying to create a bigger texture than the hardware can handle. But in that case I thought cogl would slice the texture automatically for us. And in fact, on my system I see this warning: Cogl-WARNING **: Skipping layers 1..n of your pipeline since the first layer is sliced. We don't currently support any multi-texturing with sliced textures but assume layer 0 is the most important to keep when I start the drag.
I use chromium 48.0.2564.103 and, now that I think about it, I think it's probably important to note that I keep a default zoom level of 110% (settings -> search "zoom"). But, actually, it happens also with chrome 50.0.2645.4 dev, where I didn't change the zoom setting. So I really don't know why it happens. My screen resolution is 1920x1080, if that matters. I also just switched to a 1280x1024 monitor to test this out and the issue is still there.
I can confirm this bug exists on my system as well, doing the same thing OP is doing. I don't know how to provide any kind of core dump on my system, but I get this message: Feb 22 18:16:09 PIKNIK-SRV gnome-session[18920]: (gnome-shell:18966): Cogl-ERROR **: Failed to create texture 2d due to size/format constraints I have the following packages, running on arch linux: gnome-shell - 3.18.3 chromium - 48.0.2564.116 xf86-video-intel - 1:2.99.917+552+ge41040f Running two monitors at 1920x1080, with a Intel HD 4600 GPU Every setting is essentially default pertaining to GNOME, no zoom settings like OP
In case you want a backtrace, here's the Fedora ABRT page for this crash: https://retrace.fedoraproject.org/faf/reports/893359/
Same issue for me. Browser: Version 49.0.2623.87 (64-bit) System: Ubuntu GNOME 16.04 (Xenial Xerus) Beta 1 Gnome Shell: GNOME Shell 3.18.4 (shipped with the above system) Syslog: Mar 17 23:09:01 x1 gnome-session[2015]: (gnome-shell:10022): Gjs-WARNING **: JS ERROR: Error: Failed to convert UTF-8 string to JS string: Invalid byte sequence in conversion input Mar 17 23:09:01 x1 gnome-session[2015]: (gnome-shell:10022): Gjs-WARNING **: JS ERROR: TypeError: this._switcherList is null Mar 17 23:09:02 x1 gnome-session[2015]: (gnome-shell:10022): Gjs-WARNING **: JS ERROR: Error: Failed to convert UTF-8 string to JS string: Invalid byte sequence in conversion input Mar 17 23:09:02 x1 gnome-session[2015]: (gnome-shell:10022): Gjs-WARNING **: JS ERROR: TypeError: this._switcherList is null Mar 17 23:09:12 x1 gnome-session[2015]: (gnome-shell:10022): Cogl-ERROR **: Failed to create texture 2d due to size/format constraints Mar 17 23:09:13 x1 gnome-session[2015]: (gnome-shell:10223): Gjs-WARNING **: JS ERROR: Failed to spawn 'aggregate-avatars': GLib.SpawnError: Failed to execute child process "aggregate-avatars" (No such file or directory)
(In reply to Rui Matos from comment #1) > But in that case I thought cogl would slice the texture > automatically for us. The trace shows #4 0x00007f7d94057d13 cogl_texture_2d_new_from_data (libcogl.so.20) That function won't automatically slice. cogl_texture_new_from_data will slice if you have the right flags, but the cogl_texture_2d api for slicing is cogl_texture_2d_sliced_new_from_data
looks like it used to use cogl_texture_new_from_data: https://git.gnome.org/browse/mutter/commit/?id=d72bf0cd5d8987ff6505d719630625687a1752c9 so we might be able to just s/texture_2d/&_sliced/ or maybe switch to meta_create_texture() ?
oh actually it used to explicitly pass COGL_TEXTURE_NO_SLICING
Even still, we shouldn't see a crash -- cogl_texture_2d_new_from_data should fail with an error, and we should fall back to having no mask texture.
not if you pass a NULL error, set _cogl_set_error
(In reply to Jasper St. Pierre from comment #9) > Even still, we shouldn't see a crash -- cogl_texture_2d_new_from_data should > fail with an error, and we should fall back to having no mask texture. that's what I see here, I can't reproduce the crash myself
apparently to cogl, NULL error means "treat error as fatal" instead of "treat error as ignorable"
Oh... right... I forgot about that silly bit of API. Well, that's easily fixable.
*** Bug 764331 has been marked as a duplicate of this bug. ***
Same issue here. My config is Ubuntu 15.10 GNOME Shell 3.16.4 Chrome 49.0.2623.75 (64-bit) using dual monitors.
I think this got fixed by bug 765058 . please reopen if i'm wrong. *** This bug has been marked as a duplicate of bug 765058 ***
Ubuntu 16.04 LTS 64-bit GNOME Shell 3.18.4 (included patch from Bug 765058) Issue still persists. Please reopen the issue.
FWIW since I opened the report I have updated my archlinux installation and I now have gnome 3.20 so I guess I have the patch now. The issue is solved for me, I cannot reproduce the bug anymore.
Could that be something else from 3.20? Would be worth it to get the fix into 3.18.
(In reply to Daniel Buslowicz from comment #17) > Ubuntu 16.04 LTS 64-bit > GNOME Shell 3.18.4 (included patch from Bug 765058) Are you sure you picked the right patches? If you indeed patched gnome-shell, then the patches are from bug 765061 instead, the patches from bug 765058 are for mutter. In any case 3.18 is no longer supported upstream, so I won't spend time on it. (In reply to William Di Luigi from comment #18) > FWIW since I opened the report I have updated my archlinux installation and > I now have gnome 3.20 so I guess I have the patch now. Only if they included those patches downstream, as they only landed upstream after 3.20.1.
I did not patch that manually, I just upgraded the packages in the system and now Gnome Shell shows version 3.18.4, which was the bump after fixes: Bump version to 3.18.4 Shut up some compiler warnings Do not skip CoglError parameters Do not try to unref NULL CoglObjects Should that not apply the fix? I did restart shell, even restarted the machine.
(In reply to Daniel Buslowicz from comment #21) > I did not patch that manually, I just upgraded the packages in the system > and now Gnome Shell shows version 3.18.4, which was the bump after fixes It's mutter, not Gnome Shell, but yes, that version should fix it on 3.18. If it doesn't, I'm afraid someone else will have to look into it, as we no longer support 3.18.x upstream.
Well, I guess it will be faster to just wait till 3.20 is officially out there for Ubuntu 16.04 and then upgrade it. Anyway, thanks for great work you guys are doing!
@Florian: yes I actually had 3.20.1 now that I looked into it Thank you
so this will not be fixed on 3.10.4? Because it seems the bug is also triggered by MVP sometimes and it also seems that gnome-shell is not always restarting as intended sometimes a segfault occurs right away but I often have to switch to a VT and kill gnome-shell to trigger the restart
(In reply to winrootkit from comment #25) > so this will not be fixed on 3.10.4? A released version never changes, so no. You probably are asking whether there will be a 3.10.5 release with those changes, but I'm afraid the answer is 'no' as well - those patches are in the stable (3.20.2) and "old stable" (3.18.4) releases, for everything older you'll have to ask your distributor.
Ubuntu 16.04 GNOME Shell 3.18.5 Chrome 52 (64-bit) Dual monitors Issue still persists.
Ubuntu 16.04 GNOME Shell 3.18.5 Chrome 54.0.2840.100 (64-bit) Dual monitors Issue still persists.
Ubuntu 16.04 GNOME Shell 3.18.2 Chrome 55.0.2883.87 (64-bit) Dual monitors Issue still persists.
Bug 765058 is fixed in mutter version 3.18.4. Your browser or monitors or gnome-shell version is less relevant. :)