bugGNU Octave - Bugs: bug #30754, Legendre polynomial crashes

 
 

bug #30754: Legendre polynomial crashes

Submitted by:  None
Submitted on:  Thu 12 Aug 2010 12:04:14 AM UTC  
 
Category: LibrariesSeverity: 3 - Normal
Priority: 5 - NormalItem Group: Segfault, Bus Error, etc.
Status: InvalidAssigned to: None
Originator Name: Sang Tae ParkOriginator Email: -unavailable-
Open/Closed: ClosedRelease: 3.2.4
Operating System: GNU/Linux

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

(Jump to the original submission Jump to the original submission)

Sun 21 Nov 2010 07:36:36 AM UTC, comment #6:

it might be a bug with mkoctfile, or how octave handles oct files.

1. gsl itself works fine.
2. oct file made from the tutorial gives the same error/crash, when it tries to return values.

could someone confirm this ?
thanks.

sang tae park

Anonymous
Thu 02 Sep 2010 04:37:29 PM UTC, comment #5:

you are right. it seems that the issue is either in interfacing to GSL, or in GSL itself. if I use legendre (octave function) instead of legendre_Plm (GSL function), then octave doesn't crash.
however, it has a huge performance drawback in my calculation, since legendre evaluates for all m=0:n while legendre_Plm only evaluates P(n,m), and I need only m=1 for large n.

Anonymous
Thu 02 Sep 2010 03:18:50 PM UTC, comment #4:

Recently octave-3.2.4 also started to crash when using bessel_Jn or bessel_In. Now my script, which I used to publish a scientific paper, cannot be executed any more.

I have another system (Fedora9) with octave-3.0.3, and it runs fine.

`bessel_Jn' is a function from the file /usr/libexec/octave/packages/gsl-1.0.8/x86_64-redhat-linux-gnu-api-v37/gsl_sf.oct

If you believe this is bugs from GSL side, please let me know, so I can report it to GSL.

Anonymous
Thu 02 Sep 2010 03:13:09 PM UTC, comment #3:

does that mean legendre_Plm is provided by octave-forge package ?

Anonymous
Thu 02 Sep 2010 03:11:35 PM UTC, comment #2:

octave:1> help legendre_Plm
`legendre_Plm' is a function from the file /usr/libexec/octave/packages/gsl-1.0.8/x86_64-redhat-linux-gnu-api-v37/gsl_sf.oct

-- Loadable Function: Y = legendre_Plm (N, M, X)
-- Loadable Function: [Y, ERR] = legendre_Plm (...)
These routines compute the associated Legendre polynomial P_l^m(x)
for m >= 0, l >= m, |x| <= 1.

ERR contains an estimate of the absolute error in the value Y.

This function is from the GNU Scientific Library, see
`http://www.gnu.org/software/gsl/' for documentation.

Additional help for built-in functions and operators is
available in the on-line version of the manual. Use the command
`doc <topic>' to search the manual index.

Help and information about Octave is also available on the WWW
at http://www.octave.org and via the -unavailable-
mailing list.

Anonymous
Thu 12 Aug 2010 05:59:09 PM UTC, comment #1:

There is no Octave command legendre_Plm as given in your example. It seems this is your own function or package.

Octave does have the command legendre(), but it doesn't accept the calling convention you have.

On Octave-3.2.4, your arguments to legendre give

Rik <rik5>
Project Administrator
Thu 12 Aug 2010 12:04:14 AM UTC, original submission:

>octave

octave:1> legendre_Plm(1,1,0.5)

      • glibc detected *** octave: free(): invalid pointer: 0x00007f2cda499f30 ***

