New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Auto-completion results in runaway emacs process in emacs 24.4 on Debian using 2016-04-23-5f6855e-vpo #1070
Comments
Original Redmine Comment Here is the TOP output better formatted. Note CPU is at 100%, and %MEM will grow.
|
Original Redmine Comment I just tried the same example on Windows 7 with an older version I had installed there. GNU Emacs 24.5.1 (x86_64-w64-mingw32) of 2015-05-16 on KAEL Similar results ... although CPU does not go to 100%, just to 15% but memory increases without bound until process is killed with C-g. More details of the Laptop from systeminfo
|
Original Redmine Comment I get a emacs error. Can you please do M-x eval-expression (setq debug-on-quit t) then quickly after the hang hit ctrl-g and attach the resulting Backtrace buffer? I apologize in advance as it might take a bit of time to get back to you with a fix on this. |
Original Redmine Comment I tried following you directions, but it did not seem to work. When I pressed C-g, I did not get a backtrace. I alternately tried the menu "Options->Enter DEbugger on Quit/C-g" After invoking the issue by pressing "M-?" then selecting "initial" with the left mouse, I would see the emacs session go to 100% in top, but C-g still did not create a back trace. Seems odd. Tried to go into debugger before pressing M-? and it did not work then either. Note the "Quit" message shows up in the Messages buffer, and the process that causes the cpu to peg at 100% are stopped. Just the debugger does not come up. The same behaviour was observed in the Win 7 environment also. Here is the Messages buffer contents:
|
Original Redmine Comment After fiddling around I tried this recipe: I caused the problem using "M-?" and selected "initial" with left mouse. Control goes back to emacs (what ever process that is causing 100% CPU must be a separate thread) I then used M-x eval-expression (debug) This dropped me into the debugger. I then stepped through the code. I notice a loop where the stack frame goes through Let me paste the loop that I see ... I think there are about 35-40 steps Perhaps somehow in an infinite loop over font-lock?
|
Original Redmine Comment That debug-on-quit doesn't work, and that there are no calls to verilog-mode in the functions you indicate mean that the bug is in the Emacs internals. It might mean that some setup verilog-mode does is funky but it at least needs to be debugged there. Please file a bug as described here: https://www.gnu.org/software/emacs/manual/html_node/emacs/Checklist.html#Checklist |
Original Redmine Comment Done I will update this bug when I get an acknowledgement. |
Original Redmine Comment This issue is also being tracked as bug#23842: 24.4; Runaway background process at bug-gnu-emacs http://lists.gnu.org/archive/html/bug-gnu-emacs/2016-06/msg01098.html |
Original Redmine Comment Does this feature work for anyone? I could not get it to work in emacs 23.1 or 24.1 or 24.4. Which version of emacs was it developed it? What is the intended behaviour? Here is a response from an emacs developer who questions how the code in the function "verilog-show-completions" could ever work. http://lists.gnu.org/archive/html/bug-gnu-emacs/2016-06/msg01229.html
|
Original Redmine Comment Looking at the git history, this code was designed for Emacs 19. Given the error this must be pretty infrequently used. If you'd be willing to give it some love to clean it up, it would be appreciated. |
Original Redmine Comment Hi Wilson, I will see what I can do. First I have to figure out what the right paradigm is now handling a completion buffer in recent emacsen. I think the problem in the current code is that the call to momentary-string-display behaves differently now than it did in emacs 19. Do you suggest that the feature be made conditional? Ie. check the version of emacs in use and use old behaviour for Emacs 19. Not sure when the behaviour started failing. I know it does not work in emacs 23 or 24. Not sure about 20, 21, 22. Not sure how retro you want to maintain the code. Ian |
Original Redmine Comment We generally try to keep as many versions as possible, but I think think in this case Emacs 23 is a fine lowest bar. |
Original Redmine Comment AFAIK this is still an issue. |
Author Name: Ian Perryman
Original Redmine Issue: 1070 from https://www.veripool.org
I was attempting to use the auto completion which is bound to M-?
I have a very small example, hopefully no need for an attachement.
I am using:
You are using verilog-mode 2016-04-23-5f6855e-vpo
On a debian system:
Linux desk-02 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u6 (2015-11-09) x86_64 GNU/Linux
Using Emacs
GNU Emacs 24.4.1 (x86_64-pc-linux-gnu, GTK+ Version 3.14.5) of 2015-03-07 on trouble, modified by Debian
Example file "moo.sv"
module moo; iniI put cursor at end of second line (right after the ini)
I press M-? to complete "ini".
A buffer Completions" comes up with "initial" in it.
I select "initial" with a left-mouse click.
Completions buffer disappears, but my source file is unmodified.
The CPU pegs at 100% for the emacs process in top.
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
27864 iperrym+ 20 0 676308 234784 28768 R 100.3 1.5 1:25.21 emacs
Left unchecked the process will eventually exhaust all memory and die. Sometimes taking machine down with it.
The process seems to be in the background since emacs continues to operate fine (ie. I can continue to edit the file without much difficulty until the memory runs out (about 5 or 10 minutes)
Hitting "C-g" successfully kills the process.
The text was updated successfully, but these errors were encountered: