unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Re: Segfault when calling network-interface-info on OpenBSD
       [not found] <200512292201.jBTM1rFC026969@rocksteady.printf.se>
@ 2005-12-30  4:57 ` Richard M. Stallman
  2005-12-30 11:03   ` Andreas Schwab
  0 siblings, 1 reply; 7+ messages in thread
From: Richard M. Stallman @ 2005-12-30  4:57 UTC (permalink / raw)
  Cc: emacs-devel

Can you examine the immediate cause of the crash?  What data is invalid?



Symptoms:

Evaluating (network-interface-info "rl0") (rl0 is a network interface on
this machine) causes Emacs to segfault with the below backtrace on an
OpenBSD 3.8 system.


#0  0x08156c8e in intern (str=0xfff7f08e <Address 0xfff7f08e out of bounds>) at lread.c:3141
#1  0x0816cb10 in Fnetwork_interface_info (ifname=139458061) at process.c:3565
#2  0x0813fee9 in Feval (form=0) at eval.c:2219
#3  0x081408e3 in Ffuncall (nargs=2, args=0xcfbbdf84) at eval.c:2879
#4  0x0816719f in Fbyte_code (bytestr=140396409, vector=1, maxdepth=-809771136) at bytecode.c:694
#5  0x08140c0a in funcall_lambda (fun=136906940, nargs=1, arg_vector=0xcfbbe0d4) at eval.c:3066
#6  0x081407c5 in Ffuncall (nargs=2, args=0xcfbbe0d0) at eval.c:2934
#7  0x0816719f in Fbyte_code (bytestr=140396385, vector=1, maxdepth=-809770800) at bytecode.c:694
#8  0x08140c0a in funcall_lambda (fun=136907772, nargs=1, arg_vector=0xcfbbe214) at eval.c:3066
#9  0x081407c5 in Ffuncall (nargs=2, args=0xcfbbe210) at eval.c:2934
#10 0x0816719f in Fbyte_code (bytestr=136905083, vector=1, maxdepth=-809770480) at bytecode.c:694
#11 0x08140c0a in funcall_lambda (fun=136905052, nargs=0, arg_vector=0xcfbbe374) at eval.c:3066
#12 0x081407c5 in Ffuncall (nargs=1, args=0xcfbbe370) at eval.c:2934
#13 0x08140586 in apply1 (fn=138559329, arg=137376769) at eval.c:2624
#14 0x0813d104 in Fcall_interactively (function=138559329, record_flag=137376769, keys=137391620) at callint.c:412
#15 0x080ee8a7 in Fcommand_execute (cmd=138559329, record_flag=137376769, keys=137376769, special=137376769) at keyboard.c:9749
#16 0x080e4129 in command_loop_1 () at keyboard.c:1784
#17 0x0813ee1c in internal_condition_case (bfun=0x80e3db0 <command_loop_1>, handlers=137490009, hfun=0x80e3910 <cmd_error>) at eval.c:1465
#18 0x080e3c36 in command_loop_2 () at keyboard.c:1321
#19 0x0813e9c1 in internal_catch (tag=0, func=0x80e3c18 <command_loop_2>, arg=137376769) at eval.c:1211
#20 0x080e3bed in command_loop () at keyboard.c:1300
#21 0x080e36c8 in recursive_edit_1 () at keyboard.c:993
#22 0x080e37e8 in Frecursive_edit () at keyboard.c:1054
#23 0x080e2139 in main (argc=2, argv=0xcfbbe870) at emacs.c:1786


In GNU Emacs 22.0.50.1 (i386-unknown-openbsd3.8, GTK+ Version 2.8.8)
 of 2005-12-28 on rocksteady.printf.se
X server distributor `The X.Org Foundation', version 11.0.60802000
configured using `configure '--prefix=/usr/local/emacs' '--with-gtk''

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

* Re: Segfault when calling network-interface-info on OpenBSD
  2005-12-30  4:57 ` Segfault when calling network-interface-info on OpenBSD Richard M. Stallman
@ 2005-12-30 11:03   ` Andreas Schwab
  2005-12-30 13:17     ` Henrik Enberg
                       ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Andreas Schwab @ 2005-12-30 11:03 UTC (permalink / raw)
  Cc: Henrik Enberg, emacs-devel

"Richard M. Stallman" <rms@gnu.org> writes:

> #0  0x08156c8e in intern (str=0xfff7f08e <Address 0xfff7f08e out of bounds>) at lread.c:3141
> #1  0x0816cb10 in Fnetwork_interface_info (ifname=139458061) at process.c:3565

The problem is that network-interface-info didn't correctly terminate the
loop over the interface flags table.  I've checked in a fix for that.
OpenBSD apparently has some additional flags that are not listed in
ifflag_table.

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

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

* Re: Segfault when calling network-interface-info on OpenBSD
  2005-12-30 11:03   ` Andreas Schwab
