Abdelrazak Younes wrote:
> Peter Kümmel wrote:
>> Jean-Marc Lasgouttes wrote:
>>>>>>>> "Abdelrazak" == Abdelrazak Younes <[EMAIL PROTECTED]> writes:
>>> Abdelrazak> Bennett Helm wrote:
>>>>> On Nov 17, 2006, at 5:59 AM, Abdelrazak Younes wrote:
>>>>>> Bennett Helm wrote:
>>>>>>> 1.5.0 alpha crashes every time on quit on Intel Mac. Here's the
>>>>>>> backtrace:
>>>>>>  Could you try out this patch please?
>>>>>  I still get a crash. Here's the new backtrace:
>>>>>
>>>>> Program received signal EXC_BAD_ACCESS, Could not access memory.
>>>>> Reason: KERN_INVALID_ADDRESS at address: 0x8d005b76 0x8d005b76 in
>>>>> ?? () (gdb) bt #0 0x8d005b76 in ?? () #1 0x00153ab2 in
>>>>> lyx::IconvProcessor::convert (this=0xb95958, buf=0xe34f64c "\004",
>>>>> buflen=53259, outbuf=0xe02500c "", maxoutsize=213036) at
>>>>> unicode.C:123
>>> Abdelrazak> This is something else... Do you have an idea Georg?
>>>
>>> Looks like prepareExit tries to use _() and the iconv stuff has
>>> already been killed. Probably that the static IconvProcessor (in
>>> utf8_to_ucs4) and the LyX instance are not deleted in the right order.
>>>
>>> Long long ago, we had a lot of problems with creation/destruction
>>> order of global object. I think it is the same problem now. We should
>>> have tighter control on when stuff gets deleted.
>>>
>>> JMarc
>>>
>>
>> I know very well the Singleton pattern of Loki, there is also a
>> template to control the life time of global objects. Maybe
>> we could use these templates or is it a no-go?
> 
> I don't know what you are talking about but in the case of LyX, the
> solution is pretty simple but involves a new round of cleanup:

My idea was to use some Loki code for singletons and global static data.

>   avoid global static data!

Yes, maybe the remaining data could be centralized in one class which will
be create and deleted at one place. We should avoid that creation and
destruction is handled automatically by the compiler.

Peter

Reply via email to