Skip to content

Wayland segfault when calling screen.getCursorScreenPoint() #50079

@mitchchn

Description

@mitchchn

Preflight Checklist

Electron Version

40.7.0

What operating system(s) are you using?

Ubuntu

Operating System Version

Ubuntu 25.10

What arch are you using?

x64

Last Known Working Electron version

No response

Does the issue also appear in Chromium / Google Chrome?

No

Expected Behavior

Calling screen.getCursorScreenPoint() should not crash the app. If it is not supported on Wayland, it should just return {0,0}.

Actual Behavior

Minimal repro:

const { app, screen } = require("electron");
app.whenReady().then(() => {
  screen.getCursorScreenPoint();
});

Crashes:

Electron v40.7.0 started.
(node:2740421) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities.
(Use `electron --trace-deprecation ...` to show where the warning was created)
[2740421:0304/165737.186853:WARNING:ui/ozone/platform/wayland/common/wayland_object.cc:119] Binding to wl_shm version 1 but version 2 is available.
[2740421:0304/165737.186885:WARNING:ui/ozone/platform/wayland/common/wayland_object.cc:119] Binding to zwp_pointer_gestures_v1 version 1 but version 3 is available.
[2740421:0304/165737.186897:WARNING:ui/ozone/platform/wayland/common/wayland_object.cc:119] Binding to wp_cursor_shape_manager_v1 version 1 but version 2 is available.
[2740421:0304/165737.186907:WARNING:ui/ozone/platform/wayland/common/wayland_object.cc:119] Binding to org_kde_kwin_appmenu_manager version 1 but version 2 is available.
[2740421:0304/165737.186933:WARNING:ui/ozone/platform/wayland/common/wayland_object.cc:119] Binding to zwp_linux_dmabuf_v1 version 4 but version 5 is available.
Received signal 11 SEGV_MAPERR 0000000001a8
#0 0x56410198aeca (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x6ebcec9)
#1 0x56410199b995 (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x6ecd994)
#2 0x7f65fac3e2d0 (/usr/lib/libc.so.6+0x3e2cf)
#3 0x5640fe4dc2ed (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x3a0e2ec)
#4 0x5640fd5c59e2
(/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x2af79e1)
#5 0x5640fd5c596d (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x2af796c)
#6 0x5640fd5c582e (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x2af782d)
#7 0x5640fd14f4f4 (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x26814f3)
#8 0x5640fd14d76a (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x267f769)
#9 0x5640fd27a42a (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x27ac429)
#10 0x5640fd17dac8 (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x26afac7)
#11 0x5640fd14a46b (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x267c46a)
#12 0x5640feebb6d6 (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x43ed6d5)
#13 0x5640feebc65a (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x43ee659)
#14 0x5640feebc7bb (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x43ee7ba)
#15 0x5640feeed68a (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x441f689)
#16 0x5640fd7a7258 (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x2cd9257)
#17 0x5640fd7a70de (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x2cd90dd)
#18 0x5640fd7a6cd1 (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x2cd8cd0)
#19 0x5640fd7073ee (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x2c393ed)
#20 0x5640fd5771b0 (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x2aa91af)
#21 0x5640fd56aaf9 (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x2a9caf8)
#22 0x5640fd56aa48 (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x2a9ca47)
#23 0x5640fd63abc8 (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x2b6cbc7)
#24 0x5640fd653126 (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x2b85125)
#25 0x5641002267d8 (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x57587d7)
#26 0x5641008c7695 (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x5df9694)
#27 0x564100226413 (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x5758412)
#28 0x564100228e57 (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x575ae56)
#29 0x564100224ae3 (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x5756ae2)
#30 0x5640fdc60e91 (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x3192e90)
#31 0x5640fdc624f7 (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x31944f6)
#32 0x5640fdc622b3 (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x31942b2)
#33 0x5640fdc5fe6c (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x3191e6b)
#34
0x5640fdc5ff49 (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x3191f48)
#35 0x5640fd560e92 (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x2a92e91)
#36 0x7f65fac276c1 (/usr/lib/libc.so.6+0x276c0)
#37 0x7f65fac277f9 (/usr/lib/libc.so.6+0x277f8)
#38 0x5640fd11702a (/home/mitch/.config/Electron Fiddle/electron-bin/current/electron+0x2649029)
  r8: 00001844004ac268  r9: 0000000000000001 r10: ff00ffffffffffff r11: 000000000000002c
 r12: 0000564106bc6000 r13: 0000000000000000 r14: 0000000000000000 r15: 0000184400909e30
  di: 0000000000000000  si: 00001844004ac000  bp: 00007ffddf3a0380  bx: 0000184400bcd950
  dx: 0000000000000000  ax: 0000000000000000  cx: 0000000000000001  sp: 00007ffddf3a0380
  ip: 00005640fe4eac74 efl: 0000000000010202 cgf: 002b000000000033 erf: 0000000000000004
 trp: 000000000000000e msk: 0000000000000000 cr2: 00000000000001a8
[end of stack trace]

Testcase Gist URL

https://gist.github.com/f5a20a24336480737d59ce99467ccf78

Additional Information

Discovered from gist in #50017.

Metadata

Metadata

Assignees

Type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions