On Wed, 29 Apr 2015 12:00:02 +0200
Dominique Pell? <dominique.pelle at gmail.com> wrote:
> I'd suggest to try reproducing the problem on Linux after disabling
> memory overcommit (at least temporarily for the experimentation):
>
> * If it returns SQLITE_NOMEM without segfault, then it's not a bug
> but a limitation of SQLite which uses lots of memory for FTS, or
> a leak in the application.
> * If it still segfaults, then there is a bug in SQLite or in the
> application.
A fast checking code inside malloc.c shows this warning inside void
*sqlite3Malloc(u64 n) function. Don't know if FTS uses sqlite3_malloc()
directly or this one.
/* A memory allocation of a number of bytes which is near the maximum
** signed integer value might cause an integer overflow inside of the
** xMalloc(). Hence we limit the maximum size to 0x7fffff00, giving
** 255 bytes of overhead. SQLite itself will never use anything near
** this amount. The only way to reach the limit is with sqlite3_malloc() */
>
> Regards
> Dominique
--- ---
Eduardo Morras <emorrasg at yahoo.es>