======= Backtrace: =========
/lib64/libc.so.6[0x3322e75676]
/usr/lib64/octave-3.2.4/liboctinterp.so(_ZN21tree_index_expression7rvalue1Ei+0x9e)[0x7f2cd9c9eb7e]
/usr/lib64/octave-3.2.4/liboctinterp.so(_ZN14tree_evaluator15visit_statementER14tree_statement+0x106)[0x7f2cd9c92636]
/usr/lib64/octave-3.2.4/liboctinterp.so(_ZN14tree_evaluator20visit_statement_listER19tree_statement_list+0x58)[0x7f2cd9c8f658]
/usr/lib64/octave-3.2.4/liboctinterp.so(_Z9main_loopv+0x14e)[0x7f2cd9ac3bce]
/usr/lib64/octave-3.2.4/liboctinterp.so(octave_main+0xf37)[0x7f2cd9a59367]
/lib64/libc.so.6(__libc_start_main+0xfd)[0x3322e1ec5d]
octave[0x4007f9]
======= Memory map: ========
00400000-00401000 r-xp 00000000 08:08 143445 /usr/bin/octave-3.2.4
00600000-00601000 rw-p 00000000 08:08 143445 /usr/bin/octave-3.2.4
01b83000-02368000 rw-p 00000000 00:00 0 [heap]
3322a00000-3322a1e000 r-xp 00000000 08:08 393250 /lib64/ld-2.12.so
3322c1e000-3322c1f000 r--p 0001e000 08:08 393250 /lib64/ld-2.12.so
3322c1f000-3322c20000 rw-p 0001f000 08:08 393250 /lib64/ld-2.12.so
3322c20000-3322c21000 rw-p 00000000 00:00 0
3322e00000-3322f75000 r-xp 00000000 08:08 393252 /lib64/libc-2.12.so
3322f75000-3323175000 ---p 00175000 08:08 393252 /lib64/libc-2.12.so
3323175000-3323179000 r--p 00175000 08:08 393252 /lib64/libc-2.12.so
3323179000-332317a000 rw-p 00179000 08:08 393252 /lib64/libc-2.12.so
332317a000-332317f000 rw-p 00000000 00:00 0
3323200000-3323217000 r-xp 00000000 08:08 406527 /lib64/libpthread-2.12.so
3323217000-3323416000 ---p 00017000 08:08 406527 /lib64/libpthread-2.12.so
3323416000-3323417000 r--p 00016000 08:08 406527 /lib64/libpthread-2.12.so
3323417000-3323418000 rw-p 00017000 08:08 406527 /lib64/libpthread-2.12.so
3323418000-332341c000 rw-p 00000000 00:00 0
3323600000-33236f8000 r-xp 00000000 08:08 176639 /usr/lib64/libfftw3.so.3.2.4
33236f8000-33238f7000 ---p 000f8000 08:08 176639 /usr/lib64/libfftw3.so.3.2.4
33238f7000-33238fe000 rw-p 000f7000 08:08 176639 /usr/lib64/libfftw3.so.3.2.4
3323a00000-3323a83000 r-xp 00000000 08:08 425476 /lib64/libm-2.12.so
3323a83000-3323c82000 ---p 00083000 08:08 425476 /lib64/libm-2.12.so
3323c82000-3323c83000 r--p 00082000 08:08 425476 /lib64/libm-2.12.so
3323c83000-3323c84000 rw-p 00083000 08:08 425476 /lib64/libm-2.12.so
3323e00000-3323eef000 r-xp 00000000 08:08 178681 /usr/lib64/libfftw3f.so.3.2.4
3323eef000-33240ef000 ---p 000ef000 08:08 178681 /usr/lib64/libfftw3f.so.3.2.4
33240ef000-33240f6000 rw-p 000ef000 08:08 178681 /usr/lib64/libfftw3f.so.3.2.4
3324200000-3324207000 r-xp 00000000 08:08 425008 /lib64/librt-2.12.so
3324207000-3324406000 ---p 00007000 08:08 425008 /lib64/librt-2.12.so
3324406000-3324407000 r--p 00006000 08:08 425008 /lib64/librt-2.12.so
3324407000-3324408000 rw-p 00007000 08:08 425008 /lib64/librt-2.12.so
3325e00000-3325e02000 r-xp 00000000 08:08 158038 /usr/lib64/libXau.so.6.0.0
3325e02000-3326002000 ---p 00002000 08:08 158038 /usr/lib64/libXau.so.6.0.0
3326002000-3326003000 rw-p 00002000 08:08 158038 /usr/lib64/libXau.so.6.0.0
3326600000-332661b000 r-xp 00000000 08:08 158606 /usr/lib64/libxcb.so.1.1.0
332661b000-332681a000 ---p 0001b000 08:08 158606 /usr/lib64/libxcb.so.1.1.0
332681a000-332681b000 rw-p 0001a000 08:08 158606 /usr/lib64/libxcb.so.1.1.0
3326a00000-3326b39000 r-xp 00000000 08:08 158607 /usr/lib64/libX11.so.6.3.0
3326b39000-3326d39000 ---p 00139000 08:08 158607 /usr/lib64/libX11.so.6.3.0
3326d39000-3326d3f000 rw-p 00139000 08:08 158607 /usr/lib64/libX11.so.6.3.0
3327200000-3327297000 r-xp 00000000 08:08 154509 /usr/lib64/libfreetype.so.6.3.22
3327297000-3327496000 ---p 00097000 08:08 154509 /usr/lib64/libfreetype.so.6.3.22
3327496000-332749c000 rw-p 00096000 08:08 154509 /usr/lib64/libfreetype.so.6.3.22
3329200000-3329205000 r-xp 00000000 08:08 158617 /usr/lib64/libXfixes.so.3.1.0
3329205000-3329404000 ---p 00005000 08:08 158617 /usr/lib64/libXfixes.so.3.1.0
3329404000-3329405000 rw-p 00004000 08:08 158617 /usr/lib64/libXfixes.so.3.1.0
332b600000-332b602000 r-xp 00000000 08:08 158620 /usr/lib64/libXdamage.so.1.1.0
332b602000-332b801000 ---p 00002000 08:08 158620 /usr/lib64/libXdamage.so.1.1.0
332b801000-332b802000 rw-p 00001000 08:08 158620 /usr/lib64/libXdamage.so.1.1.0
332ce00000-332ce3b000 r-xp 00000000 08:08 425502 /lib64/libreadline.so.6.1
332ce3b000-332d03b000 ---p 0003b000 08:08 425502 /lib64/libreadline.so.6.1
332d03b000-332d043000 rw-p 0003b000 08:08 425502 /lib64/libreadline.so.6.1
332d043000-332d044000 rw-p 00000000 00:00 0
332d200000-332d216000 r-xp 00000000 08:08 425487 /lib64/libgcc_s-4.4.4-20100630.so.1
332d216000-332d415000 ---p 00016000 08:08 425487 /lib64/libgcc_s-4.4.4-20100630.so.1
332d415000-332d416000 rw-p 00015000 08:08 425487 /lib64/libgcc_s-4.4.4-20100630.so.1
332e600000-332e6e9000 r-xp 00000000 08:08 175583 /usr/lib64/libstdc++.so.6.0.13
332e6e9000-332e8e9000 ---p 000e9000 08:08 175583 /usr/lib64/libstdc++.so.6.0.13
332e8e9000-332e8f0000 r--p 000e9000 08:08 175583 /usr/lib64/libstdc++.so.6.0.13
332e8f0000-332e8f2000 rw-p 000f0000 08:08 175583 /usr/lib64/libstdc++.so.6.0.13
332e8f2000-332e907000 rw-p 00000000 00:00 0
332fe00000-332fe2d000 r-xp 00000000 08:08 393470 /lib64/libpcre.so.0.0.1
332fe2d000-333002c000 ---p 0002d000 08:08 393470 /lib64/libpcre.so.0.0.1
333002c000-333002d000 rw-p 0002c000 08:08 393470 /lib64/libpcre.so.0.0.1
3332600000-3332622000 r-xp 00000000 08:08 425495 /lib64/libncurses.so.5.7
3332622000-3332822000 ---p 00022000 08:08 425495 /lib64/libncurses.so.5.7panic: Aborted -- stopping myself...
attempting to save variables to `octave-core'...

      • glibc detected *** octave: free(): invalid pointer: 0x00007f2cda499f30 ***

======= Backtrace: =========
/lib64/libc.so.6[0x3322e75676]
/usr/lib64/octave-3.2.4/liboctinterp.so(+0x4020fc)[0x7f2cd99a40fc]
/usr/lib64/octave-3.2.4/liboctinterp.so(_Z16dump_octave_corev+0x20b)[0x7f2cd99a4c3b]
/usr/lib64/octave-3.2.4/liboctinterp.so(+0x4ef92b)[0x7f2cd9a9192b]
/lib64/libpthread.so.0[0x332320f440]
/lib64/libc.so.6(gsignal+0x35)[0x3322e329a5]
/lib64/libc.so.6(abort+0x175)[0x3322e34185]
/lib64/libc.so.6[0x3322e6fd5b]
/lib64/libc.so.6[0x3322e75676]
/usr/lib64/octave-3.2.4/liboctinterp.so(_ZN21tree_index_expression7rvalue1Ei+0x9e)[0x7f2cd9c9eb7e]
/usr/lib64/octave-3.2.4/liboctinterp.so(_ZN14tree_evaluator15visit_statementER14tree_statement+0x106)[0x7f2cd9c92636]
/usr/lib64/octave-3.2.4/liboctinterp.so(_ZN14tree_evaluator20visit_statement_listER19tree_statement_list+0x58)[0x7f2cd9c8f658]
/usr/lib64/octave-3.2.4/liboctinterp.so(_Z9main_loopv+0x14e)[0x7f2cd9ac3bce]
/usr/lib64/octave-3.2.4/liboctinterp.so(octave_main+0xf37)[0x7f2cd9a59367]
/lib64/libc.so.6(__libc_start_main+0xfd)[0x3322e1ec5d]
octave[0x4007f9]
======= Memory map: ========
00400000-00401000 r-xp 00000000 08:08 143445 /usr/bin/octave-3.2.4
00600000-00601000 rw-p 00000000 08:08 143445 /usr/bin/octave-3.2.4
01b83000-02368000 rw-p 00000000 00:00 0 [heap]
3322a00000-3322a1e000 r-xp 00000000 08:08 393250 /lib64/ld-2.12.so
3322c1e000-3322c1f000 r--p 0001e000 08:08 393250 /lib64/ld-2.12.so
3322c1f000-3322c20000 rw-p 0001f000 08:08 393250 /lib64/ld-2.12.so
3322c20000-3322c21000 rw-p 00000000 00:00 0
3322e00000-3322f75000 r-xp 00000000 08:08 393252 /lib64/libc-2.12.so
3322f75000-3323175000 ---p 00175000 08:08 393252 /lib64/libc-2.12.so
3323175000-3323179000 r--p 00175000 08:08 393252 /lib64/libc-2.12.so
3323179000-332317a000 rw-p 00179000 08:08 393252 /lib64/libc-2.12.so
332317a000-332317f000 rw-p 00000000 00:00 0
3323200000-3323217000 r-xp 00000000 08:08 406527 /lib64/libpthread-2.12.so
3323217000-3323416000 ---p 00017000 08:08 406527 /lib64/libpthread-2.12.so
3323416000-3323417000 r--p 00016000 08:08 406527 /lib64/libpthread-2.12.so
3323417000-3323418000 rw-p 00017000 08:08 406527 /lib64/libpthread-2.12.so
3323418000-332341c000 rw-p 00000000 00:00 0
3323600000-33236f8000 r-xp 00000000 08:08 176639 /usr/lib64/libfftw3.so.3.2.4
33236f8000-33238f7000 ---p 000f8000 08:08 176639 /usr/lib64/libfftw3.so.3.2.4
33238f7000-33238fe000 rw-p 000f7000 08:08 176639 /usr/lib64/libfftw3.so.3.2.4
3323a00000-3323a83000 r-xp 00000000 08:08 425476 /lib64/libm-2.12.so
3323a83000-3323c82000 ---p 00083000 08:08 425476 /lib64/libm-2.12.so
3323c82000-3323c83000 r--p 00082000 08:08 425476 /lib64/libm-2.12.so
3323c83000-3323c84000 rw-p 00083000 08:08 425476 /lib64/libm-2.12.so
3323e00000-3323eef000 r-xp 00000000 08:08 178681 /usr/lib64/libfftw3f.so.3.2.4
3323eef000-33240ef000 ---p 000ef000 08:08 178681 /usr/lib64/libfftw3f.so.3.2.4
33240ef000-33240f6000 rw-p 000ef000 08:08 178681 /usr/lib64/libfftw3f.so.3.2.4
3324200000-3324207000 r-xp 00000000 08:08 425008 /lib64/librt-2.12.so
3324207000-3324406000 ---p 00007000 08:08 425008 /lib64/librt-2.12.so
3324406000-3324407000 r--p 00006000 08:08 425008 /lib64/librt-2.12.so
3324407000-3324408000 rw-p 00007000 08:08 425008 /lib64/librt-2.12.so
3325e00000-3325e02000 r-xp 00000000 08:08 158038 /usr/lib64/libXau.so.6.0.0
3325e02000-3326002000 ---p 00002000 08:08 158038 /usr/lib64/libXau.so.6.0.0
3326002000-3326003000 rw-p 00002000 08:08 158038 /usr/lib64/libXau.so.6.0.0
3326600000-332661b000 r-xp 00000000 08:08 158606 /usr/lib64/libxcb.so.1.1.0
332661b000-332681a000 ---p 0001b000 08:08 158606 /usr/lib64/libxcb.so.1.1.0
332681a000-332681b000 rw-p 0001a000 08:08 158606 /usr/lib64/libxcb.so.1.1.0
3326a00000-3326b39000 r-xp 00000000 08:08 158607 /usr/lib64/libX11.so.6.3.0
3326b39000-3326d39000 ---p 00139000 08:08 158607 /usr/lib64/libX11.so.6.3.0
3326d39000-3326d3f000 rw-p 00139000 08:08 158607 /usr/lib64/libX11.so.6.3.0
3327200000-3327297000 r-xp 00000000 08:08 154509 /usr/lib64/libfreetype.so.6.3.22
3327297000-3327496000 ---p 00097000 08:08 154509 /usr/lib64/libfreetype.so.6.3.22
3327496000-332749c000 rw-p 00096000 08:08 154509 /usr/lib64/libfreetype.so.6.3.22
3329200000-3329205000 r-xp 00000000 08:08 158617 /usr/lib64/libXfixes.so.3.1.0
3329205000-3329404000 ---p 00005000 08:08 158617 /usr/lib64/libXfixes.so.3.1.0
3329404000-3329405000 rw-p 00004000 08:08 158617 /usr/lib64/libXfixes.so.3.1.0
332b600000-332b602000 r-xp 00000000 08:08 158620 /usr/lib64/libXdamage.so.1.1.0
332b602000-332b801000 ---p 00002000 08:08 158620 /usr/lib64/libXdamage.so.1.1.0
332b801000-332b802000 rw-p 00001000 08:08 158620 /usr/lib64/libXdamage.so.1.1.0
332ce00000-332ce3b000 r-xp 00000000 08:08 425502 /lib64/libreadline.so.6.1
332ce3b000-332d03b000 ---p 0003b000 08:08 425502 /lib64/libreadline.so.6.1
332d03b000-332d043000 rw-p 0003b000 08:08 425502 /lib64/libreadline.so.6.1
332d043000-332d044000 rw-p 00000000 00:00 0
332d200000-332d216000 r-xp 00000000 08:08 425487 /lib64/libgcc_s-4.4.4-20100630.so.1
332d216000-332d415000 ---p 00016000 08:08 425487 /lib64/libgcc_s-4.4.4-20100630.so.1
332d415000-332d416000 rw-p 00015000 08:08 425487 /lib64/libgcc_s-4.4.4-20100630.so.1
332e600000-332e6e9000 r-xp 00000000 08:08 175583 /usr/lib64/libstdc++.so.6.0.13
332e6e9000-332e8e9000 ---p 000e9000 08:08 175583 /usr/lib64/libstdc++.so.6.0.13
332e8e9000-332e8f0000 r--p 000e9000 08:08 175583 /usr/lib64/libstdc++.so.6.0.13
332e8f0000-332e8f2000 rw-p 000f0000 08:08 175583 /usr/lib64/libstdc++.so.6.0.13
332e8f2000-332e907000 rw-p 00000000 00:00 0
332fe00000-332fe2d000 r-xp 00000000 08:08 393470 /lib64/libpcre.so.0.0.1
332fe2d000-333002c000 ---p 0002d000 08:08 393470 /lib64/libpcre.so.0.0.1
333002c000-333002d000 rw-p 0002c000 08:08 393470 /lib64/libpcre.so.0.0.1
3332600000-3332622000 r-xp 00000000 08:08 425495 /lpanic: attempted clean up apparently failed -- aborting...
Aborted (core dumped)

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by rik5 (Posted a comment)
  • -unavailable- added by None (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 2 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Thu 12 Aug 2010 05:59:09 PM UTCrik5StatusNone=>Invalid
      Open/ClosedOpen=>Closed

    Back to the top


    Powered by Savane 3.1-cleanup1