i have some code which uses sqlite heavily.  every so often a command using
with hang indefinitely, running an strace on the code shows it to be stuck in
a loop doing


  munmap addr1
  mmap         #=> addr1
  munmap addr2
  mmap         #=> addr1
  munmap addr1
  ...
  ...
  repeat forever...

checking out the /proc filesystem for the process shows this oddity

  [EMAIL PROTECTED] 20793]$ ls fd
  0  1  2  3  4

  [EMAIL PROTECTED] 20793]$ file fd/*
  fd/0: symbolic link to /dev/pts/3
  fd/1: symbolic link to /dev/pts/3
  fd/2: symbolic link to /dev/pts/3
  fd/3: symbolic link to 
/tmp/_dmsp_reference_bin_rq_20793_609295232_1111789746/db
  fd/4: broken symbolic link to /var/tmp/sqlite_dZtkItUXB3ppxor (deleted)

and, indeed, the /var//tmp file does not exist.  i assume this file is the
backing store sqlite uses for implementing transactions: it's certainly not
created by my code.

now, this is happening on a compute node with __zero__ other userland process
running so i'm quite sure no other process is removing the file.  also,
disabling tmpwatch has no effect on the problem, which is both transient and
infrequent.

so - has anyone every seen this before?  any thoughts on how to proceed?

details:

  jib:~ > cat /etc/redhat-release
  Red Hat Enterprise Linux WS release 3 (Taroon Update 8)

  jib:~ > uname -srm
  Linux 2.4.21-47.0.1.ELsmp i686

  jib:~ > sqlite -version
  2.8.15


kind regards.

-a
--
my religion is very simple.  my religion is kindness. -- the dalai lama

-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------

Reply via email to