On Sat, Apr 05, 2014 at 15:19:31 +0800, Hörmetjan Yiltiz wrote:
> This bug was introduced after upgrading to Octave 3.8.1-1+b1,
> and the bug was not there in 3.8.0 (I am not sure about this
> version number. I can only remember that it was already 3.8,
> introducing the experimental gui).
It was actually likely introduced by recent changes in the mesa package.
It looks like it transitioned to testing around the same time that
Octave did. If you like you can try to revert to Octave 3.8.0 from
snapshot.debian.org, you will probably have the same error.
This sounds like #743260. Can you get a backtrace of your error and
verify that the segfault is in the llvm::TargetRegistry::lookupTarget
function?
> graphics_toolkit ("gnuplot")
> plot(1:4)
But this does save us from the segfault in psychtoolbox, which seems to be caused for the same reason:
~> gdb --args /usr/bin/octave --persist --eval "DotRotDemo"
GNU gdb (GDB) 7.6.2 (Debian 7.6.2-1)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/octave...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/octave --persist --eval DotRotDemo
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
process 8494 is executing new program: /usr/bin/octave-cli
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
GNU Octave, version 3.8.1
Copyright (C) 2014 John W. Eaton and others.
This is free software; see the source code for copying conditions.
There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. For details, type 'warranty'.
Octave was configured for "x86_64-pc-linux-gnu".
Additional information about Octave is available at http://www.octave.org.
Please contribute if you find this software useful.
For more information, visit http://www.octave.org/get-involved.html
Read http://www.octave.org/bugs.html to learn how to submit bug reports.
For information about changes from previous versions, type 'news'.
warning: function name 'DotDemo' does not agree with function file name '/usr/share/octave/site/m/psychtoolbox-3/PsychDemos/DotRotDemo.m'
PTB-INFO: Display ':0' : X-Screen 0 : Assigning primary output as 2 with RandR-CRTC 0 and GPU-CRTC 1.
doublebuffer = 1
PTB-INFO: This is Psychtoolbox-3 for GNU/Linux X11, under GNU/Octave-3 64-Bit (Version 3.0.11 - Build date: Mar 1 2014).
PTB-INFO: Type 'PsychtoolboxVersion' for more detailed version information.
PTB-INFO: Most parts of the Psychtoolbox distribution are licensed to you under terms of the MIT License, with
PTB-INFO: some restrictions. See file 'License.txt' in the Psychtoolbox root folder for the exact licensing conditions.
[New Thread 0x7fffdf14f700 (LWP 8814)]
PTB-INFO: Advanced Micro Devices, Inc. [AMD/ATI] - RV710/M92 [Mobility Radeon HD 4530/4570/545v] GPU found. Trying to establish low-level access...
PTB-INFO: Connected to Advanced Micro Devices, Inc. [AMD/ATI] RV710/M92 [Mobility Radeon HD 4530/4570/545v] GPU with AVIVO display engine [2 heads]. Beamposition timestamping enabled.
Program received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt
#0 0x0000000000000000 in ?? ()
#1 0x00007ffff1f12779 in llvm::TargetRegistry::lookupTarget(std::string const&, std::string&) ()
from /usr/lib/x86_64-linux-gnu/libLLVM-3.3.so.1
#2 0x00007ffff19b27a1 in llvm::EngineBuilder::selectTarget(llvm::Triple const&, llvm::StringRef, llvm::StringRef, llvm::SmallVectorImpl<std::string> const&) () from /usr/lib/x86_64-linux-gnu/libLLVM-3.3.so.1
#3 0x00007fffe125fbc8 in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#4 0x00007fffe123c77d in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#5 0x00007fffe125c692 in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#6 0x00007fffe125dbf5 in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#7 0x00007fffe116cfdf in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#8 0x00007fffe1165f1f in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#9 0x00007fffe11663ef in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#10 0x00007fffe1086e85 in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#11 0x00007fffe1080ceb in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#12 0x00007fffe0ffc313 in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#13 0x00007fffe4d3a3a8 in PsychOpenOnscreenWindow () from /usr/share/octave/site/m/psychtoolbox-3/PsychBasic/Screen.mex
#14 0x00007fffe4d5e055 in SCREENOpenWindow () from /usr/share/octave/site/m/psychtoolbox-3/PsychBasic/Screen.mex
#15 0x00007fffe4d70be9 in mexFunction () from /usr/share/octave/site/m/psychtoolbox-3/PsychBasic/Screen.mex
#16 0x00007ffff771e569 in call_mex(bool, void*, octave_value_list const&, int, octave_mex_function*) ()
from /usr/lib/x86_64-linux-gnu/liboctinterp.so.2
#17 0x00007ffff739b8e6 in octave_mex_function::do_multi_index_op(int, octave_value_list const&) ()
from /usr/lib/x86_64-linux-gnu/liboctinterp.so.2
#18 0x00007ffff739b063 in octave_mex_function::subsref(std::string const&, std::list<octave_value_list, std::allocator<octave_value_list> > const&, int) () from /usr/lib/x86_64-linux-gnu/liboctinterp.so.2
#19 0x00007ffff731141a in octave_base_value::subsref(std::string const&, std::list<octave_value_list, std::allocator<octave_value_list> > const&, int, std::list<octave_lvalue, std::allocator<octave_lvalue> > const*) () from /usr/lib/x86_64-linux-gnu/liboctinterp.so.2
#20 0x00007ffff73d4456 in octave_value::subsref(std::string const&, std::list<octave_value_list, std::allocator<octave_value_list> > const&, int, std::list<octave_lvalue, std::allocator<octave_lvalue> > const*) () from /usr/lib/x86_64-linux-gnu/liboctinterp.so.2
#21 0x00007ffff743f32f in tree_index_expression::rvalue(int, std::list<octave_lvalue, std::allocator<octave_lvalue> > const*) ()
from /usr/lib/x86_64-linux-gnu/liboctinterp.so.2
#22 0x00007ffff742a03d in tree_multi_assignment::rvalue(int) () from /usr/lib/x86_64-linux-gnu/liboctinterp.so.2
#23 0x00007ffff742948a in tree_multi_assignment::rvalue1(int) () from /usr/lib/x86_64-linux-gnu/liboctinterp.so.2
#24 0x00007ffff7435508 in tree_evaluator::visit_statement(tree_statement&) () from /usr/lib/x86_64-linux-gnu/liboctinterp.so.2
---Type <return> to continue, or q <return> to quit---
#25 0x00007ffff7434a21 in tree_evaluator::visit_statement_list(tree_statement_list&) ()
from /usr/lib/x86_64-linux-gnu/liboctinterp.so.2
#26 0x00007ffff743668c in tree_evaluator::visit_try_catch_command(tree_try_catch_command&) ()
from /usr/lib/x86_64-linux-gnu/liboctinterp.so.2
#27 0x00007ffff7435445 in tree_evaluator::visit_statement(tree_statement&) () from /usr/lib/x86_64-linux-gnu/liboctinterp.so.2
#28 0x00007ffff7434a21 in tree_evaluator::visit_statement_list(tree_statement_list&) ()
from /usr/lib/x86_64-linux-gnu/liboctinterp.so.2
#29 0x00007ffff73cd6e3 in octave_user_function::do_multi_index_op(int, octave_value_list const&, std::list<octave_lvalue, std::allocator<octave_lvalue> > const*) () from /usr/lib/x86_64-linux-gnu/liboctinterp.so.2
#30 0x00007ffff73c8840 in octave_user_function::do_multi_index_op(int, octave_value_list const&) ()
from /usr/lib/x86_64-linux-gnu/liboctinterp.so.2
#31 0x00007ffff73d4481 in octave_value::do_multi_index_op(int, octave_value_list const&) ()
from /usr/lib/x86_64-linux-gnu/liboctinterp.so.2
#32 0x00007ffff743b36a in tree_identifier::rvalue(int, std::list<octave_lvalue, std::allocator<octave_lvalue> > const*) ()
from /usr/lib/x86_64-linux-gnu/liboctinterp.so.2
#33 0x00007ffff743ba8f in tree_identifier::rvalue(int) () from /usr/lib/x86_64-linux-gnu/liboctinterp.so.2
#34 0x00007ffff746bdb8 in eval_string(std::string const&, bool, int&, int) () from /usr/lib/x86_64-linux-gnu/liboctinterp.so.2
#35 0x00007ffff702ae1d in octave_execute_interpreter () from /usr/lib/x86_64-linux-gnu/liboctinterp.so.2
#36 0x00007ffff493ab45 in __libc_start_main (main=0x4008c0, argc=4, argv=0x7fffffffe668, init=<optimized out>, fini=<optimized out>,
rtld_fini=<optimized out>, stack_end=0x7fffffffe658) at libc-start.c:287
#37 0x000000000040094f in ?? ()
--
mike