-
-
Notifications
You must be signed in to change notification settings - Fork 19
Description
Note: There is a bug bounty on this. View at https://gitpay.me/#/task/1277/monitor-configuration-fails-with-more-than-two-monitors-in-many-different-configurations
What Happened?
When trying to change layouts of my monitors, the app is not allowing many valid configurations. It resets the layout when it deems them invalid.
Example of a case that fails: If I move my samsung monitor down to where the top of the leftmost monitor is y-wise, it willl reset.
Moving it around even more may get a segfault as well.
process 95609 (io.elementary.s) of user 1000 dumped core.
Module libarchive.so.13 from deb libarchive-3.7.2-2ubuntu0.5.amd64
Module libudev.so.1 from deb systemd-255.4-1ubuntu8.10.amd64
Module libgcc_s.so.1 from deb gcc-14-14.2.0-4ubuntu2~24.04.amd64
Module libstdc++.so.6 from deb gcc-14-14.2.0-4ubuntu2~24.04.amd64
Module libzstd.so.1 from deb libzstd-1.5.5+dfsg2-2build1.1.amd64
Module libsystemd.so.0 from deb systemd-255.4-1ubuntu8.10.amd64
Stack trace of thread 95609:
#0 0x00007aa79f330778 g_hash_table_lookup (libglib-2.0.so.0 + 0x49778)
#1 0x00007aa7a05ac1f2 n/a (libgobject-2.0.so.0 + 0x351f2)
#2 0x00007aa7a05ac7c1 g_signal_emit_valist (libgobject-2.0.so.0 + 0x357c1)
#3 0x00007aa7a05ac883 g_signal_emit (libgobject-2.0.so.0 + 0x35883)
#4 0x00007aa7a05982e4 n/a (libgobject-2.0.so.0 + 0x212e4)
#5 0x00007aa7a059b8b3 g_object_notify_by_pspec (libgobject-2.0.so.0 + 0x248b3)
#6 0x00007aa794090de7 display_display_widget_move_y (libdisplay.so + 0x28de7)
#7 0x00007aa794091637 n/a (libdisplay.so + 0x29637)
#8 0x00007aa79409166e n/a (libdisplay.so + 0x2966e)
Sep 09 11:29:19 g kernel: io.elementary.s[95609]: segfault at 7ffca85f2ff8 ip 00007aa79f330778
sp 00007ffca85f3000 error 6 in libglib-2.0.so.0.8000.0[49778,7aa79f305000+a00>It seems the two dell monitors cannot have the same y position even with different x positions. That seems to cause the segfault.
Also, it is possible that when displays overlap, to have a much larger crash, which results in getting logged out.
Process 3344 (gala) of user 1000 dumped core.
Module libgcc_s.so.1 from deb gcc-14-14.2.0-4ubuntu2~24.04.amd64
Module libstdc++.so.6 from deb gcc-14-14.2.0-4ubuntu2~24.04.amd64
Module libzstd.so.1 from deb libzstd-1.5.5+dfsg2-2build1.1.amd64
Module libudev.so.1 from deb systemd-255.4-1ubuntu8.10.amd64
Module libsystemd.so.0 from deb systemd-255.4-1ubuntu8.10.amd64
Stack trace of thread 3344:
#0 0x00007213f149eb2c __pthread_kill_implementation (libc.so.6 + 0x9eb2c)
#1 0x00007213f144527e __GI_raise (libc.so.6 + 0x4527e)
#2 0x00007213f14288ff __GI_abort (libc.so.6 + 0x288ff)
#3 0x00007213f25d3f5b n/a (libglib-2.0.so.0 + 0x1ff5b)
#4 0x00007213f263cbb7 g_assertion_message_expr (libglib-2.0.so.0 + 0x88bb7)
#5 0x00007213f1ceb25b n/a (libmutter-14.so.0 + 0xeb25b)
#6 0x00007213f1cf1d62 n/a (libmutter-14.so.0 + 0xf1d62)
#7 0x00007213f1ce7d5a n/a (libmutter-14.so.0 + 0xe7d5a)
#8 0x00007213f2607e60 g_list_foreach (libglib-2.0.so.0 + 0x53e60)
#9 0x00007213f1cc8c58 n/a (libmutter-14.so.0 + 0xc8c58)
#10 0x00007213f1cbf426 n/a (libmutter-14.so.0 + 0xbf426)
#11 0x00007213f1cab648 n/a (libmutter-14.so.0 + 0xab648)
#12 0x00007213f1ed26cc n/a (libmutter-clutter-14.so.0 + 0x2c6cc)
#13 0x00007213f25866bd n/a (libgobject-2.0.so.0 + 0x356bd)
#14 0x00007213f25867c1 g_signal_emit_valist (libgobject-2.0.so.0 + 0x357c1)
#15 0x00007213f2586883 g_signal_emit (libgobject-2.0.so.0 + 0x35883)
#16 0x00007213f1f36410 n/a (libmutter-clutter-14.so.0 + 0x90410)
#17 0x00007213f1f077ac n/a (libmutter-clutter-14.so.0 + 0x617ac)
#18 0x00007213f26115c5 n/a (libglib-2.0.so.0 + 0x5d5c5)
#19 0x00007213f2670737 n/a (libglib-2.0.so.0 + 0xbc737)
#20 0x00007213f2611f87 g_main_loop_run (libglib-2.0.so.0 + 0x5df87)
#21 0x00007213f1cd4cea meta_context_run_main_loop (libmutter-14.so.0 + 0xd4cea)
#22 0x00005c944bb13e85 n/a (gala + 0x38e85)
#23 0x00007213f142a1ca __libc_start_call_main (libc.so.6 + 0x2a1ca)
#24 0x00007213f142a28b __libc_start_main_impl (libc.so.6 + 0x2a28b)
#25 0x00005c944bb07c25 _start (gala + 0x2cc25)Steps to Reproduce
- Plug in three monitors and adjust the displays around. Many configurations are not working.
Expected Behavior
Monitor configurations that are valid would work.
OS Version
8.x (Circe)
OS Architecture
amd64 (on most hardwares)
Session Type
Classic Session (X11, This is the default) and Secure (Wayland)
Software Version
Latest release (I have run all updates) and latest version on main branch
Log Output
Hardware Info
Two identical 27" dell monitors plus one 49" samsung monitor, all 4k and in different orientations.