crash on "clear all" after call to "mesh"

Ben Abbott bpabbott at mac.com
Sun May 4 20:25:50 CDT 2008


On May 4, 2008, at 2:33 PM, Ben Abbott wrote:

> Bug report for Octave 3.0.0+ configured for i386-apple-darwin9.2.2
>
> Description:
> -----------
>
> I built Octave using the default branch this morning. My tip shows ...
>
> changeset:   7920:7c020c067a60
> tag:         tip
> user:        John W. Eaton <jwe at octave.org>
> date:        Sat May 03 22:48:24 2008 -0400
> summary:     F__end__: correctly handle fewer indices than dimensions
>
> I'm encounter a "panic: Bus error" crash after running a script,  
> followed by "clear all". If the commands in the script are typed  
> directly into the console and followed by a "clear all" a crash also  
> results. However, if the "clear all" is included in the script there  
> is not crash. However, any subsequent "clear all" will produce a  
> crash.
>
> Repeat-By:
> ---------
>
> # Create a simple script containing the lines below (one is attached)
> > x = linspace(0.0,1,101);
> > y = linspace(0.0,1,11);
> > [x, y] = meshgrid (x, y);
> > mesh (x, y, x.*y)
>
> Run the script, and then type "clear all"
>
> octave:1> test_crash
> octave:2> clear all
> panic: Bus error -- stopping myself...
> attempting to save variables to `octave-core'...
> save to `octave-core' complete
> Bus error
>
> Configuration (please do not edit this section):
> -----------------------------------------------
>
> uname output:     Darwin bens-macbook.local 9.2.2 Darwin Kernel  
> Version 9.2.2: Tue Mar  4 21:17:34 PST 2008; root:xnu-1228.4.31~1/ 
> RELEASE_I386 i386
> configure opts:   '--prefix=/sw' 'FLIBS=/sw/lib/gcc4.3/lib/ 
> libgfortran.dylib' 'F77=/sw/bin/gfortran' '--infodir=/sw/share/info'  
> '--mandir=/sw/share/man' '--libexecdir=/sw/lib' '-enable-shared' '- 
> enable-dl' '--disable-static' '--without-mpi' '--with-hdf5' '--with- 
> fftw' '--with-lapack=-Wl,-framework,Accelerate,-dylib_file,/System/ 
> Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/ 
> vecLib.framework/Versions/A/libLAPACK.dylib:/System/Library/ 
> Frameworks/Accelerate.framework/Versions/A/Frameworks/ 
> vecLib.framework/Versions/A/libLAPACK.dylib' '--with-blas=-Wl,- 
> framework,Accelerate,-dylib_file,/System/Library/Frameworks/ 
> Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/ 
> A/libBLAS.dylib:/System/Library/Frameworks/Accelerate.framework/ 
> Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib'  
> 'CFLAGS=-O3' 'LDFLAGS=-L/sw/lib' 'CPPFLAGS=-I/sw/include' 'CXXFLAGS=- 
> O3' 'FFLAGS=-O3'
> Fortran compiler: /sw/bin/gfortran
> FFLAGS:           -O3 -mieee-fp
> F2C:              @F2C@
> F2CFLAGS:         @F2CFLAGS@
> FLIBS:            /sw/lib/gcc4.3/lib/libgfortran.dylib
> CPPFLAGS:         -I/sw/include -I/sw/include
> INCFLAGS:         -I. -I. -I./liboctave -I./src -I./libcruft/misc
> C compiler:       gcc, version 4.0.1 (Apple Inc. build 5465)
> CFLAGS:           -O3
> CPICFLAG:         -fPIC
> C++ compiler:     g++, version 4.0.1
> CXXFLAGS:         -O3
> CXXPICFLAG:       -fPIC
> LD_CXX:           g++
> LDFLAGS:          -L/sw/lib
> LIBFLAGS:         -L.
> RLD_FLAG:
> BLAS_LIBS:        -Wl,-framework,Accelerate,-dylib_file,/System/ 
> Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/ 
> vecLib.framework/Versions/A/libLAPACK.dylib:/System/Library/ 
> Frameworks/Accelerate.framework/Versions/A/Frameworks/ 
> vecLib.framework/Versions/A/libLAPACK.dylib
> FFTW_LIBS:        -lfftw3
> LIBS:             -lreadline  -lncurses -Wl,-framework,Accelerate,- 
> dylib_file,/System/Library/Frameworks/Accelerate.framework/Versions/ 
> A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib:/System/ 
> Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/ 
> vecLib.framework/Versions/A/libBLAS.dylib -lhdf5 -lz -lm
> LEXLIB:
> LIBGLOB:
> SED:              /sw/bin/sed
> DEFS:
>
>  -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION=""
>  -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DOCTAVE_SOURCE=1
>  -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1
>  -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 - 
> DHAVE_STRINGS_H=1
>  -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 - 
> D__EXTENSIONS__=1
>  -D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1
>  -D_TANDEM_SOURCE=1 -D__EXTENSIONS__=1 -D_ALL_SOURCE=1 -D_GNU_SOURCE=1
>  -D_POSIX_PTHREAD_SEMANTICS=1 -D_TANDEM_SOURCE=1 -D__EXTENSIONS__=1
>  -D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1
>  -D_TANDEM_SOURCE=1 -DSEPCHAR=':' -DSEPCHAR_STR=":" - 
> D__NO_MATH_INLINES=1
>  -DCXX_NEW_FRIEND_TEMPLATE_DECL=1 -DCXX_ISO_COMPLIANT_LIBRARY=1
>  -DCXX_ABI=gnu_v3 -DCXX_PREPENDS_UNDERSCORE=1 -DHAVE_LIBM=1
>  -DHAVE_QHULL=1 -DHAVE_PCRE=1 -DHAVE_REGEXEC=1 -DHAVE_REGEX=1
>  -DHAVE_ZLIB_H=1 -DHAVE_ZLIB=1 -DHAVE_HDF5_H=1 -DHAVE_HDF5=1
>  -DHAVE_H5GGET_NUM_OBJS=1 -DHAVE_FFTW3=1 -DHAVE_GLPK_H=1 -DHAVE_GLPK=1
>  -DHAVE_CURL_CURL_H=1 -DHAVE_CURL=1 -DHAVE_IEEE754_DATA_FORMAT=1
>  -DF77_FUNC(name,NAME)=name ## _ -DF77_FUNC_(name,NAME)=name ## _
>  -DHAVE_SUITESPARSE_AMD_H=1 -DHAVE_AMD=1 - 
> DHAVE_SUITESPARSE_UMFPACK_H=1
>  -DHAVE_UMFPACK=1 -DUMFPACK_SEPARATE_SPLIT=1 - 
> DHAVE_SUITESPARSE_COLAMD_H=1
>  -DHAVE_COLAMD=1 -DHAVE_SUITESPARSE_CCOLAMD_H=1 -DHAVE_CCOLAMD=1
>  -DHAVE_SUITESPARSE_CHOLMOD_H=1 -DHAVE_CHOLMOD=1 - 
> DHAVE_SUITESPARSE_CS_H=1
>  -DHAVE_CXSPARSE=1 -DHAVE_GETHOSTNAME=1 -DHAVE_GETPWNAM=1 - 
> DHAVE_DEV_T=1
>  -DHAVE_INO_T=1 -DHAVE_NLINK_T=1 -DHAVE_NLINK_T=1 - 
> DHAVE_LONG_LONG_INT=1
>  -DHAVE_UNSIGNED_LONG_LONG_INT=1 -DHAVE_SIGSET_T=1 - 
> DHAVE_SIG_ATOMIC_T=1
>  -DSIZEOF_SHORT=2 -DSIZEOF_INT=4 -DSIZEOF_LONG=4 -DSIZEOF_LONG_LONG=8
>  -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DNPOS=std::string::npos
>  -DHAVE_PLACEMENT_DELETE=1 -DHAVE_DYNAMIC_AUTO_ARRAYS=1 - 
> 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_GRP_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_LIMITS_H=1
>  -DHAVE_LOCALE_H=1 -DHAVE_MEMORY_H=1 -DHAVE_NCURSES_H=1 - 
> DHAVE_POLL_H=1
>  -DHAVE_PWD_H=1 -DHAVE_STDINT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1
>  -DHAVE_SYS_IOCTL_H=1 -DHAVE_SYS_PARAM_H=1 -DHAVE_SYS_POLL_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_UNISTD_H=1
>  -DHAVE_UTIME_H=1 -DHAVE_SSTREAM=1 -DHAVE_SGTTY_H=1 -DHAVE_GLOB_H=1
>  -DHAVE_FNMATCH_H=1 -DHAVE_FNMATCH=1 -DHAVE_GLOB=1 -DHAVE_ATEXIT=1
>  -DHAVE_BASENAME=1 -DHAVE_BCOPY=1 -DHAVE_BZERO=1 -DHAVE_CHMOD=1
>  -DHAVE_DUP2=1 -DHAVE_ENDGRENT=1 -DHAVE_ENDPWENT=1 -DHAVE_EXECVP=1
>  -DHAVE_EXPM1=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_GETPGRP=1 -DHAVE_GETPID=1
>  -DHAVE_GETPPID=1 -DHAVE_GETPWENT=1 -DHAVE_GETPWUID=1 - 
> DHAVE_GETTIMEOFDAY=1
>  -DHAVE_GETUID=1 -DHAVE_GETWD=1 -DHAVE_KILL=1 -DHAVE_LGAMMA=1
>  -DHAVE_LINK=1 -DHAVE_LOCALTIME_R=1 -DHAVE_LOG1P=1 -DHAVE_LSTAT=1
>  -DHAVE_MEMMOVE=1 -DHAVE_MKDIR=1 -DHAVE_MKFIFO=1 -DHAVE_MKSTEMP=1
>  -DHAVE_PIPE=1 -DHAVE_POLL=1 -DHAVE_PUTENV=1 -DHAVE_RAISE=1
>  -DHAVE_READLINK=1 -DHAVE_REALPATH=1 -DHAVE_RENAME=1 -DHAVE_RINDEX=1
>  -DHAVE_RMDIR=1 -DHAVE_ROUND=1 -DHAVE_SELECT=1 -DHAVE_SETGRENT=1
>  -DHAVE_SETLOCALE=1 -DHAVE_SETPWENT=1 -DHAVE_SETVBUF=1 - 
> DHAVE_SIGACTION=1
>  -DHAVE_SIGLONGJMP=1 -DHAVE_SIGPENDING=1 -DHAVE_SIGPROCMASK=1
>  -DHAVE_SIGSUSPEND=1 -DHAVE_SNPRINTF=1 -DHAVE_STAT=1 - 
> DHAVE_STRCASECMP=1
>  -DHAVE_STRDUP=1 -DHAVE_STRERROR=1 -DHAVE_STRNCASECMP=1 - 
> DHAVE_STRPTIME=1
>  -DHAVE_STRSIGNAL=1 -DHAVE_SYMLINK=1 -DHAVE_TEMPNAM=1 -DHAVE_TGAMMA=1
>  -DHAVE_TRUNC=1 -DHAVE_UMASK=1 -DHAVE_UNAME=1 -DHAVE_UNLINK=1
>  -DHAVE_USLEEP=1 -DHAVE_UTIME=1 -DHAVE_VFPRINTF=1 -DHAVE_VSPRINTF=1
>  -DHAVE_VSNPRINTF=1 -DHAVE_WAITPID=1 -DHAVE_STRFTIME=1 - 
> DHAVE_DYLD_API=1
>  -DENABLE_DYNAMIC_LINKING=1 -DHAVE_TIMEVAL=1 -DHAVE_FINITE=1
>  -DHAVE_ISNAN=1 -DHAVE_ISINF=1 -DHAVE_COPYSIGN=1 -DHAVE_DECL_SIGNBIT=1
>  -DHAVE_ACOSH=1 -DHAVE_ASINH=1 -DHAVE_ATANH=1 -DHAVE_ERF=1 - 
> DHAVE_ERFC=1
>  -DHAVE_EXP2=1 -DHAVE_LOG2=1 -DHAVE_STRUCT_STAT_ST_BLKSIZE=1
>  -DHAVE_STRUCT_STAT_ST_BLOCKS=1 -DHAVE_STRUCT_STAT_ST_RDEV=1
>  -DHAVE_STRUCT_TM_TM_ZONE=1 -DHAVE_TM_ZONE=1 -DUSE_READLINE=1
>  -DEXCEPTION_IN_MATH=1 -DRETSIGTYPE=void -DHAVE_DECL_SYS_SIGLIST=1
>  -DHAVE_POSIX_SIGNALS=1 -DRETSIGTYPE_IS_VOID=1 -DHAVE_GETRUSAGE=1
>  -DHAVE_TIMES=1 -DYYTEXT_POINTER=1
>
> <test_crash.m>

