That sentence makes sense if I reorder the parts: The non-GTK program gets past that statement and terminates normally eventually.
So taking your suggestion, I've set fatal-level=none. This is simply a hello-world application. Here's a bit of the debug: 4e888 ) (!) [Main Thread 30.633] (22197) *** Assertion [fusion_skirmish_lock_count( &stack->context->lock, &lock_count ) == DR_OK] failed *** [wm.c:540 in dfb_wm_init_stack()] (!) [Main Thread 30.633] (22197) *** Assertion [lock_count > 0] failed *** [wm.c:540 in dfb_wm_init_stack()] (-) [Main Thread 30.633] (22197) Core/Input: dfb_input_attach_global( 0x44eaa8, 0, 0x44e888, 0x44eb98 ) (-) [Main Thread 30.633] (22197) Core/WindowStack: -> 0x44e888 (-) [Main Thread 30.633] (22197) Core/WindowStack: dfb_windowstack_resize( 0x44e888, 720x480, 0 ) (-) [Main Thread 30.633] (22197) Core/LayerContext: dfb_layer_context_lock( 0x44d438 ) (-) [Main Thread 30.634] (22197) Core/LayerContext: dfb_layer_context_unlock( 0x44d438 ) (-) [Main Thread 30.634] (22197) Core/Layers: dfb_layer_activate_context (FBDev Primary Layer, 0x44d438) (-) [Main Thread 30.634] (22197) Core/LayerContext: dfb_layer_context_lock( 0x44d438 ) (-) [Main Thread 30.634] (22197) Fusion/Object: object_reference_watcher( 0, 1, (nil), 0x44a6b0, 0, 0x7fc5a958 ) (-) [Main Thread 30.634] (22197) Fusion/Object: == Layer Context Pool == (-) [Main Thread 30.635] (22197) Fusion/Object: -> dead object 0x44d438 [1] (-) [Main Thread 30.635] (22197) Fusion/Object: -> calling destructor... (-) [Main Thread 30.635] (22197) Core/LayerContext: *~ destroying context 0x44d438 (FBDev Primary Layer, inactive) (-) [Main Thread 30.635] (22197) Core/Layers: dfb_layer_remove_context (FBDev Primary Layer, 0x44d438) (-) [Main Thread 30.635] (22197) Core/LayerContext: dfb_layer_context_lock( 0x44d438 ) (-) [Main Thread 30.635] (22197) Core/LayerContext: dfb_layer_context_lock( 0x44d438 ) (-) [Main Thread 30.635] (22197) Core/WindowStack: dfb_windowstack_destroy( 0x44e888 ) (-) [Main Thread 30.636] (22197) Core/Input: dfb_input_detach_global( 0x44eaa8, 0x44eb98 ) (-) [Main Thread 30.636] (22197) Core/WM: dfb_wm_close_stack( 0x44e888 ) (!) [Main Thread 30.636] (22197) *** Assertion [fusion_skirmish_lock_count( &stack->context->lock, &lock_count ) == DR_OK] failed *** [wm.c:592 in dfb_wm_close_stack()] (!) [Main Thread 30.636] (22197) *** Assertion [lock_count > 0] failed *** [wm.c:592 in dfb_wm_close_stack()] (-) [Main Thread 30.636] (22197) Direct/Mem: - number of bytes of reactor [reactor.c:1826 in fusion_reactor_free()] -> 0x44d5b0 (-) [Main Thread 30.636] (22197) Fusion/Object: -> destructor done. (!) IDirectFB_Construct: Could not get default context of primary layer! (-) [Main Thread 30.637] (22197) Direct/Mem: - number of bytes of (thiz)->priv [idirectfb.c:1697 in IDirectFB_Construct()] -> 0x44d658 (-) [Main Thread 30.637] (22197) Direct/Mem: - number of bytes of (thiz) [idirectfb.c:1697 in IDirectFB_Construct()] -> 0x44e808 (-) [Main Thread 30.637] (22197) DirectFB/Core: dfb_core_destroy... (-) [Main Thread 30.637] (22197) Direct/Signals: Removing handler 0x2b674fd0 for signal -1 with context 0x4452f0... (-) [Main Thread 30.638] (22197) Direct/Mem: - number of bytes of handler [signals.c:176 in direct_signal_handler_remove()] -> 0x4452b8 (-) [Main Thread 30.638] (22197) Direct/Main: Removing cleanup handler 0x2b674f10 with context (nil)... (-) [Main Thread 30.638] (22197) Direct/Mem: - number of bytes of handler [direct.c:147 in direct_cleanup_handler_remove()] -> 0x44da40 (-) [Main Thread 30.638] (22197) DirectFB/Core: Shutting down... (-) [Main Thread 30.638] (22197) Core/Input: dfb_input_core_suspend( 0x44c7b0 ) (-) [Main Thread 30.638] (22197) Core/Input: -> suspending... (-) [Main Thread 30.638] (22197) Core/Input: -> closing 'Console' (1) 0.1 (directfb.org) (!) [Main Thread 30.639] (22197) *** Assertion [!pthread_equal( thread->thread, pthread_self() )] failed *** [thread.c:524 in direct_thread_cancel()] (-) [Main Thread 30.640] (22197) Direct/Thread: direct_thread_cancel( 0x2be722a8, 'Linux Input' 22211 ) (!) [Main Thread 30.640] (22197) *** Assumption [!pthread_equal( thread->thread, pthread_self() )] failed *** [thread.c:585 in direct_thread_join()] (-) [Main Thread 30.640] (22197) Direct/Thread: direct_thread_join( 0x2be722a8, 'Linux Input' 22211 ) (!) [Main Thread 30.640] (22197) *** Assumption [!pthread_equal( thread->thread, pthread_self() )] failed *** [thread.c:622 in direct_thread_destroy()] (-) [Main Thread 30.640] (22197) Direct/Thread: direct_thread_destroy( 0x2be722a8, 'Linux Input' 22211 ) (-) [Main Thread 30.640] (22197) Direct/Mem: - number of bytes of thread->name [thread.c:654 in direct_thread_destroy()] -> 0x44e318 (-) [Main Thread 30.641] (22197) Direct/Mem: - number of bytes of thread [thread.c:655 in direct_thread_destroy()] -> 0x44e270 (-) [Main Thread 30.641] (22197) Direct/Mem: - number of bytes of data [linux_input.c:1378 in driver_close_device()] -> 0x44e240 (-) [Main Thread 30.641] (22197) Core/Input: -> suspended. (-) [Main Thread 30.641] (22197) Fusion/Object: == Window Pool == (-) [Main Thread 30.641] (22197) Fusion/Object: -> destroying pool... (-) [Main Thread 30.641] (22197) Fusion/Object: -> syncing... (-) [Main Thread 30.641] (22197) Fusion/Object: -> locking... (-) [Main Thread 30.642] (22197) Fusion/Object: -> pool destroyed (Window Pool) (-) [Main Thread 30.642] (22197) Core/WM: dfb_wm_close_all_stacks( 0x44e388 ) (-) [Main Thread 30.642] (22197) Core/WM: -> checking 0 stacks... (-) [Main Thread 30.642] (22197) Fusion/Object: == Layer Region Pool == (-) [Main Thread 30.642] (22197) Fusion/Object: -> destroying pool... (-) [Main Thread 30.642] (22197) Fusion/Object: -> syncing... (-) [Main Thread 30.650] (22197) Fusion/Object: -> locking... (-) [Main Thread 30.650] (22197) Fusion/Object: -> pool destroyed (Layer Region Pool) (-) [Main Thread 30.650] (22197) Fusion/Object: == Layer Context Pool == (-) [Main Thread 30.651] (22197) Fusion/Object: -> destroying pool... (-) [Main Thread 30.651] (22197) Fusion/Object: -> syncing... (-) [Main Thread 30.651] (22197) Fusion/Object: -> locking... (-) [Main Thread 30.651] (22197) Fusion/Object: -> pool destroyed (Layer Context Pool) (-) [Main Thread 30.651] (22197) Core/Parts: Going to shutdown 'wm_core' core... (-) [Main Thread 30.651] (22197) Core/WM: dfb_wm_core_shutdown( 0x44e388, no emergency ) (-) [Main Thread 31.141] (22197) Direct/Mem: - number of bytes of wm_local->data [wm.c:308 in dfb_wm_core_shutdown()] -> 0x44cb00 (-) [Main Thread 31.142] (22197) Direct/Mem: - number of bytes of core_part->data_local [core_parts.c:166 in dfb_core_part_shutdown()] -> 0x44e388 (-) [Main Thread 31.142] (22197) Core/Parts: Going to shutdown 'layer_core' core... (-) [Main Thread 31.142] (22197) Core/Layer: dfb_layer_core_shutdown( 0x44e3a8, no emergency ) (-) [Main Thread 31.142] (22197) Direct/Mem: - number of bytes of layer [layers.c:325 in dfb_layer_core_shutdown()] -> 0x44c618 (-) [Main Thread 31.142] (22197) Direct/Mem: - number of bytes of core_part->data_local [core_parts.c:166 in dfb_core_part_shutdown()] -> 0x44e3a8 (-) [Main Thread 31.143] (22197) Core/Parts: Going to shutdown 'screen_core' core... (-) [Main Thread 31.143] (22197) Core/Screen: dfb_screen_core_shutdown( 0x44ae20, no emergency ) (-) [Main Thread 31.143] (22197) Direct/Mem: - number of bytes of screen [screens.c:348 in dfb_screen_core_shutdown()] -> 0x44c5f8 (-) [Main Thread 31.143] (22197) Direct/Mem: - number of bytes of core_part->data_local [core_parts.c:166 in dfb_core_part_shutdown()] -> 0x44ae20 (-) [Main Thread 31.143] (22197) Fusion/Object: == Surface Pool == (-) [Main Thread 31.143] (22197) Fusion/Object: -> destroying pool... (-) [Main Thread 31.143] (22197) Fusion/Object: -> syncing... (-) [Main Thread 31.144] (22197) Fusion/Object: -> locking... (-) [Main Thread 31.144] (22197) Fusion/Object: -> pool destroyed (Surface Pool) (-) [Main Thread 31.144] (22197) Fusion/Object: == Palette Pool == (-) [Main Thread 31.144] (22197) Fusion/Object: -> destroying pool... (-) [Main Thread 31.144] (22197) Fusion/Object: -> syncing... (-) [Main Thread 31.144] (22197) Fusion/Object: -> locking... (-) [Main Thread 31.144] (22197) Fusion/Object: -> pool destroyed (Palette Pool) (-) [Main Thread 31.144] (22197) Core/Parts: Going to shutdown 'graphics_core' core... (-) [Main Thread 31.145] (22197) Core/Graphics: dfb_graphics_core_shutdown( 0x44ed10, no emergency ) (-) [Main Thread 31.145] (22197) Direct/Mem: - number of bytes of core_part->data_local [core_parts.c:166 in dfb_core_part_shutdown()] -> 0x44ed10 (-) [Main Thread 31.145] (22197) Core/Parts: Going to shutdown 'surface_core' core... (-) [Main Thread 31.145] (22197) Core/SurfaceCore: dfb_surface_core_shutdown( 0x44a998, no emergency ) (-) [Main Thread 31.145] (22197) Core/SurfacePool: dfb_surface_pool_destroy( 0x44ac10, 'Preallocated Memory' [2] ) (-) [Main Thread 31.145] (22197) Core/SurfacePool: dfb_surface_pool_destroy( 0x44ab18, 'System Memory' [1] ) (-) [Main Thread 31.146] (22197) Direct/Mem: - number of bytes of pool_locals[pool_id] [surface_pool.c:1114 in remove_pool_local()] -> 0x44abf8 (-) [Main Thread 31.146] (22197) Core/SurfacePool: dfb_surface_pool_destroy( 0x44a9c0, 'Shared Memory' [0] ) (-) [Main Thread 31.146] (22197) Direct/Mem: - number of bytes of pool [fake.c:75 in fusion_shm_pool_destroy()] -> 0x44aac0 (-) [Main Thread 31.146] (22197) Direct/Mem: - number of bytes of pool_locals[pool_id] [surface_pool.c:1114 in remove_pool_local()] -> 0x44aab0 (-) [Main Thread 31.146] (22197) Direct/Mem: - number of bytes of core_part->data_local [core_parts.c:166 in dfb_core_part_shutdown()] -> 0x44a998 (-) [Main Thread 31.147] (22197) Core/Parts: Going to shutdown 'input_core' core... (-) [Main Thread 31.147] (22197) Core/Input: dfb_input_core_shutdown( 0x44c7b0, no emergency ) (-) [Main Thread 31.604] (22197) Direct/Mem: - number of bytes of driver [input.c:481 in dfb_input_core_shutdown()] -> 0x44ead0 (-) [Main Thread 31.604] (22197) Direct/Mem: - number of bytes of reactor [reactor.c:1826 in fusion_reactor_free()] -> 0x44ecc0 (-) [Main Thread 31.604] (22197) Direct/Mem: - number of bytes of device [input.c:496 in dfb_input_core_shutdown()] -> 0x44eaa8 (-) [Main Thread 31.605] (22197) Direct/Mem: - number of bytes of core_part->data_local [core_parts.c:166 in dfb_core_part_shutdown()] -> 0x44c7b0 (-) [Main Thread 31.605] (22197) Core/Parts: Going to shutdown 'system_core' core... (-) [Main Thread 31.605] (22197) Core/System: dfb_system_core_shutdown( 0x44acf0, no emergency ) (-) [Main Thread 31.605] (22197) Core/SurfacePool: dfb_surface_pool_destroy( 0x44ad20, 'Frame Buffer Memory' [3] ) (-) [Main Thread 31.608] (22197) FBDev/Surfaces: fbdevDestroyPool() (-) [Main Thread 31.608] (22197) SurfaceManager: dfb_surfacemanager_destroy( 0x44c5a8 ) (-) [Main Thread 31.608] (22197) Direct/Mem: - number of bytes of pool_locals[pool_id] [surface_pool.c:1114 in remove_pool_local()] -> 0x44ae10 (-) [Main Thread 32.622] (22197) Direct/Mem: - number of bytes of dfb_fbdev [fbdev.c:789 in system_shutdown()] -> 0x44ad00 (-) [Main Thread 33.038] (22197) Direct/Mem: - number of bytes of core_part->data_local [core_parts.c:166 in dfb_core_part_shutdown()] -> 0x44acf0 (-) [Main Thread 33.039] (22197) Core/Parts: Going to shutdown 'colorhash_core' core... (-) [Main Thread 33.039] (22197) Core/ColorHash: dfb_colorhash_core_shutdown( 0x44a948, no emergency ) (-) [Main Thread 33.039] (22197) Direct/Mem: - number of bytes of core_part->data_local [core_parts.c:166 in dfb_core_part_shutdown()] -> 0x44a948 (-) [Main Thread 33.039] (22197) Core/Parts: Going to shutdown 'clipboard_core' core... (-) [Main Thread 33.039] (22197) Core/Clipboard: dfb_clipboard_core_shutdown( 0x445378, no emergency ) (-) [Main Thread 33.040] (22197) Direct/Mem: - number of bytes of core_part->data_local [core_parts.c:166 in dfb_core_part_shutdown()] -> 0x445378 (-) [Main Thread 33.040] (22197) Direct/Mem: - number of bytes of pool [fake.c:75 in fusion_shm_pool_destroy()] -> 0x44a658 (-) [Main Thread 33.040] (22197) Direct/Mem: - number of bytes of pool [fake.c:75 in fusion_shm_pool_destroy()] -> 0x44a5b0 (-) [Main Thread 33.040] (22197) Direct/Mem: - number of bytes of pool [fake.c:75 in fusion_shm_pool_destroy()] -> 0x445320 (-) [Main Thread 33.040] (22197) Direct/Mem: - number of bytes of world->shared [fusion.c:2530 in fusion_exit()] -> 0x449f40 (-) [Main Thread 33.040] (22197) Direct/Mem: - number of bytes of world [fusion.c:2534 in fusion_exit()] -> 0x449d28 (-) [Main Thread 33.041] (22197) Direct/Main: direct_shutdown() called... (-) [Main Thread 33.041] (22197) Direct/Main: ...2 references left. (-) [Main Thread 33.041] (22197) Direct/Mem: - number of bytes of handler [thread.c:146 in direct_thread_remove_init_handler()] -> 0x4492c0 (-) [Main Thread 33.041] (22197) Direct/Mem: - number of bytes of core [core.c:453 in dfb_core_destroy()] -> 0x4452f0 (-) [Main Thread 33.041] (22197) Direct/Main: direct_shutdown() called... (-) [Main Thread 33.041] (22197) Direct/Main: ...1 references left. (#) DirectFBError [gdk_display_open: DirectFBCreate]: Fusion IPC error detected! (helloworld:22291): Gtk-WARNING **: cannot open display: A bit more about the setup: I'm running with fusion off and multi off. My system is fbdev, set in the .directfbrc file. The dfbtest_window program runs fine. On Wed, Feb 11, 2009 at 2:23 AM, Niels Roest <ni...@directfb.org> wrote: > the SIGTRAP is a result of the ASSERT. > This is not a 'deadly' assert, it signals there is something wrong with the > internal locking counter. > Since it doesn't reach the counter check, something seems to be wrong with > the lock itself. > Having code without locking safety will of course work only about 9 times > out of a 10 :) > > What do you mean with 'terminate normally and get past this statement'? > To me 'terminate' is the opposite of 'get past the statement'.. > > Also, core->shared will be different in memory addresses, obviously, so I > need you to specify a bit more if you have spotted significant differences. > > You may want to try "fatal-level=none" in your directfbrc, to skip asserts > and check for similarities in GTK/nonGTK cases. > > hth > Niels > > eccamacho wrote: > >> I've compiled DirectFB to mips on a Broadcom box. I'm encountering a >> weird >> situation where I'm getting a SIGTRAP in wm.c. >> >> (-) [Main Thread 30.487] (19949) Core/WM: >> dfb_wm_init_stack( >> 0x44e888 ) >> (!) [Main Thread 30.487] (19949) *** Assertion >> [fusion_skirmish_lock_count( &stack->context->lock, &lock_count ) == >> DR_OK] >> failed *** [wm.c:540 in dfb_wm_init_stack()] >> (-) [Main Thread 30.487] (19949) - - : >> Direct/Assertion: >> Raising SIGTRAP... >> >> When I run the directfb tests (dfbtest_window), I can terminate normally >> and >> get past this statement. In GTK programs, I crash here. >> I'm noticing differences in objects such as core->shared when I go through >> dfb_core_create between GTK programs and the DFB test programs, but I >> don't >> understand how they are initialized differently. >> >> Anyone encountered this or have any ideas? >> >> > > > -- > > .------------------------------------------. > | DirectFB - Hardware accelerated graphics | > | http://www.directfb.org/ | > "------------------------------------------" >
_______________________________________________ directfb-dev mailing list directfb-dev@directfb.org http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev