unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#11724: 24.1; emacs freeze (full hang, ctrl+G or kill -15 do not help) on rope lucky assist
@ 2012-06-16  6:36 Alex V. Koval
  2012-06-25  0:59 ` Glenn Morris
  2015-12-25 23:16 ` Lars Ingebrigtsen
  0 siblings, 2 replies; 6+ messages in thread
From: Alex V. Koval @ 2012-06-16  6:36 UTC (permalink / raw)
  To: 11724

[-- Attachment #1: Type: text/plain, Size: 46017 bytes --]

This bug report will be sent to the Bug-GNU-Emacs mailing list
and the GNU bug tracker at debbugs.gnu.org.  Please check that
the From: line contains a valid email address.  After a delay of up
to one day, you should receive an acknowledgement at that address.

Please write in English if possible, as the Emacs maintainers
usually do not have translators for other languages.

Please describe exactly what actions triggered the bug, and
the precise symptoms of the bug.  If you can, give a recipe
starting from `emacs -Q':

1. Have installed rope, pymacs and ropemacs packages of current versions
avk-v131 ~ # easy_install ropemacs
Searching for ropemacs
Best match: ropemacs 0.6
Processing ropemacs-0.6-py2.7.egg
ropemacs 0.6 is already the active version in easy-install.pth

Using /usr/lib64/python2.7/site-packages/ropemacs-0.6-py2.7.egg

2.

(require 'pymacs)
(pymacs-load "ropemacs" "rope-")

3. Open pyton file. try to autocomplete on line 241 (remove part of
False, like Fa and then call rope-lucky-assist.

4. Emacs is hang completely and does not react to Ctrl+G. It does
tries to say that it will save and quite on trying kill -15, but then
it still hangs.

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'.
For information about debugging Emacs, please read the file
/usr/share/emacs/24.1/etc/DEBUG.

 (gdb) xbacktrace 
"accept-process-output" (0xffffa710)
"if" (0xffffa998)
"unless" (0xffffab08)
"while" (0xffffad38)
"progn" (0xffffaef8)
"unwind-protect" (0xffffb098)
"let" (0xffffb338)
"save-match-data" (0xffffb4a8)
"save-excursion" (0xffffb6a8)
"let*" (0xffffb928)
"save-current-buffer" (0xffffbb18)
"with-current-buffer" (0xffffbc88)
"pymacs-round-trip" (0xffffbdd0)
"let" (0xffffc1d8)
"while" (0xffffc408)
"let" (0xffffc6b8)
"pymacs-serve-until-reply" (0xffffc800)
"pymacs-apply" (0xffffcb00)
"rope-lucky-assist" (0xffffcef8)
"call-interactively" (0xffffd208)
"execute-extended-command" (0xffffd4d8)
"call-interactively" (0xffffd7e8)
(gdb) 

(gdb) bt full
#0  0x000000360ded41a3 in select () from /lib64/libc.so.6
No symbol table info available.
#1  0x000000000053d900 in xg_select (max_fds=17, rfds=0x7fffffffa520,
wfds=0x7fffffffa4a0, efds=0x0, timeout=0x7fffffffa480) at xgselect.c:100
        all_rfds = {
          fds_bits = {125312, 0 <repeats 15 times>}
        }
        all_wfds = {
          fds_bits = {0 <repeats 16 times>}
        }
        tmo = {
          tv_sec = 140737488331264, 
          tv_usec = 4778886
        }
        tmop = 0x7fffffffa480
        context = 0xd78950
        have_wfds = 1
        n_gfds = 6
        our_tmo = 0
        retval = 0
        our_fds = 0
        i = 6
        nfds = 0
        tmo_in_millisec = -1
#2  0x000000000065c675 in wait_reading_process_output (time_limit=5,
microsecs=0, read_kbd=0, do_display=0, wait_for_cell=12755490,
wait_proc=0xd15820, just_wait_proc=0) at process.c:4613
timeout_reduced_for_timers = 0 channel = -23264
        nfds = -1
        Available = {
          fds_bits = {65536, 0 <repeats 15 times>}
        }
        Writeok = {
          fds_bits = {0 <repeats 16 times>}
        }
---Type <return> to continue, or q <return> to quit---
        check_write = 1
        check_delay = 0
        no_avail = 0
        xerrno = 4
        proc = 140737488332336
        timeout = {
          tv_sec = 1, 
          tv_usec = 137904
        }
        end_time = {
          tv_sec = 1339827375, 
          tv_usec = 548508
        }
        wait_channel = 16
        got_some_input = 0
        count = 28
#3  0x000000000065ad50 in Faccept_process_output (process=5,
seconds=20, millisec=12755490, just_this_one=12755490) at process.c:3999
        secs = 5
        usecs = 0
#4  0x00000000006044bb in eval_sub (form=22601014) at eval.c:2360
        numargs = 8
        args_left = 12755490
        i = 20
        maxargs = 4
        argvals = {13719589, 20, 12755490, 12755490, 140737488332960,
6308188, 140737488332688, 22937202} fun = 12138405
        val = 2
        original_fun = 12928882
        original_args = 22601030
        funcar = 9498805
        backtrace = {
          next = 0x7fffffffa970, 
          function = 0x7fffffffa7e0, 
          args = 0x7fffffffa710, 
---Type <return> to continue, or q <return> to quit---
          nargs = 2, 
          debug_on_exit = 0
        }
        gcpro1 = {
          next = 0xc482e2, 
          var = 0x603e9b, 
          nvars = 12755490
        }
        gcpro2 = {
          next = 0xc48222, 
          var = 0xc2a1f2, 
          nvars = 0
        }
        gcpro3 = {
          next = 0xc7a192, 
          var = 0x7fffffffa710, 
          nvars = 4
        }
#5  0x00000000006004f9 in Fif (args=23420662) at eval.c:310
        cond = 22601062
        gcpro1 = {
          next = 0x360ea0fa10, 
          var = 0x158dc16, 
          nvars = 140737488333072
        }
#6  0x000000000060415c in eval_sub (form=23420614) at eval.c:2298
        numargs = 12
        args_left = 23420662
        i = 22601062
        maxargs = 12755490
        argvals = {2, 12923298, 23420614, 9498717, 22801221,
140737488333072, 140737488333232, 6311040} fun = 12126157
        val = 2
        original_fun = 12878242
        original_args = 23420662
---Type <return> to continue, or q <return> to quit---
        funcar = 12755490
        backtrace = {
          next = 0x7fffffffaae0, 
          function = 0x7fffffffa9a0, 
          args = 0x7fffffffa998, 
          nargs = -1, 
          debug_on_exit = 0
        }
        gcpro1 = {
          next = 0x0, 
          var = 0x0, 
          nvars = 3
        }
        gcpro2 = {
          next = 0x7fffffffa9b0, 
          var = 0x60487e, 
          nvars = 140737488333264
        }
        gcpro3 = {
          next = 0x90f05d, 
          var = 0x158dd36, 
          nvars = 22601078
        }
#7  0x000000000060472c in eval_sub (form=22600998) at eval.c:2411
        fun = 13177062
        val = 12878194
        original_fun = 13182786
        original_args = 22601062
        funcar = 12877106
        backtrace = {
          next = 0x7fffffffad10, 
          function = 0x7fffffffab10, 
          args = 0x7fffffffab08, 
          nargs = -1, 
          debug_on_exit = 0
        }
        gcpro1 = {
          next = 0x0, 
          var = 0x0, 
          nvars = 0
        }
        gcpro2 = {
          next = 0x0, 
          var = 0x0, 
          nvars = 0
        }
        gcpro3 = {
          next = 0x0, 
          var = 0x158e7c6, 
          nvars = 0
        }
#8  0x0000000000600613 in Fprogn (args=22601174) at eval.c:364
        val = 12755490
        gcpro1 = {
          next = 0x1567660, 
          var = 0x158dc46, 
          nvars = 12755538
        }
#9  0x0000000000601daa in Fwhile (args=22600982) at eval.c:1142
        test = 22603718
        body = 22601174
        gcpro1 = {
          next = 0x7fffffffac40, 
          var = 0x678b, 
          nvars = 18036
        }
        gcpro2 = {
          next = 0x7fffffffaab0, 
          var = 0x19e2c, 
          nvars = 72144
---Type <return> to continue, or q <return> to quit---
        }
#10 0x000000000060415c in eval_sub (form=22603702) at eval.c:2298
        numargs = 8
        args_left = 22600982
        i = 12755490
        maxargs = 12755490
        argvals = {13719589, 72144, 21632539, -1, 12595136, 4,
12807538, 2} fun = 12127021
        val = 12755490
        original_fun = 12878946
        original_args = 22600982
        funcar = 12877106
        backtrace = {
          next = 0x7fffffffaed0, 
          function = 0x7fffffffad40, 
          args = 0x7fffffffad38, 
          nargs = -1, 
          debug_on_exit = 0
        }
        gcpro1 = {
          next = 0x2, 
          var = 0x1, 
          nvars = 140737488334128
        }
        gcpro2 = {
          next = 0x1, 
          var = 0x10, 
          nvars = 23096358
        }
        gcpro3 = {
          next = 0x7fffffffad10, 
          var = 0x7fffffffac70, 
          nvars = 3
        }
#11 0x0000000000600613 in Fprogn (args=23251750) at eval.c:364
        val = 12755490
        gcpro1 = {
          next = 0xc2a222, 
          var = 0xc2a222, 
          nvars = 12755490
        }
#12 0x000000000060415c in eval_sub (form=23251494) at eval.c:2298
        numargs = 44
        args_left = 23251510
        i = 12755490
        maxargs = 12755490
        argvals = {12755490, 12755490, 12755490, 12755490, 12755490,
12755490, 12755490, 12755490} fun = 12126253
        val = 12755490
        original_fun = 12878418
        original_args = 23251510
        funcar = 12755490
        backtrace = {
          next = 0x7fffffffb070, 
          function = 0x7fffffffaf00, 
          args = 0x7fffffffaef8, 
          nargs = -1, 
          debug_on_exit = 0
        }
        gcpro1 = {
          next = 0xc2a222, 
          var = 0xc2a222, 
          nvars = 12755490
        }
        gcpro2 = {
          next = 0xc2a222, 
          var = 0xc2a222, 
          nvars = 12755490
        }
        gcpro3 = {
---Type <return> to continue, or q <return> to quit---
          next = 0xc2a222, 
          var = 0xc2a222, 
          nvars = 12755490
        }
#13 0x00000000006022d3 in Funwind_protect (args=23251462) at eval.c:1371
        val = 140737488334848
        count = 27
#14 0x000000000060415c in eval_sub (form=23251446) at eval.c:2298
        numargs = 8
        args_left = 23251462
        i = 12755490
        maxargs = 12755490
        argvals = {12755490, 21969856, 2, 6067841, 140737488335200,
6308993, 23251302, 22602054} fun = 12127213
        val = 12933426
        original_fun = 12879138
        original_args = 23251462
        funcar = 0
        backtrace = {
          next = 0x7fffffffb310, 
          function = 0x7fffffffb0a0, 
          args = 0x7fffffffb098, 
          nargs = -1, 
          debug_on_exit = 0
        }
        gcpro1 = {
          next = 0x90f00c, 
          var = 0x90f00d, 
          nvars = 140737488335872
        }
        gcpro2 = {
          next = 0xc2a222, 
          var = 0x14f3bc2, 
         nvars = 140737488334960
        }
---Type <return> to continue, or q <return> to quit---
        gcpro3 = {
          next = 0x7fffffffb180, 
          var = 0x91c4c6, 
          nvars = 12755490
        }
#15 0x0000000000600613 in Fprogn (args=23251430) at eval.c:364
        val = 12755490
        gcpro1 = {
          next = 0x7fffffffada8, 
          var = 0xc2a222, 
          nvars = 23251238
        }
#16 0x0000000000601cf4 in Flet (args=23251414) at eval.c:1120
        temps = 0x7fffffffb170
        tem = 23251238
        lexenv = 12755490
        elt = 9553062
        varlist = 12755490
        count = 26
        argnum = 1
        gcpro1 = {
          next = 0x7fffffffb260, 
          var = 0x605c77, 
          nvars = 140737488335680
        }
        gcpro2 = {
          next = 0xc2a222, 
          var = 0x162c966, 
          nvars = 1
        }
        sa_count = 26
        sa_must_free = 0
#17 0x000000000060415c in eval_sub (form=23251302) at eval.c:2298
        numargs = 8
       args_left = 23251414
---Type <return> to continue, or q <return> to quit---
        i = 22602854
        maxargs = -16944
        argvals = {9552893, 22602774, 22602870, 22603110, 22603158,
22603334, 22603382, 22603526} fun = 12126973
        val = 2
        original_fun = 12878850
        original_args = 23251414
        funcar = 140737488338384
        backtrace = {
          next = 0x7fffffffb480, 
          function = 0x7fffffffb340, 
          args = 0x7fffffffb338, 
          nargs = -1, 
          debug_on_exit = 0
        }
        gcpro1 = {
          next = 0x7fffffffb460, 
          var = 0x60444f, 
          nvars = 12
        }
        gcpro2 = {
          next = 0x7fffffffb350, 
          var = 0x60487e, 
          nvars = 140737488335728
        }
        gcpro3 = {
          next = 0x158e766, 
          var = 0x158e7b6, 
          nvars = 22601206
        }
#18 0x000000000060472c in eval_sub (form=22602758) at eval.c:2411
        fun = 13174006
        val = 140737488336176
        original_fun = 13183970
        original_args = 22602854
---Type <return> to continue, or q <return> to quit---
        funcar = 12877106
        backtrace = {
          next = 0x7fffffffb680, 
          function = 0x7fffffffb4b0, 
          args = 0x7fffffffb4a8, 
          nargs = -1, 
          debug_on_exit = 0
        }
        gcpro1 = {
          next = 0x7fffffffb490, 
          var = 0x5e959d, 
          nvars = 140737488336144
        }
        gcpro2 = {
          next = 0xc2a222, 
          var = 0xc37b32, 
          nvars = 22605590
        }
        gcpro3 = {
          next = 0xc7a192, 
          var = 0xc2a222, 
          nvars = 23094326
        }
#19 0x0000000000600613 in Fprogn (args=22600422) at eval.c:364
        val = 12755490
        gcpro1 = {
          next = 0x7fffffffb570, 
          var = 0x5f2bc8, 
          nvars = 140737488336352
        }
#20 0x00000000005f2eed in Fsave_excursion (args=22600422) at
editfns.c:972 val = 12755490
        count = 25
#21 0x000000000060415c in eval_sub (form=22604758) at eval.c:2298
        numargs = 4
---Type <return> to continue, or q <return> to quit---
        args_left = 22600422
        i = 12755490
        maxargs = -16944
        argvals = {140737488336384, 6209558, 1, 21632539,
140737488336752, 6308943, 22605590, 22605462} fun = 12122933
        val = 12814162
        original_fun = 12895714
        original_args = 22600422
        funcar = 22801221
        backtrace = {
          next = 0x7fffffffb900, 
          function = 0x7fffffffb6b0, 
          args = 0x7fffffffb6a8, 
          nargs = -1, 
          debug_on_exit = 0
        }
        gcpro1 = {
          next = 0x0, 
          var = 0x158e146, 
          nvars = 140737488336864
        }
        gcpro2 = {
          next = 0xb86ad5, 
          var = 0x158eea6, 
          nvars = 12085965
        }
        gcpro3 = {
          next = 0x7fffffffb790, 
          var = 0x158eb36, 
          nvars = 108
        }
#22 0x0000000000600613 in Fprogn (args=22600438) at eval.c:364
        val = 12755490
        gcpro1 = {
          next = 0x7fffffffb900, 
---Type <return> to continue, or q <return> to quit---
          var = 0xc2a222, 
          nvars = 12755490
        }
#23 0x000000000060194a in FletX (args=22604742) at eval.c:1050
        varlist = 12755490
        var = 19276274
        val = 12755490
        elt = 19276274
        lexenv = 12755490
        count = 18
        gcpro1 = {
          next = 0xc2a222, 
          var = 0xc2a252, 
          nvars = 140737488336944
        }
        gcpro2 = {
          next = 0xc2a222, 
          var = 0xc2a222, 
          nvars = 12755538
        }
        gcpro3 = {
          next = 0x7fffffffb7e0, 
          var = 0x600613, 
          nvars = 140737488345680
        }
#24 0x000000000060415c in eval_sub (form=22604326) at eval.c:2298
        numargs = 16
        args_left = 22604742
        i = 12755490
        maxargs = -16944
        argvals = {22801221, 6198685, 140737488337040, 6293647,
140737488337392, 22608070, 140737488337408, 6308188} fun = 12126925
        val = 12755490
        original_fun = 12878898
        original_args = 22604742
---Type <return> to continue, or q <return> to quit---
        funcar = 23094742
        backtrace = {
          next = 0x7fffffffbaf0, 
          function = 0x7fffffffb930, 
          args = 0x7fffffffb928, 
          nargs = -1, 
          debug_on_exit = 0
        }
        gcpro1 = {
          next = 0x1606506, 
          var = 0x110158f936, 
          nvars = 13429426
        }
        gcpro2 = {
          next = 0x7fffffffba80, 
          var = 0x7fffffffb8f0, 
          nvars = 13083026
        }
        gcpro3 = {
          next = 0x7fffffffda50, 
          var = 0x7fffffffb860, 
          nvars = 1
        }
#25 0x0000000000600613 in Fprogn (args=23094758) at eval.c:364
        val = 12755490
        gcpro1 = {
          next = 0xc2a222, 
          var = 0x1606506, 
          nvars = 140737488337728
        }
#26 0x00000000005f2f4f in Fsave_current_buffer (args=23094550) at
editfns.c:987 val = 140737488338016
        count = 17
#27 0x000000000060415c in eval_sub (form=23094534) at eval.c:2298
        numargs = 12
---Type <return> to continue, or q <return> to quit---
        args_left = 23094550
        i = 22605302
        maxargs = -16944
        argvals = {3, 13337010, 23094534, 9545885, 1, 140737488337552,
140737488337712, 6311040} fun = 12122981
        val = 2
        original_fun = 12914802
        original_args = 23094550
        funcar = 140737488338384
        backtrace = {
          next = 0x7fffffffbc60, 
          function = 0x7fffffffbb20, 
          args = 0x7fffffffbb18, 
          nargs = -1, 
          debug_on_exit = 0
        }
        gcpro1 = {
          next = 0xc, 
          var = 0x7fffffffbb00, 
          nvars = 4
        }
        gcpro2 = {
          next = 0x7fffffffbb30, 
          var = 0x60487e, 
          nvars = 140737488337744
        }
        gcpro3 = {
          next = 0x91a89d, 
          var = 0x15dfc62, 
          nvars = 22605318
        }
#28 0x000000000060472c in eval_sub (form=22605286) at eval.c:2411
        fun = 12998758
        val = 20
        original_fun = 13429378
        original_args = 22605302
        funcar = 12877106
        backtrace = {
          next = 0x7fffffffbf60, 
          function = 0x7fffffffbc90, 
          args = 0x7fffffffbc88, 
          nargs = -1, 
          debug_on_exit = 0
        }
        gcpro1 = {
          next = 0x1606c06, 
          var = 0x16065f6, 
          nvars = 140737488338368
        }
        gcpro2 = {
          next = 0x7fffffffbc50, 
          var = 0x5e959d, 
          nvars = 8
        }
        gcpro3 = {
          next = 0x0, 
          var = 0x15dfd52, 
          nvars = 140737488338304
        }
#29 0x0000000000600613 in Fprogn (args=22600662) at eval.c:364
        val = 12755490
        gcpro1 = {
          next = 0x15a27e1, 
          var = 0xc2a222, 
          nvars = 140737488338304
        }
#30 0x0000000000606415 in funcall_lambda (fun=12732806, nargs=2,
arg_vector=0x7fffffffbdd0) at eval.c:3226 val = 140737488338384
        syms_left = 12755490
        next = 22936914
---Type <return> to continue, or q <return> to quit---
        lexenv = 12755490
        count = 15
        i = 2
        optional = 0
        rest = 0
#31 0x0000000000605f7c in apply_lambda (fun=12732806, args=22609174) at
eval.c:3110 args_left = 12755490
        i = 2
        numargs = 2
        arg_vector = 0x7fffffffbdd0
        gcpro1 = {
          next = 0x7fffffffbfb0, 
          var = 0x60415c, 
          nvars = 2
        }
        gcpro2 = {
          next = 0xcdba32, 
          var = 0xc2a222, 
          nvars = 22609446
        }
        gcpro3 = {
          next = 0x158ffb6, 
          var = 0xc2a222, 
          nvars = 68732232274
        }
        tem = 23094774
        sa_count = 15
        sa_must_free = 0
#32 0x000000000060475f in eval_sub (form=22609158) at eval.c:2414
        fun = 12732806
        val = 23084566
        original_fun = 22936962
        original_args = 22609174
        funcar = 12807586
        backtrace = {
---Type <return> to continue, or q <return> to quit---
          next = 0x7fffffffc1b0, 
          function = 0x7fffffffbf90, 
          args = 0x7fffffffbdd0, 
          nargs = 2, 
          debug_on_exit = 0
        }
        gcpro1 = {
          next = 0xc48432, 
          var = 0xc47d32, 
          nvars = 13136018
        }
        gcpro2 = {
          next = 0x7fffffffbf38, 
          var = 0xffffffffffffffff, 
          nvars = 140737488338784
        }
        gcpro3 = {
          next = 0x1, 
          var = 0xc2a222, 
          nvars = 140737488339376
        }
#33 0x0000000000601b82 in Flet (args=22609238) at eval.c:1090
        temps = 0x7fffffffc010
        tem = 23084566
        lexenv = 12755490
        elt = 22609142
        varlist = 22609222
        count = 15
        argnum = 0
        gcpro1 = {
          next = 0x90f00d, 
          var = 0x90efe9, 
          nvars = 12100341
        }
        gcpro2 = {
---Type <return> to continue, or q <return> to quit---
          next = 0x0, 
          var = 0x0, 
          nvars = 0
        }
        sa_count = 15
        sa_must_free = 0
#34 0x000000000060415c in eval_sub (form=22609126) at eval.c:2298
        numargs = 16
        args_left = 22609238
        i = 12755490
        maxargs = 12755490
        argvals = {22613542, 1, 0, 12755490, 140737488339616, 6308900,
12755490, 140737488339200} fun = 12126973
        val = 13150738
        original_fun = 12878850
        original_args = 22609238
        funcar = 6307483
        backtrace = {
          next = 0x7fffffffc3e0, 
          function = 0x7fffffffc1e0, 
          args = 0x7fffffffc1d8, 
          nargs = -1, 
          debug_on_exit = 0
        }
        gcpro1 = {
          next = 0x7fffffffc1c0, 
          var = 0xc8a922, 
          nvars = 140737488339808
        }
        gcpro2 = {
          next = 0xb8a829, 
          var = 0x90e095, 
          nvars = 0
        }
        gcpro3 = {
          next = 0x1, 
          var = 0x158fcb6, 
          nvars = 12755490
        }
#35 0x0000000000600613 in Fprogn (args=22605094) at eval.c:364
        val = 12755490
        gcpro1 = {
          next = 0x121f836, 
          var = 0xc2a222, 
          nvars = 12755538
        }
#36 0x0000000000601daa in Fwhile (args=22609110) at eval.c:1142
        test = 22609078
        body = 22605094
        gcpro1 = {
          next = 0xc36d72, 
          var = 0x7fffffffe1e0, 
          nvars = 140737488339744
        }
        gcpro2 = {
          next = 0x7fffffffc2d8, 
          var = 0xffffffffffffffff, 
          nvars = 19163078
        }
#37 0x000000000060415c in eval_sub (form=22609062) at eval.c:2298
        numargs = 8
        args_left = 22609110
        i = 12755490
        maxargs = 12755490
        argvals = {140737488339832, 12755538, 12755490, 12755538,
140737488340176, 6307483, 140737488339872, 6168085} fun = 12127021
        val = 12755490
        original_fun = 12878946
        original_args = 22609110
        funcar = 4318039782
---Type <return> to continue, or q <return> to quit---
        backtrace = {
          next = 0x7fffffffc690, 
          function = 0x7fffffffc410, 
          args = 0x7fffffffc408, 
          nargs = -1, 
          debug_on_exit = 0
        }
        gcpro1 = {
          next = 0xc7a192, 
          var = 0xc2a222, 
          nvars = 23072582
        }
        gcpro2 = {
          next = 0x1626de0, 
          var = 0xc02fc0, 
          nvars = 2
        }
        gcpro3 = {
          next = 0x7fffffffc008, 
          var = 0xc2a252, 
          nvars = 12878194
        }
#38 0x0000000000600613 in Fprogn (args=22605110) at eval.c:364
        val = 12755490
        gcpro1 = {
          next = 0x1, 
          var = 0xc2a222, 
          nvars = 140737488340320
        }
#39 0x0000000000601cf4 in Flet (args=22609046) at eval.c:1120
        temps = 0x7fffffffc4e0
        tem = 12755490
        lexenv = 12755490
        elt = 12880834
        varlist = 12755490
        count = 12
        argnum = 3
        gcpro1 = {
          next = 0x90efa4, 
          var = 0x1600ee6, 
          nvars = 12878242
        }
        gcpro2 = {
          next = 0x7fffffffc690, 
          var = 0x7fffffffc550, 
          nvars = 3
        }
        sa_count = 12
        sa_must_free = 0
#40 0x000000000060415c in eval_sub (form=22608950) at eval.c:2298
        numargs = 12
        args_left = 22609046
        i = 12755490
        maxargs = -14336
        argvals = {140737488340224, 3, 9494572, 22613558, 12820562,
140737488340992, 140737488340608, 42955985358} fun = 12126973
        val = 12755490
        original_fun = 12878850
        original_args = 22609046
        funcar = 12877106
        backtrace = {
          next = 0x7fffffffc990, 
          function = 0x7fffffffc6c0, 
          args = 0x7fffffffc6b8, 
          nargs = -1, 
          debug_on_exit = 0
        }
        gcpro1 = {
          next = 0x1591f26, 
          var = 0x7fffffffc800, 
---Type <return> to continue, or q <return> to quit---
          nvars = 140737488340976
        }
        gcpro2 = {
          next = 0x7fffffffc500, 
          var = 0xc2a222, 
          nvars = 23072726
        }
        gcpro3 = {
          next = 0xc, 
          var = 0x90e02d, 
          nvars = 9494573
        }
#41 0x0000000000600613 in Fprogn (args=22605142) at eval.c:364
        val = 12755490
        gcpro1 = {
          next = 0x7fffffffc990, 
          var = 0x7fffffffc780, 
          nvars = 140737488340856
        }
#42 0x0000000000606415 in funcall_lambda (fun=22605158, nargs=2,
arg_vector=0x7fffffffc800) at eval.c:3226 val = 12991446
        syms_left = 12755490
        next = 22936914
        lexenv = 12755490
        count = 10
        i = 2
        optional = 0
        rest = 0
#43 0x0000000000605f7c in apply_lambda (fun=22605158, args=22621190) at
eval.c:3110 args_left = 12755490
        i = 2
        numargs = 2
        arg_vector = 0x7fffffffc800
        gcpro1 = {
          next = 0x0, 
          var = 0x360de7a166, 
          nvars = 2
        }
        gcpro2 = {
          next = 0x2, 
          var = 0x1, 
          nvars = 1
        }
        gcpro3 = {
          next = 0x15dacc8, 
          var = 0x15dacb0, 
          nvars = 2
        }
        tem = 23072726
        sa_count = 10
        sa_must_free = 0
#44 0x000000000060475f in eval_sub (form=22621206) at eval.c:2414
        fun = 22605158
        val = 13495650
        original_fun = 22400194
        original_args = 22621190
        funcar = 12807586
        backtrace = {
          next = 0x7fffffffcc90, 
          function = 0x7fffffffc9c0, 
          args = 0x7fffffffc800, 
          nargs = 2, 
          debug_on_exit = 0
        }
        gcpro1 = {
          next = 0x94, 
          var = 0x158f226, 
          nvars = 140737488341744
        }
        gcpro2 = {
---Type <return> to continue, or q <return> to quit---
          next = 0x7fffffffc980, 
          var = 0x5e959d, 
          nvars = 140737488341376
        }
        gcpro3 = {
          next = 0x1, 
          var = 0xc8a922, 
          nvars = 140737488341616
        }
#45 0x0000000000600613 in Fprogn (args=22617846) at eval.c:364
        val = 21852721
        gcpro1 = {
          next = 0x7fffffffcc90, 
          var = 0x7fffffffca80, 
          nvars = 140737488341624
        }
#46 0x0000000000606415 in funcall_lambda (fun=22617830, nargs=2,
arg_vector=0x7fffffffcb00) at eval.c:3226 val = 12126445
        syms_left = 12755490
        next = 13150498
        lexenv = 12755490
        count = 8
        i = 2
        optional = 0
        rest = 0
#47 0x0000000000605f7c in apply_lambda (fun=22617830, args=23089382) at
eval.c:3110 args_left = 12755490
        i = 2
        numargs = 2
        arg_vector = 0x7fffffffcb00
        gcpro1 = {
          next = 0x40, 
          var = 0x170cb50, 
          nvars = 2
        }
        gcpro2 = {
          next = 0x4, 
          var = 0xc2a222, 
          nvars = 0
        }
        gcpro3 = {
          next = 0x30, 
          var = 0x170ce10, 
          nvars = 232164720288
        }
        tem = 22606374
        sa_count = 8
        sa_must_free = 0
#48 0x000000000060475f in eval_sub (form=23089398) at eval.c:2414
        fun = 22617830
        val = 12755490
        original_fun = 22400338
        original_args = 23089382
        funcar = 12807586
        backtrace = {
          next = 0x7fffffffce20, 
          function = 0x7fffffffccc0, 
          args = 0x7fffffffcb00, 
          nargs = 2, 
          debug_on_exit = 0
        }
        gcpro1 = {
          next = 0x7fffffffcca0, 
          var = 0x5e202a, 
          nvars = 24168896
        }
        gcpro2 = {
          next = 0xfff00000000, 
          var = 0x4, 
          nvars = 24170000
---Type <return> to continue, or q <return> to quit---
        }
        gcpro3 = {
          next = 0x2, 
          var = 0x14edbd6, 
          nvars = 140737488342128
        }
#49 0x0000000000600613 in Fprogn (args=23089414) at eval.c:364
        val = 12755490
        gcpro1 = {
          next = 0x7fffffffcd80, 
          var = 0x5e1e15, 
          nvars = 140737488342776
        }
#50 0x0000000000606415 in funcall_lambda (fun=23089462, nargs=1,
arg_vector=0x7fffffffcef8) at eval.c:3226 val = 232161519680
        syms_left = 12755490
        next = 13150498
        lexenv = 12755490
        count = 7
        i = 1
        optional = 0
        rest = 1
#51 0x0000000000605d2b in Ffuncall (nargs=2, args=0x7fffffffcef0) at
eval.c:3063 fun = 23089462
        original_fun = 21971218
        funcar = 12807586
        numargs = 1
        lisp_numargs = 12755538
        val = 12755490
        backtrace = {
          next = 0x7fffffffd160, 
          function = 0x7fffffffcef0, 
          args = 0x7fffffffcef8, 
          nargs = 1, 
          debug_on_exit = 0
---Type <return> to continue, or q <return> to quit---
        }
        internal_args = 0x12a7a16
        i = 5665918
#52 0x00000000005ffd33 in Fcall_interactively (function=21971218,
record_flag=12755538, keys=12801813) at callint.c:852 val = 536871164
        args = 0x7fffffffcef0
        visargs = 0x7fffffffced0
        specs = 19397793
        filter_specs = 19397793
        teml = 12755490
        up_event = 12755490
        enable = 12755490
        speccount = 5
        next_event = 20
        prefix_arg = 12755490
        string = 0x7fffffffcf10 "P"
        tem = 0x6b8c4c ""
        varies = 0x7fffffffceb0 ""
        i = 2
        nargs = 2
        foo = 0
       arg_from_tty = 0
        gcpro1 = {
          next = 0xc2a1f2, 
          var = 0x14cd106, 
          nvars = 4294967297
        }
        gcpro2 = {
          next = 0x12a0536, 
          var = 0x14f4112, 
          nvars = 12755490
        }
        gcpro3 = {
          next = 0xc2a1f2, 
          var = 0xc2a222, 
         nvars = 2
        }
        gcpro4 = {
          next = 0x585097, 
          var = 0xd8ec76, 
          nvars = 2
        }
        gcpro5 = {
          next = 0x7fffffffd010, 
          var = 0x580327, 
          nvars = 140737488343232
        }
        key_count = 20
        record_then_fail = 0
        save_this_command = 21971218
        save_last_command = 13483874
        save_this_original_command = 14250354
        save_real_this_command = 21971218
#53 0x0000000000605abe in Ffuncall (nargs=4, args=0x7fffffffd200) at
eval.c:3009 fun = 12125965
        original_fun = 12895810
        funcar = 0
        numargs = 3
        lisp_numargs = 0
        val = 0
        backtrace = {
          next = 0x7fffffffd400, 
          function = 0x7fffffffd200, 
          args = 0x7fffffffd208, 
          nargs = 3, 
          debug_on_exit = 0
        }
        internal_args = 0x7fffffffd208
        i = 0
#54 0x00000000006052e2 in call3 (fn=12895810, arg1=21971218,
arg2=12755538, arg3=12755490) at eval.c:2802 ---Type <return> to
continue, or q <return> to quit--- ret_ungc_val = 12755538
        gcpro1 = {
          next = 0x7fffffffd240, 
          var = 0x1605136, 
          nvars = 4
        }
        args = {12895810, 21971218, 12755538, 12755490}
#55 0x000000000057a5b3 in Fcommand_execute (cmd=21971218,
record_flag=12755538, keys=12755490, special=12755490) at
keyboard.c:10330 final = 21971218
        tem = 12807586
        prefixarg = 12755490
#56 0x000000000057a81a in Fexecute_extended_command
(prefixarg=12755490) at keyboard.c:10419 function = 21971218
        saved_last_point_position = 8079
        saved_keys = 22882789
        saved_last_point_position_buffer = 23227877
        bindings = 23295429
        value = 12755490
        gcpro1 = {
          next = 0x1e0, 
          var = 0xc251a6, 
          nvars = 4
        }
        gcpro2 = {
          next = 0xc334a5, 
          var = 0xc2a222, 
          nvars = 4314498310
        }
        gcpro3 = {
          next = 0x7fffffffd380, 
          var = 0x581fa5, 
          nvars = 140737488343936
        }
        hstarted = 1
#57 0x0000000000605a68 in Ffuncall (nargs=2, args=0x7fffffffd4d0) at
eval.c:3002 fun = 9392237
        original_fun = 12804034
        funcar = 6318502
        numargs = 1
        lisp_numargs = 12755490
        val = 0
        backtrace = {
          next = 0x7fffffffd740, 
          function = 0x7fffffffd4d0, 
          args = 0x7fffffffd4d8, 
          nargs = 1, 
          debug_on_exit = 0
        }
        internal_args = 0x7fffffffd4d8
        i = 5665918
#58 0x00000000005ffd33 in Fcall_interactively (function=12804034,
record_flag=12755490, keys=12801813) at callint.c:852 val = 0
        args = 0x7fffffffd4d0
        visargs = 0x7fffffffd4b0
        specs = 22714001
        filter_specs = 22714001
        teml = 0
        up_event = 12755490
        enable = 12755490
        speccount = 3
        next_event = 2
        prefix_arg = 12755490
        string = 0x7fffffffd4f0 "P"
        tem = 0x6b8c4c ""
        varies = 0x7fffffffd490 ""
        i = 2
        nargs = 2
        foo = 0
        arg_from_tty = 0
---Type <return> to continue, or q <return> to quit---
        gcpro1 = {
          next = 0x0, 
          var = 0x0, 
          nvars = 0
        }
        gcpro2 = {
          next = 0x7fffffffd870, 
          var = 0x66bb40, 
          nvars = 8192
        }
        gcpro3 = {
          next = 0x4fdc2477, 
          var = 0xa0ef7, 
          nvars = 2
        }
        gcpro4 = {
          next = 0x0, 
          var = 0xf423e, 
          nvars = 2
        }
        gcpro5 = {
          next = 0x7fffffffd5d0, 
          var = 0x66c8f5, 
          nvars = 0
        }
        key_count = 2
        record_then_fail = 0
        save_this_command = 12804034
        save_last_command = 14250402
        save_this_original_command = 12804034
        save_real_this_command = 12804034
#59 0x0000000000605abe in Ffuncall (nargs=4, args=0x7fffffffd7e0) at
eval.c:3009 fun = 12125965
        original_fun = 12895810
        funcar = 0
        numargs = 3
        lisp_numargs = 0
        val = 0
        backtrace = {
          next = 0x0, 
          function = 0x7fffffffd7e0, 
          args = 0x7fffffffd7e8, 
          nargs = 3, 
          debug_on_exit = 0
        }
        internal_args = 0x7fffffffd7e8
        i = 0
#60 0x00000000006052e2 in call3 (fn=12895810, arg1=12804034,
arg2=12755490, arg3=12755490) at eval.c:2802 ret_ungc_val = 12755490
        gcpro1 = {
          next = 0x7fffffffd820, 
          var = 0x8f506d, 
          nvars = 4
        }
        args = {12895810, 12804034, 12755490, 12755490}
#61 0x000000000057a5b3 in Fcommand_execute (cmd=12804034,
record_flag=12755490, keys=12755490, special=12755490) at
keyboard.c:10330 final = 12804034
        tem = 12755490
        prefixarg = 12755490
#62 0x0000000000568420 in command_loop_1 () at keyboard.c:1572
        scount = 2
        cmd = 12804034
        keybuf = {108, 480, 444, 6458291, 12755490, 140737488345552,
12755538, 14178422, 12782811, 0, 140737488345392, 5246901, 9417990,
12807826, 140737488345440, 5159599, 1, 12755490, 12755490, 9418001,
140737488345456, 12755538, 140737488345520, 5666806, 140737488345552,
14178422, 4283840, 16130656, 0, 4283840} i = 2 prev_modiff = 126
        prev_buffer = 0x1626de0
        already_adjusted = 0
---Type <return> to continue, or q <return> to quit---
#63 0x0000000000602724 in internal_condition_case (bfun=0x567bf5
<command_loop_1>, handlers=12807778, hfun=0x5674e4 <cmd_error>) at
eval.c:1515 val = 0
        c = {
          tag = 12755490, 
          val = 12755490, 
          next = 0x7fffffffdc00, 
          gcpro = 0x0, 
          jmp = {{
              __jmpbuf = {0, 2135201759241587526, 4283840,
140737488347616, 0, 0, 2135201759189158726, -2135201484288537786},
__mask_was_saved = 0, __saved_mask = {
                __val = {16311542589421013830, 0, 4294967295, 13611062,
1, 9360000, 0, 0, 0, 0, 232135905313, 1, 0, 1, 232161069296, 0}
              }
            }}, 
          backlist = 0x0, 
          handlerlist = 0x0, 
          lisp_eval_depth = 0, 
          pdlcount = 2, 
          poll_suppress_count = 1, 
          interrupt_input_blocked = 0, 
          byte_stack = 0x0
        }
        h = {
          handler = 12807778, 
          var = 12755490, 
          chosen_clause = 12755538, 
          tag = 0x7fffffffda80, 
          next = 0x0
        }
#64 0x00000000005678e4 in command_loop_2 (ignore=12755490) at
keyboard.c:1160 val = 0
#65 0x00000000006020ae in internal_catch (tag=12803522, func=0x5678be
<command_loop_2>, arg=12755490) at eval.c:1272 c = {
          tag = 12803522, 
          val = 12755490, 
          next = 0x0, 
          gcpro = 0x0, 
          jmp = {{
              __jmpbuf = {2, 2135201759017192262, 4283840,
140737488347616, 0, 0, 2135201759249976134, -2135201484222215354},
__mask_was_saved = 0, __saved_mask = {
                __val = {6200073, 100, 4301680482, 352, 12755490,
12150496, 12783536, 14, 2, 140737488346336, 12981680, 140737488346400,
12755490, 4283840, 140737488347616, 140737488346416} }
            }}, 
          backlist = 0x0, 
          handlerlist = 0x0, 
          lisp_eval_depth = 0, 
          pdlcount = 2, 
          poll_suppress_count = 1, 
          interrupt_input_blocked = 0, 
          byte_stack = 0x0
        }
#66 0x0000000000567897 in command_loop () at keyboard.c:1139
No locals.
#67 0x0000000000567028 in recursive_edit_1 () at keyboard.c:759
        count = 1
        val = 12755490
#68 0x00000000005671cb in Frecursive_edit () at keyboard.c:823
        count = 0
        buffer = 12755490
#69 0x0000000000565308 in main (argc=2, argv=0x7fffffffe1e8) at
emacs.c:1715 dummy = 140737326442504
        stack_bottom_variable = 0 '\000'
        do_initial_setlocale = 1
        skip_args = 0
        rlim = {
          rlim_cur = 8720000, 
---Type <return> to continue, or q <return> to quit---
          rlim_max = 18446744073709551615
        }
        no_loadup = 0
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x7fffffffe0d0 ""

Lisp Backtrace:
"accept-process-output" (0xffffa710)
"if" (0xffffa998)
"unless" (0xffffab08)
"while" (0xffffad38)
"progn" (0xffffaef8)
"unwind-protect" (0xffffb098)
"let" (0xffffb338)
"save-match-data" (0xffffb4a8)
"save-excursion" (0xffffb6a8)
"let*" (0xffffb928)
"save-current-buffer" (0xffffbb18)
"with-current-buffer" (0xffffbc88)
"pymacs-round-trip" (0xffffbdd0)
"let" (0xffffc1d8)
"while" (0xffffc408)
"let" (0xffffc6b8)
"pymacs-serve-until-reply" (0xffffc800)
"pymacs-apply" (0xffffcb00)
"rope-lucky-assist" (0xffffcef8)
"call-interactively" (0xffffd208)
"execute-extended-command" (0xffffd4d8)
"call-interactively" (0xffffd7e8)


In GNU Emacs 24.1.1 (x86_64-pc-linux-gnu, GTK+ Version 2.24.10)
 of 2012-06-16 on avk-v131
Windowing system distributor `The X.Org Foundation', version
11.0.11102000 Configured using:
 `configure '--prefix=/usr' '--build=x86_64-pc-linux-gnu'
 '--host=x86_64-pc-linux-gnu' '--mandir=/usr/share/man'
 '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc'
 '--localstatedir=/var/lib' '--libdir=/usr/lib64'
 '--disable-dependency-tracking' '--program-suffix=-emacs-24'
 '--infodir=/usr/share/info/emacs-24'
 '--enable-locallisppath=/etc/emacs:/usr/share/emacs/site-lisp'
 '--with-crt-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64'
 '--with-gameuser=games' '--without-compress-info'
 '--disable-maintainer-mode' '--without-hesiod' '--without-kerberos'
 '--without-kerberos5' '--with-gpm' '--with-dbus' '--without-gnutls'
 '--without-xml2' '--without-selinux' '--without-wide-int'
 '--with-sound' '--with-x' '--without-ns' '--without-gconf'
 '--without-gsettings' '--with-toolkit-scroll-bars' '--with-gif'
 '--with-jpeg' '--with-png' '--with-rsvg' '--with-tiff' '--with-xpm'
 '--with-imagemagick' '--with-xft' '--without-libotf'
 '--without-m17n-flt' '--with-x-toolkit=gtk'
 'build_alias=x86_64-pc-linux-gnu' 'host_alias=x86_64-pc-linux-gnu'
 'CFLAGS=-O2 -march=x86-64 -pipe' 'LDFLAGS=-Wl,--as-needed' 'CPPFLAGS=''

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

Major mode: Python

Minor modes in effect:
  which-function-mode: t
  show-paren-mode: t
  highlight-changes-visible-mode: t
  cua-mode: t
  global-hl-line-mode: t
  yas/global-mode: t
  yas/minor-mode: t
  recentf-mode: t
  ropemacs-mode: t
  flymake-mode: t
  shell-dirtrack-mode: t
  diff-auto-refine-mode: t
  ido-everywhere: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
C-x 1 C-x C-f ~ / y p / d e f <return> C-S-d C-x p 
o <return> C-x p f C-g <down> <down> <down> <down> 
<down> <down> <down> <down> <return> <down> <down> 
<down> <return> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <right> <right> 
<right> <right> <right> <right> <right> <right> <right> 
<right> <up> <up> <up> <end> <backspace> <backspace> 
<backspace> M-/ <select-window> <select-window> <escape> 
x r e p o <tab> r <tab> <return>

Recent messages:
Using the CPython shell
Loading vc-svn...done
Unable to load color "dark slate"
warning pyflakes/W:'HttpResponseRedirect' imported but unused
warning pyflakes/W:'get_callable' imported but unused
warning pyflakes/W:'itertools' imported but unused
pymacs-report-error: Pymacs helper status is `signal'
Auto-saving...
warning pyflakes/W:'Http' imported but unused [2 times]
Making completion list...

Load-path shadows:
~/.emacs.d/psvn hides /usr/share/emacs/site-lisp/subversion/psvn
/usr/share/emacs/site-lisp/flim/hex-util
hides /usr/share/emacs/24.1/lisp/hex-util /usr/share/emacs/site-lisp/flim/md4
hides /usr/share/emacs/24.1/lisp/md4 ~/.emacs.d/flymake
hides /usr/share/emacs/24.1/lisp/progmodes/flymake /usr/share/emacs/site-lisp/flim/hmac-md5
hides /usr/share/emacs/24.1/lisp/net/hmac-md5 /usr/share/emacs/site-lisp/flim/sasl-digest
hides /usr/share/emacs/24.1/lisp/net/sasl-digest /usr/share/emacs/site-lisp/flim/hmac-def
hides /usr/share/emacs/24.1/lisp/net/hmac-def /usr/share/emacs/site-lisp/flim/sasl-ntlm
hides /usr/share/emacs/24.1/lisp/net/sasl-ntlm /usr/share/emacs/site-lisp/flim/sasl
hides /usr/share/emacs/24.1/lisp/net/sasl /usr/share/emacs/site-lisp/flim/ntlm
hides /usr/share/emacs/24.1/lisp/net/ntlm /usr/share/emacs/site-lisp/flim/sasl-cram
hides /usr/share/emacs/24.1/lisp/net/sasl-cram /usr/share/emacs/site-lisp/wl/rfc2368
hides /usr/share/emacs/24.1/lisp/mail/rfc2368 /usr/share/emacs/site-lisp/wl/utf7
hides /usr/share/emacs/24.1/lisp/gnus/utf7 /usr/share/emacs/site-lisp/semi/smime
hides /usr/share/emacs/24.1/lisp/gnus/smime /usr/share/emacs/site-lisp/semi/pgg-gpg
hides /usr/share/emacs/24.1/lisp/obsolete/pgg-gpg /usr/share/emacs/site-lisp/semi/pgg-def
hides /usr/share/emacs/24.1/lisp/obsolete/pgg-def /usr/share/emacs/site-lisp/semi/pgg-parse
hides /usr/share/emacs/24.1/lisp/obsolete/pgg-parse /usr/share/emacs/site-lisp/semi/pgg-pgp5
hides /usr/share/emacs/24.1/lisp/obsolete/pgg-pgp5 /usr/share/emacs/site-lisp/semi/pgg-pgp
hides /usr/share/emacs/24.1/lisp/obsolete/pgg-pgp /usr/share/emacs/site-lisp/semi/pgg
hides /usr/share/emacs/24.1/lisp/obsolete/pgg

Features:
(shadow sort mail-extr emacsbug message rfc822 mml mml-sec mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
sendmail rfc2047 rfc2045 ietf-drums mail-utils help-mode view
vc-dispatcher vc-svn python-mode info-look info saveplace which-func
imenu paren hilit-chg cua-base server dired-x thingatpt bm
browse-kill-ring ahg generic grep ewoc follow hl-line yasnippet recentf
tree-widget cus-start cus-load remember org-remember org-datetree org
ob-emacs-lisp ob-tangle ob-ref ob-lob ob-table org-footnote org-src
ob-comint ob-keys ob ob-eval org-pcomplete org-list org-faces org-compat
org-entities org-macs noutline outline cal-menu calendar cal-loaddefs
pylookup browse-url python-pep8 python-pylint skeleton ropemacs pymacs
uniquify warnings flymake-php flymake compile tramp tramp-compat
auth-source eieio byte-opt bytecomp byte-compile cconv macroexp
gnus-util mm-util mail-prsvr password-cache shell pcomplete comint
ansi-color format-spec tramp-loaddefs php-mode etags cc-langs cc-mode
cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars
cc-defs speedbar sb-image ezimage dframe assoc psvn derived wid-edit cl
log-edit ring pcvs-util add-log diff-mode easy-mmode pp elp ediff-merg
ediff-diff ediff-wind ediff-mult ediff-help ediff-init ediff-util dired
regexp-opt easymenu advice help-fns advice-preload initsplit edmacro
kmacro ido site-gentoo mime-setup mail-mime-setup alist semi-setup
path-util poe pym static apel-ver product semi-def time-date tooltip
ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd
fontset image fringe lisp-mode register page menu-bar rfn-eshadow timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai
tai-viet lao korean japanese hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help
simple abbrev minibuffer loaddefs button faces cus-face files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote make-network-process
dbusbind dynamic-setting font-render-setting move-toolbar gtk x-toolkit
x multi-tty emacs)

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 00626-avk-143.py --]
[-- Type: text/x-python, Size: 8367 bytes --]

#!/usr/bin/env python

""" change ENGINE of all database tables to InnoDB """
import re
import optparse
from collections import namedtuple

from DjHDGutils.dbutils import iter_sql
from django.core.management import color
from django.core.management.sql import sql_all
from django.db import connection, transaction, connections
from django.db.models import get_apps, get_app
from django.db.utils import DatabaseError


class MySQLMeta(object):
    def __init__(self, metainfo):
        self._metainfo = metainfo

    def keys(self):
        """ Indexes """
        _keys = []
        for r in self._metainfo[1].split('\n'):
            r = r.strip()
            if r.endswith(','):
                r = r[:-1]
            if r.find('KEY') != -1:
                _keys.append(r)

        return _keys

    @property
    def ENGINE(self):
        return re.search(
            'ENGINE=(?P<engine>\w+)', self._metainfo[1]
            ).group('engine')


def read_mysql_table_metainfo():
    """ Read some information from MySQL command `show create table <X>` """
    alltables = {}
    cursor = connection.cursor()
    cursor.execute('show tables')
    tables = [t[0] for t in cursor.fetchall()]
    Field = namedtuple('field', ['name', 'type',
                                 'null', 'key',
                                 'default', 'extra'],
                       verbose=False)
    for table in tables:
        fields = []
        for rec in iter_sql('desc %s' % table, database='default'):
            fields.append(Field(*rec))
        alltables[table] = {'fields': fields}

    for table in tables:
        for rec in iter_sql('show create table %s' % table, database='default'):
            alltables[table]['meta'] = MySQLMeta(rec)

    return alltables

