Date: Sat, 10 Aug 2002 13:38:27 +0200 (CEST) From: Martin Blapp <mb@imp.ch> To: <dev@porting.openoffice.org> Cc: <openoffice@freebsd.org> Subject: Crash with Test-Document in the second run. Memory allocation problem Message-ID: <20020810133026.G92422-100000@levais.imp.ch> In-Reply-To: <200208092032.27738.kevin.hendricks@sympatico.ca>
next in thread | previous in thread | raw e-mail | index | archive | help
0x285ef215 in rtl_freeMemory (p=0x0) at alloc.c:1325 1325 RTL_MEMORY_ENQUEUE (&memory); (gdb) frame 0 #0 0x285ef215 in rtl_freeMemory (p=0x0) at alloc.c:1325 1325 RTL_MEMORY_ENQUEUE (&memory); (gdb) list 1320 DBG_MEMORY_VERIFY(memory); 1321 1322 /* clear 'used' bit, enqueue */ 1323 memory->m_length &= 0x7fffffff; 1324 1325 RTL_MEMORY_ENQUEUE (&memory); 1326 if (memory) 1327 { 1328 /* free memory page */ 1329 RTL_MEMORY_FREE(memory, memory->m_length); (gdb) What I don't understand. This part is only executed if p != NULL. Why is p suddenly NULL inside this function ? (gdb) p p $1 = (void *) 0x0 (gdb) p memory $2 = (struct __rtl_memory_desc_st *) 0x2e5141f8 (gdb) p memory->m_length $3 = 0 (gdb) p memory->m_blink $4 = (struct __rtl_memory_desc_st *) 0x0 (gdb) p memory->m_offset $5 = 0 (gdb) p memory->m_flink $6 = (struct __rtl_memory_desc_st *) 0x1 Huh ? We free Memory with a lenght of 0 ? Martin Martin Blapp, <mb@imp.ch> <mbr@FreeBSD.org> ------------------------------------------------------------------ ImproWare AG, UNIXSP & ISP, Zurlindenstrasse 29, 4133 Pratteln, CH Phone: +41 061 826 93 00: +41 61 826 93 01 PGP: <finger -l mbr@freebsd.org> PGP Fingerprint: B434 53FC C87C FE7B 0A18 B84C 8686 EF22 D300 551E ------------------------------------------------------------------ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-openoffice" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020810133026.G92422-100000>