|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #8133 pspell_new() in Apache module segfaults
Submitted: 2000-12-06 00:24 UTC Modified: 2001-04-03 14:16 UTC
From: Assigned:
Status: Closed Package: Pspell related
PHP Version: 4.0 Latest CVS (05/12/2000) OS: Mandrake 7.0
Private report: No CVE-ID: None
 [2000-12-06 00:24 UTC]
This is a fresh source wipe & checkout from cvs. I also
installed fresh pspell & aspell packages of the latest
versions; they work fine from the command line. The command
line PHP seems to work fine; the module version segfaults.

Configure script (remove the apxs line for the cli version):

./configure \
  --with-apxs=/usr/local/apache/bin/apxs \
  --with-pspell \
  --with-mysql=/usr \
  --with-gd \
  --with-xml \
  --with-zlib \
  --with-curl \
  --with-sablot \
  --with-iodbc=/usr/local \
  --enable-wddx \
  --enable-versioning \
  --enable-sysvshm \
  --enable-sysvsem \
  --enable-sockets \
  --enable-shmop \

I cannot get a backtrace when this happens; running gdb
on httpd just gives:

Error while mapping shared library sections:
"/sbin/": not in executable format: Is a directory.
Error while reading shared library symbols:
"/sbin/": can't read symbols: Is a directory.
warning: find_solib: Can't read pathname for load map:
Input/output error an infinite loop until I kill gdb from another

I did a strace, if that helps. It was rather huge, and
is located at

The script with which I am testing:
<?php /* -*- mode: c++; minor-mode: font -*- */
$version = phpversion();

    <h1><?php echo $version ?> list answer testbed</h1>

$dictid = pspell_new('en', '', '', '', PSPELL_NORMAL);
echo "Got dictionary: '$dictid'<br>\n";

(There a a couple of extraneous lines at the beginning
but they don't affect anything.)


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2001-01-09 20:51 UTC]
Looks like newer versions of pspell require the user's /root/.aspell.conf (if you are running apache as root) file to be present, while older ones did not care; otherwise we see:

open("/root/.aspell.conf", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
brk(0x8178000)                          = 0x8178000
--- SIGSEGV (Segmentation fault) ---
+++ killed by SIGSEGV +++

I'll see if I can figure out how to get rid of that annoying and useless (in this context) feature.

I wonder if it is related to bug# 8464
 [2001-04-03 07:47 UTC]
I can't reproduce this with latest CVS. You should also check bug #10129 if that's what is the problem in your system.

( And I don't have .aspell in my /root/ dir)


 [2001-04-03 14:16 UTC]
Actually, this is still a "problem", and the solution for the cause seems to be in allowing aspell to read it's own files as 'nobody' (or whatever your apache runs as). For most people, just do the following:

chmod o+r /usr/local/lib/aspell
chmod o+r /usr/local/share/aspell
chmod o+r /usr/local/share/pspell

The credit for finding this is due to
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sun Apr 14 02:01:30 2024 UTC