def change_tables_to_innodb():
    """ Go over all tables in database and change its ENGINE """
    table_info = read_mysql_table_metainfo()

    cursor = connection.cursor()
    cursor.execute("SHOW TABLES")
    tables = []
    for row in cursor.fetchall():
        tables.append(row[0])

    for table in tables:
        if table_info[table]['meta'].ENGINE != 'InnoDB':
            statement = "ALTER TABLE %(table)s "\
                        "ENGINE=InnoDB" % dict(table=table)
            print(statement)
            cursor.execute(statement)
        else:
            print('Table {} already InnoDB, skipping'.format(table))
    cursor.close()



add_constraint_syntax = re.compile(
    'ALTER TABLE `(?P<table>.*?)` '
    'ADD CONSTRAINT `(?P<keyname>.*?)` '\
    'FOREIGN KEY \(`(?P<foreign_key>.*?)`\) '\
    'REFERENCES `(?P<ref_table>.*)` \(`(?P<ref_field>.*)`\);')

constraint_key_syntax = re.compile(
    'CONSTRAINT `(?P<keyname>.*?)` '\
    'FOREIGN KEY \(`(?P<foreign_key>.*?)`\) '\
    'REFERENCES `(?P<ref_table>.*)` \(`(?P<ref_field>.*)`\)')

