* 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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.