unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#7723: Process list gone wild
@ 2010-12-24 10:07 Lennart Borgman
  2010-12-24 11:33 ` Eli Zaretskii
  0 siblings, 1 reply; 8+ messages in thread
From: Lennart Borgman @ 2010-12-24 10:07 UTC (permalink / raw)
  To: 7723

Got this when I tried to exit Emacs:

Debugger entered--Lisp error: (wrong-type-argument char-or-string-p
("c:/emacs/EmacsW32/nxhtml/etc/wds/DesktopSearch.rb" "c:/" "journey"))
  list-processes(t)
  save-buffers-kill-emacs(nil)
  save-buffers-kill-terminal(nil)
  call-interactively(save-buffers-kill-terminal nil nil)





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

* bug#7723: Process list gone wild
  2010-12-24 10:07 bug#7723: Process list gone wild Lennart Borgman
@ 2010-12-24 11:33 ` Eli Zaretskii
  2010-12-24 12:17   ` Lennart Borgman
  0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2010-12-24 11:33 UTC (permalink / raw)
  To: Lennart Borgman; +Cc: 7723

> From: Lennart Borgman <lennart.borgman@gmail.com>
> Date: Fri, 24 Dec 2010 11:07:16 +0100
> Cc: 
> 
> Got this when I tried to exit Emacs:
> 
> Debugger entered--Lisp error: (wrong-type-argument char-or-string-p
> ("c:/emacs/EmacsW32/nxhtml/etc/wds/DesktopSearch.rb" "c:/" "journey"))
>   list-processes(t)
>   save-buffers-kill-emacs(nil)
>   save-buffers-kill-terminal(nil)
>   call-interactively(save-buffers-kill-terminal nil nil)

Lennart, _PLEASE_ make a point of using report-emacs-bug to report
bugs.  You consistently don't do that, and thus your reports don't
include important information, such as the Emacs version, the date of
its build (which hints on the code base), etc.  Coming from such a
veteran Emacs user and developer, it is unreasonable.





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

* bug#7723: Process list gone wild
  2010-12-24 11:33 ` Eli Zaretskii
@ 2010-12-24 12:17   ` Lennart Borgman
  2010-12-25 12:33     ` Eli Zaretskii
  0 siblings, 1 reply; 8+ messages in thread
From: Lennart Borgman @ 2010-12-24 12:17 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 7723

On Fri, Dec 24, 2010 at 12:33 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>> From: Lennart Borgman <lennart.borgman@gmail.com>
>> Date: Fri, 24 Dec 2010 11:07:16 +0100
>> Cc:
>>
>> Got this when I tried to exit Emacs:
>>
>> Debugger entered--Lisp error: (wrong-type-argument char-or-string-p
>> ("c:/emacs/EmacsW32/nxhtml/etc/wds/DesktopSearch.rb" "c:/" "journey"))
>>   list-processes(t)
>>   save-buffers-kill-emacs(nil)
>>   save-buffers-kill-terminal(nil)
>>   call-interactively(save-buffers-kill-terminal nil nil)
>
> Lennart, _PLEASE_ make a point of using report-emacs-bug to report
> bugs.  You consistently don't do that, and thus your reports don't
> include important information, such as the Emacs version, the date of
> its build (which hints on the code base), etc.  Coming from such a
> veteran Emacs user and developer, it is unreasonable.

Ah, yes, sorry. I think this is enough here for the version:

GNU Emacs 24.0.50.1 (i386-mingw-nt5.1.2600) from trunk 2010-10-19

I think the problem is missing error handling in the C code. I
frequently ran out of some OS resources (because of a long standing
bug in windows xp) and those things does not seem to be checked in the
C sources always.





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

* bug#7723: Process list gone wild
  2010-12-24 12:17   ` Lennart Borgman
@ 2010-12-25 12:33     ` Eli Zaretskii
  2010-12-25 15:29       ` Lennart Borgman
  0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2010-12-25 12:33 UTC (permalink / raw)
  To: Lennart Borgman; +Cc: 7723

> From: Lennart Borgman <lennart.borgman@gmail.com>
> Date: Fri, 24 Dec 2010 13:17:40 +0100
> Cc: 7723@debbugs.gnu.org
> 
> I think the problem is missing error handling in the C code.

Maybe.  But with the information you presented, I cannot see what
error handling is needed and where.  The error message probably comes
from one of the calls to `insert' made by list-processes, but it's not
clear which one.  The offending value, viz.:

  ("c:/emacs/EmacsW32/nxhtml/etc/wds/DesktopSearch.rb" "c:/" "journey")

looks like the command-line arguments of some process, is that right?
If so, there's a loop in list_processes_1, a subroutine of
list-processes, that should have walked this list inserting its
elements one by one.  Unless you provide more information from the C
level, I cannot figure out why did that fail and what to o to fix
that.

If you can reproduce this, put a breakpoint inside list_processes_1,
and see which of the calls to Finsert signals the error and why.





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

