emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Crash with etags


From: Dr. Werner Fink
Subject: Crash with etags
Date: Wed, 16 Jul 2014 11:19:18 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

Hi,

after installing the linux kernel sources, I see

     cd /usr/src/linux
     ulimit -c unlimited
     make TAGS
       GEN     TAGS
     xargs: etags: terminated by signal 11
     gdb /usr/bin/etags core
     [...]
     Reading symbols from /usr/bin/etags...Reading symbols from 
/usr/lib/debug/usr/bin/etags.debug...done.
     done.
     [New LWP 14768]
     Core was generated by `etags -a --regex=^\(ENTRY\|_GLOBAL\)(\([^)]*\)).* 
\2 / --regex=^SYSCALL_DEFINE['.
     Program terminated with signal SIGSEGV, Segmentation fault.
     #0  __memcpy_sse2_unaligned () at 
../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:37
     37      ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S: No such file 
or directory.
     (gdb) up
     #1  0x000000000040376c in memcpy (__len=90, __src=<optimized out>, 
__dest=0x18ea090) at /usr/include/bits/string3.h:51
     51        return __builtin___memcpy_chk (__dest, __src, __len, __bos0 
(__dest));
     (gdb) up
     #2  substitute (in=0x17048f0 "ENTRY(lguest_entry)", out=0x1707301 "2", 
regs=0x1705dc8, regs=0x1705dc8)
         at /usr/src/debug/emacs-24.3/lib-src/etags.c:5792
     5792            memcpy (t, in + regs->start[dig], diglen);
     (gdb) list   
     5787      for (t = result; *out != '\0'; out++)
     5788        if (*out == '\\' && ISDIGIT (*++out))
     5789          {
     5790            dig = *out - '0';
     5791            diglen = regs->end[dig] - regs->start[dig];
     5792            memcpy (t, in + regs->start[dig], diglen);
     5793            t += diglen;
     5794          }
     5795        else
     5796          *t++ = *out;
     (gdb) print *out - '0'
     $1 = 2
     (gdb) print regs->end[dig] - regs->start[dig] 
     value has been optimized out
     (gdb) print regs->end[dig]                   
     value has been optimized out
     (gdb) print regs          
     $2 = (struct re_registers *) 0x1705dc8
     (gdb) print *regs
     $3 = {num_regs = 4, start = 0x18d1d40, end = 0x18d4fc0}
     (gdb) print *regs->end
     $4 = 21474836499
     (gdb) print regs->end
     $5 = (regoff_t *) 0x18d4fc0
     (gdb) print *regs->end
     $6 = 21474836499
     (gdb) print *regs->start
     $7 = 0
     (gdb) print *regs->end[2]
     Cannot access memory at address 0x70000000000005f

I've also an other bug report about etags and kernel source tree, see
the cloned bug at http://rudin.suse.de:8888/show_bug.cgi?id=887483

Werner

-- 
  "Having a smoking section in a restaurant is like having
          a peeing section in a swimming pool." -- Edward Burr

Attachment: pgpjwqr43Zqam.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]