[Xapian-discuss] Databases on Windows

Colin Bell colinabell at gmail.com
Sun Apr 13 19:01:11 BST 2008


I broke my program down to just simple test

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "../include/xapian.h"

using namespace Xapian;
using namespace std;

int main() {
	Xapian::WritableDatabase database;
	database = Xapian::WritableDatabase("research", DB_CREATE_OR_OPEN);
	return 0;
}


Some debug information

Unhandled exception at 0x7c9012b4 in myTest.exe: 0xC0000005: Access  
violation reading location 0xcdcdcdcd.

Call stack:

 >	ntdll.dll!7c9012b4() 	
  	[Frames below may be incorrect and/or missing, no symbols loaded  
for ntdll.dll]	
  	kernel32.dll!7c80e095() 	
  	kernel32.dll!7c801a31() 	
  	myTest.exe!FlintLock::lock()  + 0x2a bytes	
  	myTest.exe!FlintDatabase::get_database_write_lock()  + 0x48 bytes	



Assembly stopped at "7C9012B4  repne scas  byte ptr es:[edi] "


7C901299  push        edi
7C90129A  mov         edi,dword ptr [esp+0Ch]
7C90129E  mov         edx,dword ptr [esp+8]
7C9012A2  mov         dword ptr [edx],0
7C9012A8  mov         dword ptr [edx+4],edi
7C9012AB  or          edi,edi
7C9012AD  je          7C9012CD
7C9012AF  or          ecx,0FFFFFFFFh
7C9012B2  xor         eax,eax
7C9012B4  repne scas  byte ptr es:[edi]
7C9012B6  not         ecx
7C9012B8  cmp         ecx,0FFFFh
7C9012BE  jbe         7C9012C5
7C9012C0  mov         ecx,0FFFFh
7C9012C5  mov         word ptr [edx+2],cx
7C9012C9  dec         ecx
7C9012CA  mov         word ptr [edx],cx
7C9012CD  pop         edi
7C9012CE  ret         8


On 13 Apr 2008, at 10:29, James Aylett wrote:

> [Re-posted to xapian-discuss, and un-top-posted for good measure.]
>
> On Sun, Apr 13, 2008 at 08:32:50AM +0100, Colin Bell wrote:
>
>>>> [db directory created] "ÍÍÍÍresearch"
>>>> and then exits without any errors.
>>
>>> If you ignore the weird folder name, does the database work as
>>> expected? For instance, if you add a document with some document  
>>> data,
>>> does the stored string also have unexpected top bit set bytes in it?
>>
>> Unfortunately not, the folder is empty and I cannot use the database.
>
> Hmm. Unless anyone has any other suggestions, I think you're probably
> gonna have to attack the VC++ debugger to that and step through to
> find out where it fails, and possibly gain some insight as to where it
> gets the directory name wrong. I don't know if the library build
> you're using has debugging symbols, but if not you'll probably want to
> rebuild it.
>
> J
>
> -- 
> /--------------------------------------------------------------------------\
>  James Aylett                                                   
> xapian.org
>  james at tartarus.org                                
> uncertaintydivision.org




More information about the Xapian-discuss mailing list