>>>>> "Herbert" == Herbert <[EMAIL PROTECTED]> writes:
Herbert> Jean-Marc Lasgouttes wrote:
>> >>>>> "Herbert" == Herbert Voss
>> <[EMAIL PROTECTED]> writes:
>>
Herbert> From my point of view it's not a problem of RAM-memory, in
Herbert> fact of 128Mbyte swap and 164MByte RAM. If this is not a bug
Herbert> of LyX with high priority to fix, forget it. I will help
Herbert> myself by including only parts of the whole file.
>> Yes, memory should really enough... I am not really surprised that
>> lyx breaks on such a file though. If the file is not confidential,
>> could you send me a gziped (or bzip2'ed) version so that I can try
>> it out here?
Herbert> ok. I'll send you the lyx-file, which looks ok for me.
Herbert> Thanks in advance!
This file loads fine for me, but purify tells me that we are trying to
free non-heap memory:
FNH: Freeing non heap memory
This is occurring while in:
free [rtlib.o]
__bUiLtIn_dElEtE [libgcc.a]
__builtin_delete [rtlib.o]
__bUiLtIn_vEc_dElEtE [libgcc.a]
__builtin_vec_delete [rtlib.o]
LString::operator =(const LString&) [LString.h:320]
inline void LString::lose()
{
if (p->n-- == 0) {
=> delete[] (char*)p;
}
}
Attempting to free block at 0x3d4e50 in the zero'd data, bss section.
Address 0x3d4e50 is global variable "empty_rep.24".
This is defined in LString.C.
Note: Some 'free's permit freeing such memory, but this is not portable.
To suppress this error, add 'suppress fnh *' to your .purify file.
What happens I guess is that LyX ends up using the empty string more
than 65535 times(!) and things break. A *possible* solution would be
to replace the line 275 of src/LString.h
unsigned short n;
with something larger like
unsigned int n;
I have not tested it, but it might help (unless other problems
surface).
JMarc