Am Sonntag, den 02.12.2012, 22:49 +0100 schrieb Paul Menzel: > using Debian Sid/unstable with self-built Evolution 3.4.4 and > libsqlite3-0 3.7.14.1-1, Evolution crashed with a segmentation fault. > > pool[15522]: segfault at 5 ip b69bafe3 sp 8acf0850 error 6 in > libsqlite3.so.0.8.6[b69a4000+ac000]
After doing `apt-get source sqlite3` and building it myself with
`debuild -b -us -uc`, I have the source file `sqlite3.c` and I am able
to look at the code statements.
> The backtrace from the core dump file is the following.
>
> Thread 1 (Thread 0x8acf1b70 (LWP 15522)):
> #0 0xb69bafe3 in pcache1Fetch (p=0xb8effb00, iKey=35985,
> createFlag=2) at sqlite3.c:36093
> h = 1169
> nPinned = <optimized out>
> pCache = 0xb8effb00
> pGroup = 0xb8effb30
> pPage = 0xbf8ab0e8
The following code caused the segmentation fault.
36093 *(void **)pPage->page.pExtra = 0;
(gdb) l
36088 pPage->iKey = iKey;
36089 pPage->pNext = pCache->apHash[h];
36090 pPage->pCache = pCache;
36091 pPage->pLruPrev = 0;
36092 pPage->pLruNext = 0;
36093 *(void **)pPage->page.pExtra = 0;
36094 pCache->apHash[h] = pPage;
36095 }
36096
36097 fetch_out:
(gdb) p pPage
$1 = (PgHdr1 *) 0xbf8ab0e8
(gdb) p pPage->page.pExtra
$2 = (void *) 0x5
(gdb) info register
eax 0x5 5
ecx 0xb8effb30 -1192232144
edx 0x491 1169
ebx 0xb6a51d3c -1230693060
esp 0x8acf0850 0x8acf0850
ebp 0xb8effb00 0xb8effb00
esi 0xbf8ab0e8 -1081429784
edi 0xb8effb00 -1192232192
eip 0xb69bafe3 0xb69bafe3 <pcache1Fetch+755>
eflags 0x10212 [ AF IF RF ]
cs 0x73 115
ss 0x7b 123
ds 0x7b 123
es 0x7b 123
fs 0x0 0
gs 0x33 51
As
*(void **)pPage->page.pExtra = 0;
is above my basic C knowledge, maybe somebody sees if there is a reason
for the segfault here. Otherwise Richard is probably right, that the
heap corruption is caused by some other program.
Thanks,
Paul
signature.asc
Description: This is a digitally signed message part
_______________________________________________ sqlite-users mailing list [email protected] http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

