GNOME Bugzilla – Bug 729128
common: Fix possible crasher in device-mapper
Last modified: 2014-04-28 17:16:24 UTC
.
Created attachment 275366 [details] [review] common: Fix possible crasher in device-mapper Hardware: - laptop with built-in touchscreen - external display Reproducer: - Plug in external display - Disable laptop's builtin screen Backtrace: #0 0x00007ffff51f6c39 in raise () from /lib64/libc.so.6 #1 0x00007ffff51f8348 in abort () from /lib64/libc.so.6 #2 0x00007ffff5809f15 in g_assertion_message (domain=domain@entry=0x7ffff73a62c2 "GnomeDesktop", file=file@entry=0x7ffff73a7556 "gnome-rr.c", line=line@entry=1709, func=func@entry=0x7ffff73a7860 <__FUNCTION__.56169> "gnome_rr_crtc_get_current_rotation", message=message@entry=0xbfcc50 "assertion failed: (crtc != NULL)") at gtestutils.c:2291 #3 0x00007ffff5809f9a in g_assertion_message_expr (domain=domain@entry=0x7ffff73a62c2 "GnomeDesktop", file=file@entry=0x7ffff73a7556 "gnome-rr.c", line=line@entry=1709, func=func@entry=0x7ffff73a7860 <__FUNCTION__.56169> "gnome_rr_crtc_get_current_rotation", expr=expr@entry=0x7ffff73a76c0 "crtc != NULL") at gtestutils.c:2306 #4 0x00007ffff7392a82 in gnome_rr_crtc_get_current_rotation (crtc=<optimized out>) at gnome-rr.c:1709 #5 0x00007fffe9758916 in input_info_get_matrix (matrix=0x7fffffffd210, input=0xbeee30) at gsd-device-mapper.c:620 #6 input_info_remap (input=0xbeee30) at gsd-device-mapper.c:661 #7 0x00007fffe9758d8d in mapper_apply_helper_info (mapper=mapper@entry=0x863c60, helper=helper@entry=0xc22fc0) at gsd-device-mapper.c:716 #8 0x00007fffe9758f3c in mapper_recalculate_candidates (mapper=0x863c60) at gsd-device-mapper.c:741 #9 _device_mapper_update_outputs (mapper=mapper@entry=0x863c60) at gsd-device-mapper.c:990 #10 0x00007fffe9758ffe in on_rr_screen_ready (object=<optimized out>, result=<optimized out>, user_data=user_data@entry=0x863c60) at gsd-device-mapper.c:1019 #11 0x00007ffff5da5ec5 in g_task_return_now (task=0x834ef0) at gtask.c:1076 #12 0x00007ffff5da66a6 in g_task_return (task=0x834ef0, type=<optimized out>) at gtask.c:1129 #13 0x00007ffff73937f1 in on_proxy_acquired (object=<optimized out>, result=<optimized out>, user_data=user_data@entry=0x834ef0) at gnome-rr.c:632 #14 0x00007ffff5d9605e in g_simple_async_result_complete (simple=0x86c780) at gsimpleasyncresult.c:763 #15 0x00007ffff5d960cc in complete_in_idle_cb (data=0x86c780) at gsimpleasyncresult.c:775 #16 0x00007ffff57e599e in g_main_dispatch (context=0x651170) at gmain.c:3067 #17 g_main_context_dispatch (context=context@entry=0x651170) at gmain.c:3677 #18 0x00007ffff57e5d88 in g_main_context_iterate (context=0x651170, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3748 #19 0x00007ffff57e604a in g_main_loop_run (loop=0x678460) at gmain.c:3942 #20 0x00007ffff6dc4e65 in gtk_main () at gtkmain.c:1192 #21 0x00000000004036f7 in main (argc=1, argv=0x7fffffffd6c8) at main.c:444 When setting up the internal display to be off, the device mapper will still try to find the crtc for a display that's turned off. Passing that invalid crtc to gnome_rr_crtc_get_current_rotation() will cause an assertion.
*** Bug 728229 has been marked as a duplicate of this bug. ***
Pushed to master and gnome-3-12 Attachment 275366 [details] pushed as 13de5cd - common: Fix possible crasher in device-mapper