Hi Denis, I have confirmed that the problem is indeed due to the daemon() call in the application. This would cause the application to do a fork() and the child process will continue the execution.
But the child closes its World as soon as it does a fork with the pthread fork handler and later it goes on to access the freed data. This causes the crash. What would be the best way to fix this issue ? How do we take care of this special case of fork ? Thanks Suzuki On Dec 11, 2007 3:00 PM, Suzuki K P <[EMAIL PROTECTED]> wrote: > Hi Denis, > > On Dec 11, 2007 9:46 AM, Suzuki K P <[EMAIL PROTECTED]> wrote: > > On Dec 11, 2007 5:09 AM, Denis Oliver Kropp <[EMAIL PROTECTED]> wrote: > > > Suzuki K P wrote: > > > > Hi, > > > > > > > > I could see the below messages as well in another crash: > > > > > > > > > > > > (-) [Main Thread 7.293] (22412) IDirectFBSurfaceW: > > > > IDirectFBSurface_Window_Release( 0x8c17c00 ) > > > > (-) [Main Thread 7.331] (22412) IDirectFBSurfaceW: > > > > IDirectFBSurface_Window_Destruct( 0x8c17c00 ) > > > > (!) [Main Thread 7.331] (22412) *** Assertion [((FusionObject*) > > > > object)->magic == D_MAGIC("FusionObject")] failed *** > > > > [../../src/core/windows.h:83 > > > > in dfb_window_unref()] > > > > > > > > There seems to be stray pointer which is corrupting the memory area. > > > > > > It could also be a ref counting problem. Do you get an I/O error instead > > > if you comment out the D_ASSERT > > > in lib/fusion/object.h ? > > > > > > > I have started a build for the same. > > Yes. I do get the I/O error messages like these : > > (scim-panel-gtk:27907): Gdk-DirectFB-WARNING **: > gdk_window_set_keep_above() not implemented. > > > (scim-panel-gtk:27907): Gdk-DirectFB-WARNING **: > gdk_window_set_keep_below() not implemented. > > (*) Direct/Thread: Running 'Fusion Dispatch' (MESSAGING, 27912)... > (*) Direct/Thread: Running 'Fusion Dispatch' (MESSAGING, 27915)... > (!) FUSION_REF_DOWN --> Input/output error > (!) FUSION_REF_DOWN --> Input/output error > (!) FUSION_REF_DOWN --> Input/output error > > > Thanks > > Suzuki > > > > > > > > > >> Backtrace: > > > >> /home/suzie/lib/libfusion-1.0.so.0(_fusion_fd+0x1e)[0x37f32e] > > > >> /home/suzie/lib/libfusion-1.0.so.0(fusion_ref_down+0x37)[0x389917] > > > >> /home/suzie/lib/libdirectfb-1.0.so.0(dfb_window_unref+0x5e)[0x507053] > > > >> /home/suzie/lib/libdirectfb-1.0.so.0(IDirectFBSurface_Window_Destruct+0x1c)[0x50710c] > > > >> /home/suzie/lib/libdirectfb-1.0.so.0(IDirectFBSurface_Window_Release+0xad)[0x5071fd] > > > >> /home/suzie/lib/libgdk-directfb-2.0.so.0(_gdk_directfb_move_resize_child+0xd3)[0x25c0f3] > > > >> /home/suzie/lib/libgdk-directfb-2.0.so.0(dfb_events_process_window_event+0x809)[0x2513a9] > > > >> /home/suzie/lib/libgdk-directfb-2.0.so.0(dfb_events_io_func+0xad)[0x25184d] > > > >> /home/suzie/lib/libglib-2.0.so.0(g_io_unix_dispatch+4d)[0x64823d] > > > >> /home/suzie/lib/libglib-2.0.so.0(g_main_context_dispatch+0x17c)[0x618c0c] > > > >> /home/suzie/lib/libglib-2.0.so.0 > > > >> (g_main_context_iterate+0x3ef)[0x61c03f] > > > >> /home/suzie/lib/libglib-2.0.so.0(g_main_loop_run+0x1a9)[0x61c3e9] > > > >> /home/suzie/lib/libgtk-directfb-2.0.so.0(gtk_main+0xb4)[0x8e2944] > > > >> /home/suzie/lib/scim-1.0/scim-panel-gtk[0x805dac9] > > > >> /lib/libc.so.6(__libc_start_main+0xe0)[0xdf0f70] > > > >> /home/suzie/lib/scim-1.0/scim-panel-gtk(__gxx_personality_v0+0x305)[0x804e511] > > > >> > > > >> > > > >> By the way, I tried different combinations with multi core support > > > >> enabled. > > > >> > > > >> directfb-1.0.0 + gtk-2.12 (linux-fusion 3.2.4/3.2.2) > > > >> directfb-1.1.0 + gtk-2.12/gtk+-2.10.13 (linux-fusion 7.0.3) > > > >> > > > >> > > > >> Everything ends up in the same crash. The log is attached with this > > > >> mail. > > > >> > > > >> It looks like we are crashing :at : lib/fusion/fusion.c: > > > >> int > > > >> _fusion_fd( const FusionWorldShared *shared ) > > > >> { > > > >> int index; > > > >> FusionWorld *world; > > > >> > > > >> D_MAGIC_ASSERT( shared, FusionWorldShared ); > > > >> > > > >> with "shared" being a corrupted pointer. (0x20000000) > > > > > > 0x20000000 is fine, but to make sure there are no collisions with > > > other mappings on your architecture, please send the output of > > > "cat /proc/self/maps". > > > > > > > The stack trace as well as the maps is attached below : > > > -- > > > > > Best regards, > > > Denis Oliver Kropp > > > > > > .------------------------------------------. > > > | 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