bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#4233: elp (profiler) / broken functions


From: Andreas Politz, INF-I-MA
Subject: bug#4233: elp (profiler) / broken functions
Date: Sat, 22 Aug 2009 13:22:50 +0200

Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.

Your bug report will be posted to the bug-gnu-emacs@gnu.org mailing list,
and to the gnu.emacs.bug news group.

Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:



There are some more functions elp does not handle well
and may break emacs severely.  They should be included in 
`elp-not-profilable'.

1. Function which breaks after instrumenting :
+

2. Functions which can not be restored properly :
byte-code-function-p
functionp
byte-code
subrp
indirect-function
fboundp

I checked this by trial-and-error with the following code.

(progn
  (require 'cl)
  (require 'elp)
  (let ((fn
         (mapcar #'intern
                 (all-completions
                  "" obarray
                  #'(lambda (sym)
                      (and (elp-profilable-p sym)
                           (not (memq sym
                                      '(+
                                        byte-code-function-p
                                        functionp
                                        byte-code
                                        subrp
                                        indirect-function
                                        fboundp
                                        )))))))))
    (dolist (f fn)
      (setq cur f)
      (elp-instrument-function f)
      (elp-restore-function f)
      (when (and (listp (symbol-function cur))
                 (eq (car (symbol-function cur))
                     'lambda)
                 (listp (caddr (symbol-function cur)))
                 (eq (caaddr (symbol-function cur))
                     'elp-wrapper))
        (goto-char (point-max))
        (insert (format "%s\n" cur))
        (save-buffer)))))





If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
/home/politza/src/emacs-23.1.rc1/etc/DEBUG for instructions.


In GNU Emacs 23.1.1 (x86_64-pc-linux-gnu, GTK+ Version 2.16.1)
 of 2009-08-08 on raven
Windowing system distributor `The X.Org Foundation', version 11.0.10402000
configured using `configure  '--build' 'x86_64-linux-gnu' '--prefix=/usr'
'--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' 'CFLAGS=-g
-O2' 'LDFLAGS=-Wl,-z,defs' 'build_alias=x86_64-linux-gnu' 'CPPFLAGS=''

Important settings:
  value of $LC_ALL: C
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: nil
  default-enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  tooltip-mode: t
  tool-bar-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t








reply via email to

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