* bug#7723: Process list gone wild
  2010-12-25 12:33     ` Eli Zaretskii
@ 2010-12-25 15:29       ` Lennart Borgman
  2010-12-25 17:29         ` Eli Zaretskii
  0 siblings, 1 reply; 8+ messages in thread
From: Lennart Borgman @ 2010-12-25 15:29 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 7723

On Sat, Dec 25, 2010 at 1:33 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>> From: Lennart Borgman <lennart.borgman@gmail.com>
>> Date: Fri, 24 Dec 2010 13:17:40 +0100
>> Cc: 7723@debbugs.gnu.org
>>
>> I think the problem is missing error handling in the C code.
>
> Maybe.  But with the information you presented, I cannot see what
> error handling is needed and where.  The error message probably comes
> from one of the calls to `insert' made by list-processes, but it's not
> clear which one.  The offending value, viz.:
>
>  ("c:/emacs/EmacsW32/nxhtml/etc/wds/DesktopSearch.rb" "c:/" "journey")
>
> looks like the command-line arguments of some process, is that right?

Yes, it is from a call to start-process.

> If so, there's a loop in list_processes_1, a subroutine of
> list-processes, that should have walked this list inserting its
> elements one by one.  Unless you provide more information from the C
> level, I cannot figure out why did that fail and what to o to fix
> that.

As I have said before: all calls to the system must be carefully checked.

> If you can reproduce this, put a breakpoint inside list_processes_1,
> and see which of the calls to Finsert signals the error and why.

It is not reproducible, of course. It could be something Emacs can not
fix - or it might be that Emacs does not check a return value  (or
condition) from the system somewhere. A thing you will never notice
unless some extreme condition is there on the host system.





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

* bug#7723: Process list gone wild
  2010-12-25 15:29       ` Lennart Borgman
@ 2010-12-25 17:29         ` Eli Zaretskii
  2010-12-25 17:42           ` Lennart Borgman
  2011-07-11 23:48           ` Glenn Morris
  0 siblings, 2 replies; 8+ messages in thread
From: Eli Zaretskii @ 2010-12-25 17:29 UTC (permalink / raw)
  To: Lennart Borgman; +Cc: 7723

> From: Lennart Borgman <lennart.borgman@gmail.com>
> Date: Sat, 25 Dec 2010 16:29:31 +0100
> Cc: 7723@debbugs.gnu.org
> 
> As I have said before: all calls to the system must be carefully checked.

A call to Finsert is not a system call.  And there's nothing
system-call'ish in the fact that a value that was supposed to be a
Lisp string is instead a list of strings.  I would rather suspect some
rare condition in the code that doesn't get handled correctly.

> > If you can reproduce this, put a breakpoint inside list_processes_1,
> > and see which of the calls to Finsert signals the error and why.
> 
> It is not reproducible, of course.

Well, then how about running Emacs under a debugger, and when that
happens again, looking around for the information I requested?





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

* bug#7723: Process list gone wild
  2010-12-25 17:29         ` Eli Zaretskii
@ 2010-12-25 17:42           ` Lennart Borgman
  2011-07-11 23:48           ` Glenn Morris
  1 sibling, 0 replies; 8+ messages in thread
From: Lennart Borgman @ 2010-12-25 17:42 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 7723

On Sat, Dec 25, 2010 at 6:29 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>> From: Lennart Borgman <lennart.borgman@gmail.com>
>> Date: Sat, 25 Dec 2010 16:29:31 +0100
>> Cc: 7723@debbugs.gnu.org
>>
>> As I have said before: all calls to the system must be carefully checked.
>
> A call to Finsert is not a system call.  And there's nothing
> system-call'ish in the fact that a value that was supposed to be a
> Lisp string is instead a list of strings.  I would rather suspect some
> rare condition in the code that doesn't get handled correctly.

No, of course not. But the fact is that I have only seen this problem
when system resources left are low. That is why I suspect some system
call mixing things up.

From your comment I think you believe that this could happen anywhere
in Emacs, though it is rare. It could be true. I think I have filed a
bug report about blinking cursor that perhaps might be related. For
some reason I do not understand the cursor sometimes starts to blink
very fast.

That problem is reproducible.

>> > If you can reproduce this, put a breakpoint inside list_processes_1,
>> > and see which of the calls to Finsert signals the error and why.
>>
>> It is not reproducible, of course.
>
> Well, then how about running Emacs under a debugger, and when that
> happens again, looking around for the information I requested?

I will try to, thanks.





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

* bug#7723: Process list gone wild
  2010-12-25 17:29         ` Eli Zaretskii
  2010-12-25 17:42           ` Lennart Borgman
@ 2011-07-11 23:48           ` Glenn Morris
  1 sibling, 0 replies; 8+ messages in thread
From: Glenn Morris @ 2011-07-11 23:48 UTC (permalink / raw)
  To: 7723-done


If you ever get this information, please reopen or reply to this report.
Otherwise there is nothing to be done.

Eli Zaretskii wrote:

> Well, then how about running Emacs under a debugger, and when that
> happens again, looking around for the information I requested?





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

end of thread, other threads:[~2011-07-11 23:48 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-24 10:07 bug#7723: Process list gone wild Lennart Borgman
2010-12-24 11:33 ` Eli Zaretskii
2010-12-24 12:17   ` Lennart Borgman
2010-12-25 12:33     ` Eli Zaretskii
2010-12-25 15:29       ` Lennart Borgman
2010-12-25 17:29         ` Eli Zaretskii
2010-12-25 17:42           ` Lennart Borgman
2011-07-11 23:48           ` Glenn Morris

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).