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

Reply via email to