@ 2005-12-30 13:17     ` Henrik Enberg
  2005-12-30 22:11     ` Richard M. Stallman
  2006-01-01 22:37     ` Kim F. Storm
  2 siblings, 0 replies; 7+ messages in thread
From: Henrik Enberg @ 2005-12-30 13:17 UTC (permalink / raw)
  Cc: rms, emacs-devel

> > #0  0x08156c8e in intern (str=0xfff7f08e <Address 0xfff7f08e out of bounds>) at lread.c:3141
> > #1  0x0816cb10 in Fnetwork_interface_info (ifname=139458061) at process.c:3565
> 
> The problem is that network-interface-info didn't correctly terminate the
> loop over the interface flags table.  I've checked in a fix for that.
> OpenBSD apparently has some additional flags that are not listed in
> ifflag_table.

Your change does indeed fix it for me, no more segfault, and it returns
the correct data.  Thank you.

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

* Re: Segfault when calling network-interface-info on OpenBSD
  2005-12-30 11:03   ` Andreas Schwab
  2005-12-30 13:17     ` Henrik Enberg
@ 2005-12-30 22:11     ` Richard M. Stallman
  2006-01-01 22:37     ` Kim F. Storm
  2 siblings, 0 replies; 7+ messages in thread
From: Richard M. Stallman @ 2005-12-30 22:11 UTC (permalink / raw)
  Cc: henrik.enberg, emacs-devel

Thanks for fixing it.

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

* Re: Segfault when calling network-interface-info on OpenBSD
  2005-12-30 11:03   ` Andreas Schwab
  2005-12-30 13:17     ` Henrik Enberg
  2005-12-30 22:11     ` Richard M. Stallman
@ 2006-01-01 22:37     ` Kim F. Storm
  2006-01-02 16:33       ` Henrik Enberg
  2 siblings, 1 reply; 7+ messages in thread
From: Kim F. Storm @ 2006-01-01 22:37 UTC (permalink / raw)
  Cc: Henrik Enberg, rms, emacs-devel

Andreas Schwab <schwab@suse.de> writes:

> "Richard M. Stallman" <rms@gnu.org> writes:
>
>> #0  0x08156c8e in intern (str=0xfff7f08e <Address 0xfff7f08e out of bounds>) at lread.c:3141
>> #1  0x0816cb10 in Fnetwork_interface_info (ifname=139458061) at process.c:3565
>
> The problem is that network-interface-info didn't correctly terminate the
> loop over the interface flags table.  I've checked in a fix for that.
> OpenBSD apparently has some additional flags that are not listed in
> ifflag_table.

Thank you for fixing the problem.

However, it would be good to add the missing BSD flags to the table.
Does anybody know what's missing?
 
-- 
Kim F. Storm <storm@cua.dk> http://www.cua.dk

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

* Re: Segfault when calling network-interface-info on OpenBSD
  2006-01-01 22:37     ` Kim F. Storm
@ 2006-01-02 16:33       ` Henrik Enberg
  2006-01-16  9:05         ` YAMAMOTO Mitsuharu
  0 siblings, 1 reply; 7+ messages in thread
From: Henrik Enberg @ 2006-01-02 16:33 UTC (permalink / raw)
  Cc: schwab, rms, emacs-devel

> > The problem is that network-interface-info didn't correctly terminate the
> > loop over the interface flags table.  I've checked in a fix for that.
> > OpenBSD apparently has some additional flags that are not listed in
> > ifflag_table.
> 
> Thank you for fixing the problem.
> 
> However, it would be good to add the missing BSD flags to the table.
> Does anybody know what's missing?

net/if.h on OpenBSD lists the following flags not mentioned in
ifflag_table:

IFF_OACTIV	/* transmission in progress */
IFF_SIMPLEX	/* can't hear own transmissions */
IFF_LINK0	/* per link layer defined bit */
IFF_LINK1	/* per link layer defined bit */
IFF_LINK2	/* per link layer defined bit */

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

* Re: Segfault when calling network-interface-info on OpenBSD
  2006-01-02 16:33       ` Henrik Enberg
@ 2006-01-16  9:05         ` YAMAMOTO Mitsuharu
  0 siblings, 0 replies; 7+ messages in thread
From: YAMAMOTO Mitsuharu @ 2006-01-16  9:05 UTC (permalink / raw)
  Cc: schwab, emacs-devel, rms, Kim F. Storm

>>>>> On Mon, 2 Jan 2006 17:33:17 +0100 (CET), Henrik Enberg <henrik.enberg@telia.com> said:

>> However, it would be good to add the missing BSD flags to the
>> table.  Does anybody know what's missing?

> net/if.h on OpenBSD lists the following flags not mentioned in
> ifflag_table:

> IFF_OACTIV /* transmission in progress */

Looks like a typo of IFF_OACTIVE.

I installed some changes including the above one.  There still remain
some issues for Darwin/Mac OS X (maybe also for *BSD, but I'm not
sure), but most of them are already mentioned in
http://lists.gnu.org/archive/html/emacs-devel/2003-11/msg00204.html.
Is his assignment paper not ready yet?  Or is there any reason not to
adopt it?

				     YAMAMOTO Mitsuharu
				mituharu@math.s.chiba-u.ac.jp

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

end of thread, other threads:[~2006-01-16  9:05 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <200512292201.jBTM1rFC026969@rocksteady.printf.se>
2005-12-30  4:57 ` Segfault when calling network-interface-info on OpenBSD Richard M. Stallman
2005-12-30 11:03   ` Andreas Schwab
2005-12-30 13:17     ` Henrik Enberg
2005-12-30 22:11     ` Richard M. Stallman
2006-01-01 22:37     ` Kim F. Storm
2006-01-02 16:33       ` Henrik Enberg
2006-01-16  9:05         ` YAMAMOTO Mitsuharu

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