Hello,
I tried to collect some informations.

The segfault happens because "workspace" contains a null pointer.
This null originates from "window->workspace".

Kind regards,
Bernhard



Core was generated by 
`/usr/libexec/installed-tests/mutter-11/mutter-test-runner --all'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0xb7ce33f4 in meta_workspace_index (workspace=0x0) at 
../src/core/workspace.c:722
722       ret = g_list_index (workspace->manager->workspaces, workspace);
[Current thread is 1 (Thread 0xb5082980 (LWP 11034))]
(gdb) bt
#0  0xb7ce33f4 in meta_workspace_index (workspace=0x0) at 
../src/core/workspace.c:722
#1  0xb2e96606 in switch_workspace (plugin=0xe9f200 [MetaDefaultPlugin], 
from=0, to=1, direction=META_MOTION_RIGHT) at 
../src/compositor/plugins/default.c:572
#2  0xb7c9e3a0 in meta_plugin_manager_switch_workspace (plugin_mgr=0xe9b3e0, 
from=0, to=1, direction=META_MOTION_RIGHT) at 
../src/compositor/meta-plugin-manager.c:272
#3  0xb7c94a98 in meta_compositor_switch_workspace (compositor=0xc0e9c0 
[MetaCompositorNative], from=0xe7a320 [MetaWorkspace], to=0xe7a370 
[MetaWorkspace], direction=META_MOTION_RIGHT) at 
../src/compositor/compositor.c:682
#4  0xb7ce5a2f in meta_workspace_activate_with_focus (workspace=0xe7a370 
[MetaWorkspace], focus_this=0x0, timestamp=492883) at 
../src/core/workspace.c:684
#5  0xb7ce5c1e in meta_workspace_activate (workspace=0xe7a370 [MetaWorkspace], 
timestamp=492883) at ../src/core/workspace.c:714
#6  0x0047d8a5 in test_case_do (error=0xbfeb8408, argv=<optimized out>, 
argc=<optimized out>, test=0xece680) at ../src/tests/test-runner.c:1068
#7  run_test (index=<optimized out>, filename=0xac7e20 
"/usr/share/mutter-11/tests/stacking/workspace-basic.metatest", context=<optimized 
out>) at ../src/tests/test-runner.c:1280
#8  run_tests (context=0xaa4c58 [MetaContextTest], info=0xbfeb8934) at 
../src/tests/test-runner.c:1361
#9  0xb5de77d8 in ffi_call_i386 () at ../src/x86/sysv.S:121
#10 0xb5de6d97 in ffi_call_int (cif=<optimized out>, fn=<optimized out>, rvalue=<optimized 
out>, rvalue@entry=0xbfeb8570, avalue=<optimized out>, closure=<optimized out>) at 
../src/x86/ffi.c:406
#11 0xb5de7001 in ffi_call (cif=<optimized out>, fn=<optimized out>, 
rvalue=0xbfeb8570, avalue=0xbfeb8530) at ../src/x86/ffi.c:415
#12 0xb7a6f8d5 in g_cclosure_marshal_generic_va (closure=<optimized out>, return_value=<optimized out>, 
instance=<optimized out>, args_list=<optimized out>, marshal_data=<optimized out>, 
n_params=<optimized out>, param_types=<optimized out>) at ../../../gobject/gclosure.c:1650
#13 0xb7a6eed6 in _g_closure_invoke_va (closure=0xab5eb0, return_value=0xbfeb8718, 
instance=0xaa4c58, args=0xbfeb87bc "ȇ\353\277\005", n_params=0, 
param_types=0x0) at ../../../gobject/gclosure.c:895
#14 0xb7a87e4a in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized 
out>, detail=<optimized out>, var_args=<optimized out>) at 
../../../gobject/gsignal.c:3456
#15 0xb7a88005 in g_signal_emit (instance=0xaa4c58, signal_id=3, detail=0) at 
../../../gobject/gsignal.c:3606
#16 0xb7eecdb8 in run_tests_idle (user_data=0xaa4c58) at 
../src/tests/meta-context-test.c:221
#17 0xb76fb41e in g_main_dispatch (context=0xaa93f0) at 
../../../glib/gmain.c:3444
#18 g_main_context_dispatch (context=0xaa93f0) at ../../../glib/gmain.c:4162
#19 0xb76fb819 in g_main_context_iterate (context=0xaa93f0, block=block@entry=1, 
dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4238
#20 0xb76fbb31 in g_main_loop_run (loop=<optimized out>) at 
../../../glib/gmain.c:4438
#21 0xb7cc2c33 in meta_context_run_main_loop (context=0xaa4c58 
[MetaContextTest], error=0xbfeb88e8) at ../src/core/meta-context.c:453
#22 0xb7eed30c in meta_context_test_run_tests (context_test=0xaa4c58 
[MetaContextTest], flags=META_TEST_RUN_FLAG_NONE) at 
../src/tests/meta-context-test.c:283
#23 0x0047aa29 in main (argc=<optimized out>, argv=<optimized out>) at 
../src/tests/test-runner.c:1483

(gdb) print workspace
$1 = 0x0

(gdb) list meta_workspace_index
716
717     int
718     meta_workspace_index (MetaWorkspace *workspace)
719     {
720       int ret;
721
722       ret = g_list_index (workspace->manager->workspaces, workspace);
723       g_return_val_if_fail (ret >= 0, -1);





(gdb) up
#1  0xb2e96606 in switch_workspace (plugin=0xe9f200 [MetaDefaultPlugin], 
from=0, to=1, direction=META_MOTION_RIGHT) at 
../src/compositor/plugins/default.c:572
572               win_workspace = meta_workspace_index (workspace);

(gdb) print window->on_all_workspaces
$2 = 0
(gdb) print window->workspace
$3 = 0x0

(gdb) list switch_workspace
...
567             {
568               MetaWorkspace *workspace;
569               gint           win_workspace;
570
571               workspace = meta_window_get_workspace (window);
572               win_workspace = meta_workspace_index (workspace);
573
574               if (win_workspace == to || win_workspace == from)

Reply via email to