aspell-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[aspell-devel] manager_impl.cc:30: failed assertion `s == 0'


From: Bill Moseley
Subject: [aspell-devel] manager_impl.cc:30: failed assertion `s == 0'
Date: Tue, 25 Jun 2002 15:45:24 -0700

Anyone on this list?

I've been having such weird problems running Aspell/Pspell with Perl.  I'm
using my Text::Pspell module (available from CPAN).  Most problems seem to
be dlopen() related.

I'm running an web-based application.

On Solaris 2.6 with Perl 5.005_03 I see this in my apache error log:

   manager_impl.cc:30: failed assertion `s == 0'

where line 30 looks like:

  #ifdef USE_LTDL
    int s;
    s = lt_dlclose((lt_dlhandle)h);
    assert (s == 0);   // <<< line 30
    s = lt_dlexit();
    assert (s == 0);
  #endif

What's weird is that I get the error message, and I get a core file, but
the CGI script does NOT abort.  Doesn't seem right.  I also don't see this
on other platforms.

The Text::Pspell module is a thin interface layer to the Pspell library.
To do my lookups I make a call such as:

    $speller->check( $word );

And that causes the assert error.

Of course, changing to:

    print STDERR "Checking word '$word'\n";
    $speller->check( $word );

Makes the problem go away.  What fun.


The other dlopen() related problem I'm having on only some platforms is
that when perl is run with DL_NON_LAZY=1 (which tells perl to set the
RTLD_NOW flag on dlopen() calls when loading binary extensions such as my
Text::Pspell module) cause Aspell to abort.  Aspell throws an exception
inside a try block but the catch block is never called.  With DL_NON_LAZY=0
the catch block is reached.  I've spent about 30 hours trying to find that
problem.  Drives a fellow to drink.


-- 
Bill Moseley
mailto:address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]