Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DB_File/Perl problem: Incurred fault #5, FLTACCESS #223

Closed
p5pRT opened this issue Jul 23, 1999 · 2 comments
Closed

DB_File/Perl problem: Incurred fault #5, FLTACCESS #223

p5pRT opened this issue Jul 23, 1999 · 2 comments

Comments

@p5pRT
Copy link

@p5pRT p5pRT commented Jul 23, 1999

Migrated from rt.perl.org#1030 (status was 'resolved')

Searchable as RT1030$

@p5pRT
Copy link
Author

@p5pRT p5pRT commented Jul 23, 1999

From root@corona.chelsea.net

-----------------------------------------------------------------
A program which used to work fine using tie'd DB files now generates
a SIGBUS error and goes into a spin loop during a getcontext() call.
It seems to occur under 5.005_02 and 5.005_03, which we just
upgraded to. Sample truss output​:

7911​: getcontext(0xEFFFF740)
7911​: lseek(4, 8192, SEEK_SET) = 8192
7911​: write(4, "\0041FD61FCE1FA71F9A1F8C".., 8192) = 8192
7911​: lseek(4, 0, SEEK_SET) = 0
7911​: write(4, "\00615 a\0\0\002\0\010E1".., 260) = 260
7911​: close(4) = 0
7911​: getcontext(0xEFFFF740)
7911​: getcontext(0xEFFFF5E0)
7911​: Incurred fault #5, FLTACCESS %pc = 0x00065F28
7911​: siginfo​: SIGBUS BUS_ADRALN addr=0x636F6D2F
7911​: Received signal #10, SIGBUS [caught]
7911​: siginfo​: SIGBUS BUS_ADRALN addr=0x636F6D2F
7911​: setcontext(0xEFFFF830)
7911​: Incurred fault #5, FLTACCESS %pc = 0x00065F28
7911​: siginfo​: SIGBUS BUS_ADRALN addr=0x636F6D2F
7911​: Received signal #10, SIGBUS [caught]
7911​: siginfo​: SIGBUS BUS_ADRALN addr=0x636F6D2F
7911​: setcontext(0xEFFFF830)
7911​: Incurred fault #5, FLTACCESS %pc = 0x00065F28
7911​: siginfo​: SIGBUS BUS_ADRALN addr=0x636F6D2F
7911​: Received signal #10, SIGBUS [caught]
7911​: siginfo​: SIGBUS BUS_ADRALN addr=0x636F6D2F

and so on. This appears to be a memory alignment problem, no? FD 4
is the DB file. I can't reproduce this with a small program.

Perl Info


Site configuration information for perl 5.00503:

Configured by davidb at Fri Jul 16 17:03:14 EDT 1999.

Summary of my perl5 (5.0 patchlevel 5 subversion 3) configuration:
  Platform:
    osname=solaris, osvers=2.6, archname=sun4-solaris
    uname='sunos corona 5.6 generic_105181-12 sun4u sparc sunw,ultra-2 '
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef useperlio=undef d_sfio=undef
  Compiler:
    cc='gcc', optimize='-O', gccversion=2.8.1
    cppflags='-I/usr/local/include -I/opt/db/1.85/include.db'
    ccflags ='-I/usr/local/include -I/opt/db/1.85/include.db'
    stdchar='unsigned char', d_stdstdio=define, usevfork=false
    intsize=4, longsize=4, ptrsize=4, doublesize=8
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    alignbytes=8, usemymalloc=y, prototype=define
  Linker and Libraries:
    ld='gcc', ldflags ='-L/usr/local/lib -L/opt/db/1.85/lib.db'
    libpth=/usr/local/lib /lib /usr/lib /usr/ccs/lib /opt/db/1.85/lib.db
    libs=-lsocket -lnsl -ldb -ldl -lm -lc -lcrypt
    libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
    cccdlflags='-fPIC', lddlflags='-G -L/usr/local/lib -L/opt/db/1.85/lib.db'

Locally applied patches:
    


@INC for perl 5.00503:
    /opt/perl/5.005_03/lib/perl/sun4-solaris
    /opt/perl/5.005_03/lib/perl
    /opt/siteperl/5.005_03/siteperl/sun4-solaris
    /opt/siteperl/5.005_03/siteperl
    .


Environment for perl 5.00503:
    HOME=/home/davidb
    LANG (unset)
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/ccs/bin:/usr/opt/SUNWmd/sbin
    PERL_BADLANG (unset)
    SHELL=/bin/ksh

@p5pRT
Copy link
Author

@p5pRT p5pRT commented Jul 27, 1999

From [Unknown Contact. See original ticket]

We are working on coming up with a cut down version.

At the moment, this is running with 1.85, since we're using the DB_File
interface. Several other applications also go against these files, and
they are expecting that database format. We use BerkeleyDB with 2.7.5 for
those applications which we can.

At the moment, this application has magically stopped crashing for a
couple of days now when we put in a fix for a completely unrelated problem
with running stat() on a nonexistent directory. I am scared if that was
somehow causing the problem.

If we get a core dump again, I will see if I can't give you at least a
stack trace to peer at. Otherwise, we will work on creating a version of
this that crashes that I can send you.

Thanks,

David.


** WARNING ** This message was composed by a temporarily crippled programmer
using a speech recognition system. Please don't be alarmed if some extremely
strange word usage shows up in the message. Many thanks....

On Sat, 24 Jul 1999 paul.marquess@​bt.com wrote​:

From​: Super-User [mailto​:root@​corona.chelsea.net]

This is a bug report for perl from davidb@​chelsea.net,
generated with the help of perlbug 1.26 running under perl 5.00503.

-----------------------------------------------------------------
A program which used to work fine using tie'd DB files now generates
a SIGBUS error and goes into a spin loop during a getcontext() call.
It seems to occur under 5.005_02 and 5.005_03, which we just
upgraded to.

What version of Berkeley Db are you running? The most recent available is
2.7.5 (available from www.sleepycat.com). If you are running an older
version, you could try upgrading.

If that doesn't work, you are going to either post the script or come up
with a cut-down version that trips this behaviour.

Paul

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
1 participant