Ok, I noticed two new entries and recompiled this evening. Now after  
running my simple test script which produces a mesh plot, when I  
"clear all", I get this ...

octave:1> test_crash
octave:2> clear all
clearing: EDITOR
clearing: EXEC_PATH
clearing: F_DUPFD
clearing: F_GETFD
clearing: F_GETFL
clearing: F_SETFD
clearing: F_SETFL
clearing: I
clearing: IMAGE_PATH
clearing: Inf
clearing: J
clearing: NA
clearing: NaN
clearing: OCTAVE_HOME
clearing: OCTAVE_VERSION
clearing: O_APPEND
clearing: O_ASYNC
clearing: O_CREAT
clearing: O_EXCL
clearing: O_NONBLOCK
clearing: O_RDONLY
clearing: O_RDWR
clearing: O_SYNC
clearing: O_TRUNC
clearing: O_WRONLY
clearing: PAGER
clearing: PAGER_FLAGS
clearing: PS1
clearing: PS2
clearing: PS4
clearing: P_tmpdir
clearing: SEEK_CUR
clearing: SEEK_END
clearing: SEEK_SET
clearing: SIG
clearing: S_ISBLK
clearing: S_ISCHR
clearing: S_ISDIR
clearing: S_ISFIFO
clearing: S_ISLNK
clearing: S_ISREG
clearing: S_ISSOCK
clearing: WCONTINUE
clearing: WCOREDUMP
clearing: WEXITSTATUS
clearing: WIFCONTINUED
clearing: WIFEXITED
clearing: WIFSIGNALED
clearing: WIFSTOPPED
clearing: WNOHANG
clearing: WSTOPSIG
clearing: WTERMSIG
clearing: WUNTRACED
clearing: __calc_dimensions__
clearing: __display_tokens__
clearing: __do_enhanced_option__
clearing: __end__
clearing: __error_text__
clearing: __get__
clearing: __gnuplot_version__
clearing: __gnuplot_write_data__
clearing: __go_axes__
clearing: __go_axes_init__
clearing: __go_delete__
clearing: __go_draw_axes__
clearing: __go_draw_figure__
clearing: __go_figure__
clearing: __go_figure_handles__
clearing: __go_handles__
clearing: __go_image__
clearing: __go_line__
clearing: __go_patch__
clearing: __go_surface__
clearing: __go_text__
clearing: __gud_mode__
clearing: __maybe_munge_text__
panic: Segmentation fault -- stopping myself...
attempting to save variables to `octave-core'...
save to `octave-core' complete
Segmentation fault

I'm using the default branch and my tip is now

changeset:   7922:87d63ac46525
tag:         tip
user:        John W. Eaton <jwe at octave.org>
date:        Sun May 04 15:11:24 2008 -0400
summary:     remove useless statement from tree_identifier constructor

Ben



More information about the Bug-octave mailing list