def is_constraint_definition(line):
    return 'ADD CONSTRAINT' in line

import djyp.core.bin.bad_fk_utils as fk_utils


def remove_bad_fk_objects(constraint_info):
    bad_fk_count_query = """
        SELECT count(*) as bad_fk
          from %(table)s
               left join %(parent_table)s
                 on %(table)s.%(column)s = %(parent_table)s.%(parent_column)s
         where %(table)s.%(column)s is not null
           and %(parent_table)s.%(parent_column)s is null;
        """ % dict(table=constraint_info.group('table'),
                   column=constraint_info.group('foreign_key'),
                   parent_table=constraint_info.group('ref_table'),
                   parent_column=constraint_info.group('ref_field'))
    cursor = connection.cursor()
    try:
        print bad_fk_count_query.strip()
        cursor.execute(bad_fk_count_query)
    except DatabaseError, e:
        print 'Error: ', e
        return
    count = int(cursor.fetchall()[0][0])
    print('--> {}'.format(count))
    if count > 0:
        delete_query = """
        delete %(table)s
          from %(table)s using %(table)s
               left join %(parent_table)s
                 on %(table)s.%(column)s = %(parent_table)s.%(parent_column)s
         where %(table)s.%(column)s is not null
           and %(parent_table)s.%(parent_column)s is null;""" \
        % dict(table=constraint_info.group('table'),
                   column=constraint_info.group('foreign_key'),
                   parent_table=constraint_info.group('ref_table'),
               parent_column=constraint_info.group('ref_field'))

        print delete_query
        try:
            print bad_fk_count_query
            cursor.execute(delete_query)
            transaction.commit_unless_managed()
        except DatabaseError, e:
            print 'Error: ', e
            return



