Hi all, When I run some program based on directfb(version 1.4.3), it will print some error: *** glibc detected *** launcher: double free or corruption (!prev): 0x005636e8 ***
And I try to track the issue, I found two function will to free same address in "local_surface_pool.c", one function is "local_surface_pool_call_handler", and another is "localLeavePool",. I have two processes which both based on qt, and qt will use the plugin to use directfb. When I switch from this two process(quit A to B, and then quit B to A, and then quit A to B again ... ) frequently , the "double free" issue will occur. When quit A process or B process, the qt library will release the resource relevant to directfb, include surface, layer, screen and dfb. When release dfb, I found the dfb->Release(dfb) will free the buffer of surface, It will call 'localLeavePool' to free the buffer of surface, but I don't know why or when to call "local_surface_pool_call_handler", it may because some object's reference is zero. And this will free the same buffer with 'localLeavePool '. I am trying to track the directfb source code with git, but I cann't find any commit about this issue. And sometimes the error message is: glibc detected launcher: corrupted double-linked list .... BTW, I use the fbdev system, launcher is my program's name. Thanks in advanced. Andy
_______________________________________________ directfb-dev mailing list directfb-dev@directfb.org http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev