Le 7 nov. 11 à 09:51, Andre Fischer a écrit :

Hi,



Hi Andre,


I have news on this, but not good news.



:-/


The crash is not directly caused but triggered by the fix for issue 112786. That issue fixes the config manager singleton to actually getting destroyed when the office closes. Not destroying it is not nice but, to my knowledge, causes not observable problems.


That's probably why Caolan workaround uses boost shared_pointers. I adapted his patch to OOo, and there is no observable problem on Windows so far.


Now that the config manager is destroyed, it checks whether there are still any registered config items. There should be none at this point but in reality there is one when no application is started and about six when for example the writer is started and closed immediately.


I didn't know the Writer case. Thanks for the info.



Not wanting to leave anything behind the config manager destroys the lingering config items. Because the office is already half down and the infrastructure for destroying the config items is not in place anymore, that causes the crash.

Indeed.



So, every remaining config item causes its own separate crash. Each has to be fixed on its own. Some even cause secondary crashes when a config items in its destructor tries to destroy the resources it still holds. The root cause here is that the config items are registered but are not unregistered.


Yes, so why not use shared pointers ? the refcount looks more clean, is automagicaly managed, and works apparently well.

Or maybe I misunderstood something ?



Fixing this issue means finding the owner of the offending config item and make it properly unregister and destroy the item.

Fixing this is a time consuming process.


Indeed, and will force to manage more precisely every item.


I have one item fixed (see the patch for issue 118576) and a second one in the making. That means that four are still open. As there are more important things to do right now, like getting the conflicting IP stuff removed, I suggest to remove the patch of issue 112786 and fix this properly at a later point in time.



Waiting, what about adopt a compromise, using the patch I wrote (or a better one) instead ? See : http://ftp.educoo.org/home/ericb/patches/ apache_ooo/configmgr_windows/configmgr_fixed.diff

Another question coming to my mind is now: can we integrate the patch, or must we write another solution ? (I tried to discuss with Caolan on IRC, but no answer yet)


Thanks in advance for any suggestion :-)


Regards,
Eric


Note : I manualy added the changes, since the patch Caolan provided uses deep changes in cppuhelper, not directly compatible with our code imho. The orignal link of the fix is : https://bugs.freedesktop.org/ show_bug.cgi?id=31494


--
qɔᴉɹə
Projet OOo4Kids : http://wiki.ooo4kids.org/index.php/Main_Page
L'association EducOOo : http://www.educoo.org
Blog : http://eric.bachard.org/news





Reply via email to