Hi all, debugged the crash at exit of wengophone on linux, I found out (thanks to valgrind!) that the problem was caused by static objects whose constructor/destructor was called more than once.
Being more specific: if the .o file containing the definition of a static object (eg: Logger::logger or String::EOL) is included both in the main code and in a shared library, the object is still allocated once, but the constructor and destructor are called twice on the same object. This happens only with dynamic libraries, with static libraries there is no such problem. Anyway I am not able to explain such behaviour. Any idea? Note that that the intel compiler (9.1) has the same behaviour than gcc. I you want to try, I put a small testcase here: http://netgroup.polito.it/~cavedon/obj.tgz (testObj_sh is the executable who is working bad because of this problem). This is happening for some static objects in wengophone. I tried to disable the creation of static libraries and the crash disappeared. Moreover the the output of valgrind became much cleaner. I attached a patch for branch 2.0 at ticket http://dev.openwengo.com/trac/openwengo/trac.cgi/ticket/1199 I will try with trunk/2.1 in the following days. Happy new year!!! Ludovico ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. _______________________________________________ Wengophone-devel mailing list [email protected] http://dev.openwengo.com/mailman/listinfo/wengophone-devel