def add_fk_constraints(skip_remove_foreign_key_constraints):
    """ Going over all 'syncdb' output, filter lines which add constraints,
    and apply them where theya are not yet exist """

    print("\n--- Starting to add FK constraints ---\n")
    table_info = read_mysql_table_metainfo()
    cursor = connection.cursor()

    def index_already_present(line):
        """ Compare textual representation of adding constaing using RedEx
        and return True if lookup index defined in `line` already exist """
        parsed = re.search(add_constraint_syntax, line)
        table = parsed.group('table')
        if table in table_info:
            for key in table_info[table]['meta'].keys():
                parsed2 = re.search(constraint_key_syntax, key)
                if not 'CONSTRAINT' in key:
                    continue
                matched = 0
                match_fields = ['keyname', 'foreign_key',
                                'ref_table', 'ref_field']
                for field in match_fields:
                    # check that all fields are equal
                    if parsed.group(field) == parsed2.group(field):
                        matched += 1
                if matched == len(match_fields):
                    return True
        return False

    def add_constraint(sql_command):
        try:
            cursor.execute(sql_command)
            transaction.commit_unless_managed()
        except DatabaseError, e:
            print sql_command
            print 'Error: ', e
            return False
        return True

    added = 0
    present = 0

    for module in get_apps():
        for line in sql_all(module, color.no_style() ,
                            connections['default']):
            if is_constraint_definition(line):
                print line
                constraint_info = re.search(add_constraint_syntax, line)
                if index_already_present(line):
                    present += 1
                else:
                    if add_constraint(line):
                        print(" OK")
                        added += 1
                    else:
                        print("Will try to fix FK first...")
                        remove_bad_fk_objects(constraint_info)
                        add_constraint(line) # attempt #2

    print("\n*** Statistics: {} constraints added, "\
          "skipped already present: {}\n".format(
              added, present))

    cursor.close()


