Actually, this one was being debugged last night, with the discussion
primarily being done off-list.

Please let me know if there are still problems.

Regards,
Elias


On 4 May 2014 09:27, David B. Lamkins <dlamk...@gmail.com> wrote:

> Ah, I didn't realize I was so far behind. Thanks for the heads-up! :)
>
> On Sun, 2014-05-04 at 08:20 +0800, Elias Mårtenson wrote:
> > This was just fixed, actually. You might want to try with the latest
> > version. It should work now.
> >
> > Regards,
> > Elias
> >
> > On 4 May 2014 02:45, "David B. Lamkins" <dlamk...@gmail.com> wrote:
> >         I was able to get a core dump of the segfault caused by
> >         attempting to
> >         )load an APL file with Emacs mode active.
> >
> >         [dlamkins@morganthe ~]$ gdb `which apl` -c core.2134
> >         GNU gdb (GDB) Fedora 7.6.50.20130731-19.fc20
> >         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-redhat-linux-gnu".
> >         Type "show configuration" for configuration details.
> >         For bug reporting instructions, please see:
> >         <http://www.gnu.org/software/gdb/bugs/>.
> >         Find the GDB manual and other documentation resources online
> >         at:
> >         <http://www.gnu.org/software/gdb/documentation/>.
> >         For help, type "help".
> >         Type "apropos word" to search for commands related to "word".
> >         ..
> >         Reading symbols from /usr/local/bin/apl...done.
> >         [New LWP 2134]
> >         [New LWP 2138]
> >         [New LWP 2137]
> >         [Thread debugging using libthread_db enabled]
> >         Using host libthread_db library "/lib64/libthread_db.so.1".
> >         Core was generated by `/usr/local/bin/apl --rawCIN --emacs'.
> >         Program terminated with signal SIGSEGV, Segmentation fault.
> >         #0  0x00007fd8c85b1098 in ?? () from /lib64/libgcc_s.so.1
> >         Missing separate debuginfos, use: debuginfo-install
> >         blas-3.4.2-3.fc20.x86_64 glibc-2.18-12.fc20.x86_64
> >         lapack-3.4.2-3.fc20.x86_64 libgcc-4.8.2-7.fc20.x86_64
> >         libgfortran-4.8.2-7.fc20.x86_64 libgomp-4.8.2-7.fc20.x86_64
> >         libquadmath-4.8.2-7.fc20.x86_64 libstdc++-4.8.2-7.fc20.x86_64
> >         ncurses-libs-5.9-12.20130511.fc20.x86_64
> >         readline-6.2-8.fc20.x86_64
> >         (gdb) bt
> >         #0  0x00007fd8c85b1098 in ?? () from /lib64/libgcc_s.so.1
> >         #1  0x00007fd8c85b1f99 in _Unwind_Backtrace ()
> >         from /lib64/libgcc_s.so.1
> >         #2  0x00007fd8c82e61e6 in backtrace () from /lib64/libc.so.6
> >         #3  0x00000000004448a0 in Backtrace::show (
> >             file=file@entry=0x533480 "main.cc", line=line@entry=122)
> >             at Backtrace.cc:276
> >         #4  0x000000000047a72a in signal_SEGV_handler () at
> >         main.cc:122
> >         #5  <signal handler called>
> >         #6  0x00007fd8c1547730 in ?? ()
> >         #7  0x0000000000476307 in Input::get_user_line (
> >             prompt=0x80f230 <Workspace::the_workspace+527600>) at
> >         Input.cc:223
> >         #8  0x00000000004765f4 in Input::get_line () at Input.cc:150
> >         #9  0x0000000000461f2d in Command::process_line () at
> >         Command.cc:61
> >         #10 0x0000000000522e9d in Workspace::immediate_execution
> >         (exit_on_error=false)
> >             at Workspace.cc:129
> >         #11 0x00000000004352d5 in main (argc=3, _argv=<optimized out>)
> >         at
> >         main.cc:466
> >         (gdb) quit
> >         [dlamkins@morganthe ~]$
> >
> >         This is with svn 235.
> >
> >         Input.cc:223 is the (*start_input)() call:
> >
> >         const unsigned char *
> >         Input::get_user_line(const UCS_string * prompt)
> >         {
> >            if (start_input)   (*start_input)();
> >            ...
> >
> >         which, I think (determined by code inspection; not gdb),
> >         points to
> >         active_disable in emacs.cc. That, in turn, ultimately invokes
> >         set_active():
> >
> >         void set_active( bool v )
> >         {
> >             pthread_mutex_lock( &apl_main_lock );
> >             if( !apl_active && !v ) {
> >                 std::cerr << "Unlocking while the lock is unlocked" <<
> >         std::endl;
> >                 abort();
> >             }
> >             if( v ) {
> >                 while( apl_active ) {
> >                     pthread_cond_wait( &apl_main_cond, &apl_main_lock
> >         );
> >                 }
> >             }
> >             apl_active = v;
> >             pthread_cond_broadcast( &apl_main_cond );
> >             pthread_mutex_unlock( &apl_main_lock );
> >         }
> >
> >
> >
>
>
>

Reply via email to