From bug-octave-request at bevo dot che dot wisc dot edu Fri Jan 29 02:02:51 1999 Subject: Bessel Functions of the Second Kind Crash From: "Rafael R. Sevilla 94-22131" To: bug-octave at bevo dot che dot wisc dot edu Date: Fri, 29 Jan 1999 15:35:11 -0800 (GMT) Bug report for Octave 2.0.13 configured for i386-redhat-linux-gnu Description: ----------- * Using the Bessel functions of the second kind (bessely) crashes Octave, given arguments which are nonzero for order zero. * Bessel Y for zero arguments for any order (including zero) give a misleading error message (I think it should return -inf and warn of a singularity, see below) Repeat-By: --------- octave:1> bessely(0,x) for any nonzero value of x will instantly crash Octave with a segmentation fault. The octave-core file is empty. Bessel Y with zero arguments for any order gives a cryptic and misleading error message: octave:1> bessely(n,0) error: bessely: error computing function values error: evaluating index expression near line 1, column 1 where n is any order number (this happens even for order zero). This doesn't return anything! The Bessel functions of the second kind have a singularity at zero and in this case it should act like the csc(x) function and return -Inf as its function value and warn about a singularity. Besides, where's the 'index expression' there? Fix: --- (Sorry. I've never been able to compile the sources for Octave on my machine. If GCC doesn't sig 11 it comes up with a mysterious error message somewhere that I don't see when compiling anything else. This has happened for Octave 1.1.1 on my old Slackware machine and for Octave 2.0.11 and 2.0.13 on my current Red Hat machine. And while I'd like to think I have a lot of knowledge on numerical algorithms, I have a real distaste for C++ programming bordering on "religious intolerance.") Configuration (please do not edit this section): ----------------------------------------------- uname output: Linux altair 2.2.0-pre6 #2 Thu Jan 21 06:10:46 PHT 1999 i586 unknown configure opts: --prefix=/usr --with-g77 --enable-dl --enable-shared --enable-rpath --enable-lite-kernel --host i386-redhat-linux-gnu Fortran compiler: g77 FFLAGS: -O F2C: F2CFLAGS: FLIBS: -L/usr/lib/gcc-lib/i586-linux/egcs-2.90.29 -lf2c -lm CPPFLAGS: INCFLAGS: -I/usr/include -I/usr/include/octave-2.0.13 C compiler: gcc, version 2.90.29 980515 (egcs-1.0.3 release) CFLAGS: -DHAVE_CONFIG_H -mieee-fp -O2 -m486 -fno-strength-reduce CPICFLAG: -fPIC C++ compiler: c++, version 2.90.29 980515 (egcs-1.0.3 release) CXXFLAGS: -DHAVE_CONFIG_H -mieee-fp -fno-rtti -fno-exceptions -fno-implicit-templates -O2 -m486 -fno-strength-reduce CXXPICFLAG: -fPIC LDFLAGS: -g LIBFLAGS: -L/usr/lib/octave-2.0.13 RLD_FLAG: -Xlinker -rpath -Xlinker /usr/lib/octave-2.0.13 TERMLIBS: -lncurses LIBS: LEXLIB: LIBPLPLOT: LIBDLFCN: DEFS: -DOCTAVE_SOURCE=1 -DSEPCHAR=':' -DSEPCHAR_STR=":" -DUSE_READLINE=1 -DCXX_NEW_FRIEND_TEMPLATE_DECL=1 -DF77_APPEND_UNDERSCORE=1 -DOCTAVE_LITE=1 -DSIZEOF_SHORT=2 -DSIZEOF_INT=4 -DSIZEOF_LONG=4 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DNPOS=string::npos -DSTDC_HEADERS=1 -DHAVE_DIRENT_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_SYS_WAIT_H=1 -DHAVE_ASSERT_H=1 -DHAVE_CURSES_H=1 -DHAVE_DLFCN_H=1 -DHAVE_FCNTL_H=1 -DHAVE_FLOAT_H=1 -DHAVE_FNMATCH_H=1 -DHAVE_GLOB_H=1 -DHAVE_GRP_H=1 -DHAVE_LIMITS_H=1 -DHAVE_MEMORY_H=1 -DHAVE_NAN_H=1 -DHAVE_NCURSES_H=1 -DHAVE_PWD_H=1 -DHAVE_SGTTY_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_SYS_PARAM_H=1 -DHAVE_SYS_RESOURCE_H=1 -DHAVE_SYS_SELECT_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_TIMES_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_UTSNAME_H=1 -DHAVE_TERMCAP_H=1 -DHAVE_TERMIO_H=1 -DHAVE_TERMIOS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_VARARGS_H=1 -DHAVE_FNMATCH=1 -DHAVE_GLOB=1 -DHAVE_ATEXIT=1 -DHAVE_BCOPY=1 -DHAVE_BZERO=1 -DHAVE_DUP2=1 -DHAVE_ENDGRENT=1 -DHAVE_ENDPWENT=1 -DHAVE_EXECVP=1 -DHAVE_FCNTL=1 -DHAVE_FORK=1 -DHAVE_GETCWD=1 -DHAVE_GETEGID=1 -DHAVE_GETEUID=1 -DHAVE_GETGID=1 -DHAVE_GETGRENT=1 -DHAVE_GETGRGID=1 -DHAVE_GETGRNAM=1 -DHAVE_GETHOSTNAME=1 -DHAVE_GETPGRP=1 -DHAVE_GETPID=1 -DHAVE_GETPPID=1 -DHAVE_GETPWENT=1 -DHAVE_GETPWNAM=1 -DHAVE_GETPWUID=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_GETUID=1 -DHAVE_GETWD=1 -DHAVE_LSTAT=1 -DHAVE_MEMMOVE=1 -DHAVE_MKDIR=1 -DHAVE_MKFIFO=1 -DHAVE_ON_EXIT=1 -DHAVE_PIPE=1 -DHAVE_PUTENV=1 -DHAVE_RENAME=1 -DHAVE_RINDEX=1 -DHAVE_RMDIR=1 -DHAVE_SETGRENT=1 -DHAVE_SETPWENT=1 -DHAVE_SETVBUF=1 -DHAVE_SIGACTION=1 -DHAVE_SIGPENDING=1 -DHAVE_SIGPROCMASK=1 -DHAVE_SIGSUSPEND=1 -DHAVE_STAT=1 -DHAVE_STRCASECMP=1 -DHAVE_STRDUP=1 -DHAVE_STRERROR=1 -DHAVE_STRNCASECMP=1 -DHAVE_TEMPNAM=1 -DHAVE_UMASK=1 -DHAVE_UNLINK=1 -DHAVE_USLEEP=1 -DHAVE_VFPRINTF=1 -DHAVE_VSPRINTF=1 -DHAVE_WAITPID=1 -DSMART_PUTENV=1 -DHAVE_PROGRAM_INVOCATION_NAME=1 -DHAVE_LIBDL=1 -DHAVE_DLOPEN=1 -DHAVE_DLSYM=1 -DHAVE_DLERROR=1 -DHAVE_DLCLOSE=1 -DWITH_DL=1 -DWITH_DYNAMIC_LINKING=1 -DHAVE_LIBM=1 -DHAVE_FINITE=1 -DHAVE_ISNAN=1 -DHAVE_ISINF=1 -DHAVE_ACOSH=1 -DHAVE_ASINH=1 -DHAVE_ATANH=1 -DHAVE_ERF=1 -DHAVE_ERFC=1 -DHAVE_ST_BLKSIZE=1 -DHAVE_ST_BLOCKS=1 -DHAVE_ST_RDEV=1 -DHAVE_TM_ZONE=1 -DHAVE_GR_PASSWD=1 -DEXCEPTION_IN_MATH=1 -DRETSIGTYPE=void -DSYS_SIGLIST_DECLARED=1 -DHAVE_SYS_SIGLIST=1 -DHAVE_POSIX_SIGNALS=1 -DHAVE_GETRUSAGE=1 -DHAVE_TIMES=1 ------------------------------------------------------------------------ | Rafael R. Sevilla rsevilla at eee dot upd dot edu dot ph| | | Instrumentation, Robotics, and Control Laboratory | | College of Engineering, University of the Philippines, Diliman | ------------------------------------------------------------------------