def main():
    parser = optparse.OptionParser()

    parser.add_option('--skip-innodb',
                      dest='skip_innodb',
                      action="store_true",
                      default=False,
                      help='Skip transfer tables to InnoDB')

    parser.add_option('--skip-rmfk',
                      dest='skip_rmfk',
                      action="store_true",
                      default=False,
                      help='Skip removal of bad foreign key references')

    parser.add_option('--skip-const',
                      dest='skip_const',
                      action="store_true",
                      default=False,
                      help='Do not add foreign key references')

    options, arguments = parser.parse_args()

    if not options.skip_innodb:
        change_tables_to_innodb()

    if not options.skip_const:
        add_fk_constraints(options.skip_rmfk)


    return False


if __name__ == '__main__':
    main()

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#11724: 24.1; emacs freeze (full hang, ctrl+G or kill -15 do not help) on rope lucky assist
  2012-06-16  6:36 bug#11724: 24.1; emacs freeze (full hang, ctrl+G or kill -15 do not help) on rope lucky assist Alex V. Koval
@ 2012-06-25  0:59 ` Glenn Morris
       [not found]   ` <20120625071537.2d6804df@avk-v131.local>
  2015-12-25 23:16 ` Lars Ingebrigtsen
  1 sibling, 1 reply; 6+ messages in thread
From: Glenn Morris @ 2012-06-25  0:59 UTC (permalink / raw)
  To: Alex V. Koval; +Cc: 11724

"Alex V. Koval" wrote:

> 1. Have installed rope, pymacs and ropemacs packages of current versions

Thanks for the report, but I'm afraid I'm not familiar with any of these
packages, which aren't part of Emacs. You might have more luck
contacting their maintainers.

> (require 'pymacs)
> (pymacs-load "ropemacs" "rope-")
>
> 3. Open pyton file. try to autocomplete on line 241 (remove part of
> False, like Fa and then call rope-lucky-assist.
>
> 4. Emacs is hang completely and does not react to Ctrl+G. It does
> tries to say that it will save and quite on trying kill -15, but then
> it still hangs.

It looks to be waiting for process output. This may not be an Emacs bug.

>  (gdb) xbacktrace 
> "accept-process-output" (0xffffa710)
[...]
> "pymacs-round-trip" (0xffffbdd0)

A brief search shows pymacs-timeout-at-start defaults to 30s.
Maybe it helps to lower this and related settings.
Again, a pymacs list may be of more help.






^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#11724: 24.1; emacs freeze (full hang, ctrl+G or kill -15 do not help) on rope lucky assist
       [not found]   ` <20120625071537.2d6804df@avk-v131.local>
@ 2012-06-25  7:21     ` Glenn Morris
  2012-06-25 14:51       ` Stefan Monnier
  0 siblings, 1 reply; 6+ messages in thread
From: Glenn Morris @ 2012-06-25  7:21 UTC (permalink / raw)
  To: Alex V. Koval; +Cc: 11724


Alex V. Koval wrote (on Mon, 25 Jun 2012 at 07:15 +0300):

> Yes, I pretty well understand that point. 
> 
> But why emacs 24 hangs completely without reacting
> to C-g and other keys? I consider *this* to be emacs bug because it
> makes it impossible for me to debug the problem on Lisp level to
> properly report it to package maintainers as you suggest. 

I don't know, but I could imagine it being unavoidable in some cases
(like the perennial hanging NFS mount scenario, although that's not
the same thing I guess). We should keep the bug-list cc'd since
someone there may have an answer...

The doc of accept-process-output does say that it does not return
until there is some output. It doesn't mention quitting being
inhibited though. By experiment, it is not:

(setq proc (start-process "sleep" nil "sleep" "60"))

(accept-process-output proc)  ; C-g works fine


So I guess you may need to figure out exactly what the relevant
process is and what it is doing.






^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#11724: 24.1; emacs freeze (full hang, ctrl+G or kill -15 do not help) on rope lucky assist
  2012-06-25  7:21     ` Glenn Morris
@ 2012-06-25 14:51       ` Stefan Monnier
  0 siblings, 0 replies; 6+ messages in thread
