Re: SegFault with with impliedVolatility

Posted by Dirk Eddelbuettel on
URL: http://quantlib.414.s1.nabble.com/SegFault-with-with-impliedVolatility-tp3333p3335.html

From: Dirk Eddelbuettel <edd>
To: Luigi Ballabio <[hidden email]>
Cc:
Bcc:
Subject: Re: [Quantlib-users] SegFault with with impliedVolatility
Reply-To:
In-Reply-To: <[hidden email]>

Hi Luigi

Thanks for looking at this.

On Fri, Sep 17, 2004 at 02:22:21PM +0200, Luigi Ballabio wrote:

> On 2004.09.11 23:21, Dirk Eddelbuettel wrote:
> >My RQuantLib glue package for R has a few of the option pricers, as
> >well as some of the implieds.  Right now (i.e. with 0.3.7) I am  
> >getting a weird segfault when I do what is essentially a straight  
> >copy of the corresponding code in test-suite/europeanoption.cpp.
>
> Dirk,
> I apologize fo the delay. It's been a hard week...
> I confess I'm clueless on this. You're working on a Debian box, I  
> guess... it shouldn't happen that R and QuantLib were build linking  
> against different libc or something, isn't it?

No, shouldn't. And they both had been rebuilt relatively close to each other:

edd@chibud:~> ls -l /usr/lib/libQuantLib.so /usr/lib/R/bin/libR.so
-rw-r--r--  1 root root 1638320 Aug 31 22:09 /usr/lib/R/bin/libR.so
lrwxrwxrwx  1 root root      20 Jul 29 20:08 /usr/lib/libQuantLib.so -> libQuantLib-0.3.7.so

Below is 'ldd -v output', I see no smoking gun. Do you?

Maybe I should try valgrind or something like that. Not sure how to set that
up for both QL and R...

Dirk

chibud:~> ldd -v /usr/lib/libQuantLib.so /usr/lib/R/bin/libR.so
/usr/lib/libQuantLib.so:
        libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x40409000)
        libm.so.6 => /lib/libm.so.6 (0x404c3000)
        libc.so.6 => /lib/libc.so.6 (0x404e5000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40619000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)

        Version information:
        /usr/lib/libQuantLib.so:
                libgcc_s.so.1 (GCC_3.0) => /lib/libgcc_s.so.1
                libm.so.6 (GLIBC_2.0) => /lib/libm.so.6
                libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
                libstdc++.so.5 (CXXABI_1.2) => /usr/lib/libstdc++.so.5
                libstdc++.so.5 (GLIBCPP_3.2) => /usr/lib/libstdc++.so.5
        /usr/lib/libstdc++.so.5:
                libc.so.6 (GLIBC_2.2) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.3) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.1) => /lib/libc.so.6
                libgcc_s.so.1 (GCC_3.3) => /lib/libgcc_s.so.1
                libgcc_s.so.1 (GCC_3.0) => /lib/libgcc_s.so.1
                libgcc_s.so.1 (GLIBC_2.0) => /lib/libgcc_s.so.1
        /lib/libm.so.6:
                ld-linux.so.2 (GLIBC_PRIVATE) => /lib/ld-linux.so.2
                libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
        /lib/libc.so.6:
                ld-linux.so.2 (GLIBC_2.1) => /lib/ld-linux.so.2
                ld-linux.so.2 (GLIBC_2.0) => /lib/ld-linux.so.2
                ld-linux.so.2 (GLIBC_PRIVATE) => /lib/ld-linux.so.2
        /lib/libgcc_s.so.1:
                libc.so.6 (GLIBC_2.2.4) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
/usr/lib/R/bin/libR.so:
        libblas.so.3 => /usr/lib/atlas/libblas.so.3 (0x401d6000)
        libg2c.so.0 => /usr/lib/libg2c.so.0 (0x40517000)
        libm.so.6 => /lib/libm.so.6 (0x40536000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40558000)
        libpcre.so.3 => /usr/lib/libpcre.so.3 (0x40561000)
        libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0x40571000)
        libz.so.1 => /usr/lib/libz.so.1 (0x40581000)
        libreadline.so.4 => /lib/libreadline.so.4 (0x40593000)
        libdl.so.2 => /lib/libdl.so.2 (0x405c0000)
        libncurses.so.5 => /lib/libncurses.so.5 (0x405c3000)
        libc.so.6 => /lib/libc.so.6 (0x40602000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)

        Version information:
        /usr/lib/R/bin/libR.so:
                libdl.so.2 (GLIBC_2.1) => /lib/libdl.so.2
                libdl.so.2 (GLIBC_2.0) => /lib/libdl.so.2
                libm.so.6 (GLIBC_2.0) => /lib/libm.so.6
                libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.1) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.2) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.3) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
        /usr/lib/atlas/libblas.so.3:
                libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
        /usr/lib/libg2c.so.0:
                libm.so.6 (GLIBC_2.0) => /lib/libm.so.6
                libc.so.6 (GLIBC_2.3) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.2) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.1) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
        /lib/libm.so.6:
                ld-linux.so.2 (GLIBC_PRIVATE) => /lib/ld-linux.so.2
                libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
        /lib/libgcc_s.so.1:
                libc.so.6 (GLIBC_2.2.4) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
        /usr/lib/libpcre.so.3:
                libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.3) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
        /usr/lib/libbz2.so.1.0:
                libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.1) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
        /usr/lib/libz.so.1:
                libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.1) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
        /lib/libreadline.so.4:
                libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.3) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
        /lib/libdl.so.2:
                libc.so.6 (GLIBC_2.3) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.1) => /lib/libc.so.6
                libc.so.6 (GLIBC_PRIVATE) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
                ld-linux.so.2 (GLIBC_PRIVATE) => /lib/ld-linux.so.2
        /lib/libncurses.so.5:
                libc.so.6 (GLIBC_2.3) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.1) => /lib/libc.so.6
                libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
        /lib/libc.so.6:
                ld-linux.so.2 (GLIBC_2.1) => /lib/ld-linux.so.2
                ld-linux.so.2 (GLIBC_2.0) => /lib/ld-linux.so.2
                ld-linux.so.2 (GLIBC_PRIVATE) => /lib/ld-linux.so.2


--
Those are my principles, and if you don't like them... well, I have others.
                                                -- Groucho Marx