From: Stefan Monnier @ 2012-06-25 14:51 UTC (permalink / raw)
  To: Glenn Morris; +Cc: Alex V. Koval, 11724

>> Yes, I pretty well understand that point. 
>> But why Emacs 24 hangs completely without reacting
>> to C-g and other keys?

Because there are situations where Emacs temporarily inhibits C-g.
These are situations where using accept-process-output without a timeout
is fundamentally a bug (it currently doesn't signal an error in those
cases, but it does output a warning message).

>> I consider *this* to be emacs bug because it makes it impossible for
>> me to debug the problem on Lisp level to properly report it to
>> package maintainers as you suggest. 

In Emacs-24, you can set `debug-on-event' to `sigusr1' after which
sending a SIGUSR1 signal to the process will put you in the
Elisp debugger.

> until there is some output. It doesn't mention quitting being
> inhibited though. By experiment, it is not:

Quit is inhibitted while running pre/post-command-hook, timers, process
filters and sentinels, jit-lock, and probably a few more similar cases.

The general rule is that it's inhibited when running code "behind the
back of the user", so that the user won't accidentally interrupt that
code if she hits C-g for some other reason (e.g. to get out of
a minibuffer).


        Stefan





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#11724: 24.1; emacs freeze (full hang, ctrl+G or kill -15 do not help) on rope lucky assist
  2012-06-16  6:36 bug#11724: 24.1; emacs freeze (full hang, ctrl+G or kill -15 do not help) on rope lucky assist Alex V. Koval
  2012-06-25  0:59 ` Glenn Morris
@ 2015-12-25 23:16 ` Lars Ingebrigtsen
  2016-02-29  5:31   ` Lars Ingebrigtsen
  1 sibling, 1 reply; 6+ messages in thread
From: Lars Ingebrigtsen @ 2015-12-25 23:16 UTC (permalink / raw)
  To: Alex V. Koval; +Cc: 11724

"Alex V. Koval" <alex@ua2web.com> writes:

> 1. Have installed rope, pymacs and ropemacs packages of current versions
> avk-v131 ~ # easy_install ropemacs
> Searching for ropemacs
> Best match: ropemacs 0.6
> Processing ropemacs-0.6-py2.7.egg
> ropemacs 0.6 is already the active version in easy-install.pth
>
> Using /usr/lib64/python2.7/site-packages/ropemacs-0.6-py2.7.egg
>
> 2.
>
> (require 'pymacs)
> (pymacs-load "ropemacs" "rope-")
>
> 3. Open pyton file. try to autocomplete on line 241 (remove part of
> False, like Fa and then call rope-lucky-assist.
>
> 4. Emacs is hang completely and does not react to Ctrl+G. It does
> tries to say that it will save and quite on trying kill -15, but then
> it still hangs.

Is this still a problem in Emacs 25?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#11724: 24.1; emacs freeze (full hang, ctrl+G or kill -15 do not help) on rope lucky assist
  2015-12-25 23:16 ` Lars Ingebrigtsen
@ 2016-02-29  5:31   ` Lars Ingebrigtsen
  0 siblings, 0 replies; 6+ messages in thread
From: Lars Ingebrigtsen @ 2016-02-29  5:31 UTC (permalink / raw)
  To: Alex V. Koval; +Cc: 11724

Lars Ingebrigtsen <larsi@gnus.org> writes:

> "Alex V. Koval" <alex@ua2web.com> writes:
>
>> 1. Have installed rope, pymacs and ropemacs packages of current versions
>> avk-v131 ~ # easy_install ropemacs
>> Searching for ropemacs
>> Best match: ropemacs 0.6
>> Processing ropemacs-0.6-py2.7.egg
>> ropemacs 0.6 is already the active version in easy-install.pth
>>
>> Using /usr/lib64/python2.7/site-packages/ropemacs-0.6-py2.7.egg
>>
>> 2.
>>
>> (require 'pymacs)
>> (pymacs-load "ropemacs" "rope-")
>>
>> 3. Open pyton file. try to autocomplete on line 241 (remove part of
>> False, like Fa and then call rope-lucky-assist.
>>
>> 4. Emacs is hang completely and does not react to Ctrl+G. It does
>> tries to say that it will save and quite on trying kill -15, but then
>> it still hangs.
>
> Is this still a problem in Emacs 25?

More information was requested, but no response was given within a few
months, so I'm closing this bug report.  If the problem still exists,
please reopen this bug report.
-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-02-29  5:31 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-16  6:36 bug#11724: 24.1; emacs freeze (full hang, ctrl+G or kill -15 do not help) on rope lucky assist Alex V. Koval
2012-06-25  0:59 ` Glenn Morris
     [not found]   ` <20120625071537.2d6804df@avk-v131.local>
2012-06-25  7:21     ` Glenn Morris
2012-06-25 14:51       ` Stefan Monnier
2015-12-25 23:16 ` Lars Ingebrigtsen
2016-02-29  5:31   ` Lars Ingebrigtsen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).