Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 112539 - xorg-server-0.99.3-r2 segfaults when try to start
Summary: xorg-server-0.99.3-r2 segfaults when try to start
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: Highest critical (vote)
Assignee: Gentoo X packagers
URL: https://bugs.freedesktop.org/show_bug...
Whiteboard:
Keywords:
Depends on:
Blocks: 112004
  Show dependency tree
 
Reported: 2005-11-14 12:15 UTC by Torsten Krah
Modified: 2006-03-27 08:15 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Torsten Krah 2005-11-14 12:15:06 UTC
I tried to get modular X working and merged Xorg7RC2.

When i want to start X it segfaults immidiately. No log is written ( its empty
). With oder without xorg.conf, it segfaults.

I tried to get debugging symbols in, but when compile breaks with:

make[1]: Entering directory
`/var/tmp/portage/xorg-server-0.99.3-r2/work/xorg-server-0.99.3/hw/xfree86/common'
if i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../../../include
-I../../../include -I../../../include -I../../../include -I../../../include
-I../../../include -I../../../hw/xfree86 -I../../../hw/xfree86/include
-I../../../hw/xfree86/common -I../../../hw/xfree86/os-support
-I../../../hw/xfree86/os-support/bus -I../../../os -I./../ddc -I./../i2c
-I./../loader -I./../rac -I./../parser -I./../scanpci -I./../vbe -I./../int10
-I./../vgahw -I./../dixmods/extmod   -DHAVE_XORG_CONFIG_H -Wall -Wpointer-arith
-Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs
-fno-strict-aliasing -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT
-I/usr/include/freetype2   -I../../../include -I../../../include -I../../../Xext
-I../../../composite -I../../../damageext -I../../../xfixes -I../../../Xi
-I../../../mi -I../../../miext/shadow  -I../../../miext/damage -I../../../render
-I../../../randr -I../../../fb -I../../../lbx   -O2 -mcpu=i686
-fomit-frame-pointer -pipe -MT xf86Debug.o -MD -MP -MF ".deps/xf86Debug.Tpo" \
  -c -o xf86Debug.o `test -f 'xf86Debug.c' || echo './'`xf86Debug.c; \
then mv -f ".deps/xf86Debug.Tpo" ".deps/xf86Debug.Po"; \
else rm -f ".deps/xf86Debug.Tpo"; exit 1; \
fi
xf86Debug.c:48: Warnung: no previous prototype for `xf86Break1'
xf86Debug.c:52: Warnung: no previous prototype for `xf86Break2'
xf86Debug.c:56: Warnung: no previous prototype for `xf86Break3'
xf86Debug.c:129: Warnung: no previous prototype for `xf86PeekFb8'
xf86Debug.c:130: Warnung: no previous prototype for `xf86PeekFb16'
xf86Debug.c:131: Warnung: no previous prototype for `xf86PeekFb32'
xf86Debug.c:132: Warnung: no previous prototype for `xf86PokeFb8'
xf86Debug.c:133: Warnung: no previous prototype for `xf86PokeFb16'
xf86Debug.c:134: Warnung: no previous prototype for `xf86PokeFb32'
xf86Debug.c:137: Warnung: no previous prototype for `xf86PeekMmio8'
xf86Debug.c:142: Warnung: no previous prototype for `xf86PeekMmio16'
xf86Debug.c:147: Warnung: no previous prototype for `xf86PeekMmio32'
xf86Debug.c:152: Warnung: no previous prototype for `xf86PokeMmio8'
xf86Debug.c:157: Warnung: no previous prototype for `xf86PokeMmio16'
xf86Debug.c:162: Warnung: no previous prototype for `xf86PokeMmio32'
xf86Debug.c:168: error: Syntaxfehler before '*' token
xf86Debug.c:169: Warnung: function declaration isn't a prototype
xf86Debug.c: In Funktion 
Comment 1 Torsten Krah 2005-11-14 12:15:06 UTC
I tried to get modular X working and merged Xorg7RC2.

When i want to start X it segfaults immidiately. No log is written ( its empty
). With oder without xorg.conf, it segfaults.

I tried to get debugging symbols in, but when compile breaks with:

make[1]: Entering directory
`/var/tmp/portage/xorg-server-0.99.3-r2/work/xorg-server-0.99.3/hw/xfree86/common'
if i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../../../include
-I../../../include -I../../../include -I../../../include -I../../../include
-I../../../include -I../../../hw/xfree86 -I../../../hw/xfree86/include
-I../../../hw/xfree86/common -I../../../hw/xfree86/os-support
-I../../../hw/xfree86/os-support/bus -I../../../os -I./../ddc -I./../i2c
-I./../loader -I./../rac -I./../parser -I./../scanpci -I./../vbe -I./../int10
-I./../vgahw -I./../dixmods/extmod   -DHAVE_XORG_CONFIG_H -Wall -Wpointer-arith
-Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs
-fno-strict-aliasing -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT
-I/usr/include/freetype2   -I../../../include -I../../../include -I../../../Xext
-I../../../composite -I../../../damageext -I../../../xfixes -I../../../Xi
-I../../../mi -I../../../miext/shadow  -I../../../miext/damage -I../../../render
-I../../../randr -I../../../fb -I../../../lbx   -O2 -mcpu=i686
-fomit-frame-pointer -pipe -MT xf86Debug.o -MD -MP -MF ".deps/xf86Debug.Tpo" \
  -c -o xf86Debug.o `test -f 'xf86Debug.c' || echo './'`xf86Debug.c; \
then mv -f ".deps/xf86Debug.Tpo" ".deps/xf86Debug.Po"; \
else rm -f ".deps/xf86Debug.Tpo"; exit 1; \
fi
xf86Debug.c:48: Warnung: no previous prototype for `xf86Break1'
xf86Debug.c:52: Warnung: no previous prototype for `xf86Break2'
xf86Debug.c:56: Warnung: no previous prototype for `xf86Break3'
xf86Debug.c:129: Warnung: no previous prototype for `xf86PeekFb8'
xf86Debug.c:130: Warnung: no previous prototype for `xf86PeekFb16'
xf86Debug.c:131: Warnung: no previous prototype for `xf86PeekFb32'
xf86Debug.c:132: Warnung: no previous prototype for `xf86PokeFb8'
xf86Debug.c:133: Warnung: no previous prototype for `xf86PokeFb16'
xf86Debug.c:134: Warnung: no previous prototype for `xf86PokeFb32'
xf86Debug.c:137: Warnung: no previous prototype for `xf86PeekMmio8'
xf86Debug.c:142: Warnung: no previous prototype for `xf86PeekMmio16'
xf86Debug.c:147: Warnung: no previous prototype for `xf86PeekMmio32'
xf86Debug.c:152: Warnung: no previous prototype for `xf86PokeMmio8'
xf86Debug.c:157: Warnung: no previous prototype for `xf86PokeMmio16'
xf86Debug.c:162: Warnung: no previous prototype for `xf86PokeMmio32'
xf86Debug.c:168: error: Syntaxfehler before '*' token
xf86Debug.c:169: Warnung: function declaration isn't a prototype
xf86Debug.c: In Funktion »xf86STimestamp«:
xf86Debug.c:170: error: `timestamp' undeclared (first use in this function)
xf86Debug.c:170: error: (Each undeclared identifier is reported only once
xf86Debug.c:170: error: for each function it appears in.)
xf86Debug.c:173: error: `xf86TsRec' undeclared (first use in this function)
xf86Debug.c: Auf höchster Ebene:
xf86Debug.c:179: error: Syntaxfehler before '*' token
xf86Debug.c:180: Warnung: function declaration isn't a prototype
xf86Debug.c: In Funktion »xf86SPTimestamp«:
xf86Debug.c:181: error: `timestamp' undeclared (first use in this function)
xf86Debug.c:192: error: `str' undeclared (first use in this function)
xf86Debug.c:194: error: `xf86TsRec' undeclared (first use in this function)
make[1]: *** [xf86Debug.o] Fehler 1
make[1]: Leaving directory
`/var/tmp/portage/xorg-server-0.99.3-r2/work/xorg-server-0.99.3/hw/xfree86/common'


Note: I made an overleay server ebuild to get debugging symbols in. 

It fails - dont know wher to search for those two missing functions, which are
declared extern.

Reproducible: Always
Steps to Reproduce:
1. emerge xorg-server
2. X 
3.

Actual Results:  
It segfaults.

Expected Results:  
Start the X Server.

Portage 2.0.51.22-r3 (default-linux/x86/2005.0, gcc-3.3.6, glibc-2.3.5-r2, 2.6.1
4-p35-r2 i686)
=================================================================
System uname: 2.6.14-p35-r2 i686 Intel(R) Pentium(R) M processor 1.60GHz
Gentoo Base System version 1.6.13
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disable d]
ccache version 2.3 [disabled]
dev-lang/python:     2.3.5-r2, 2.4.2
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.15.92.0.2-r10
sys-devel/libtool:   1.5.20
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -mcpu=i686 -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /opt/openjms/config /usr/kde/2/share/config /usr/kde/3.4/en
v /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/l
ib/mozilla/defaults/pref /usr/share/X11/xkb /usr/share/config /usr/share/texmf/d
vipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/confi
g/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/bind /var/qma
il/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/mail/dspam /etc/splash /etc/terminfo /etc/e
nv.d"
CXXFLAGS="-O2 -mcpu=i686 -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks keepwork noinfo sandbox sfperms strict"
GENTOO_MIRRORS="ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo http://linux.rz.r
uhr-uni-bochum.de/download/gentoo-mirror/"
LANG="de_DE.UTF-8"
LC_ALL="de_DE.UTF-8"
LINGUAS="de"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/gentoo-de /usr/local/portage/default"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X aalib acl adns alsa apm arts audiofile avi bash-completion berkdb bit
map-fonts bonobo bzip2 cdr cjk crypt cups curl dga dts dvd eds emboss encode esd
 ethereal exif expat fam ffmpeg flac foomaticdb fortran gd gdbm gif glut gmp gno
me gphoto2 gpm gstreamer gtk gtk2 gtkhtml guile hal howl idn imagemagick imlib i
pv6 jack java jikes jpeg junit kde kerberos lcms ldap libcaca libg++ libwww mad
mcal mhash mikmod ming mmx mng motif mozilla mp3 mpeg mysql nas ncurses nls nptl
 odbc ogg oggvorbis openal opengl oss pam pcre pdflib perl png postgres python q
t quicktime readline recode samba scanner sdl slang snmp speex spell sqlite sse
sse2 ssl svga tcltk tcpd tetex tiff truetype truetype-fonts type1-fonts udev uni
code usb vorbis wmf xine xinerama xml xml2 xmms xprint xv xvid zlib linguas_de u
serland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LDFLAGS
Comment 2 Donnie Berkholz (RETIRED) gentoo-dev 2005-11-14 12:41:06 UTC
I'm not clear on what exactly you're doing to get debugging in there, or why
you're using an overlay to do it.

Try this:

CFLAGS="-ggdb3 -pipe" FEATURES="nostrip" emerge xorg-server
Comment 3 Torsten Krah 2005-11-14 14:22:33 UTC
(In reply to comment #1)
> I'm not clear on what exactly you're doing to get debugging in there, or why
> you're using an overlay to do it.
> 
> Try this:
> 
> CFLAGS="-ggdb3 -pipe" FEATURES="nostrip" emerge xorg-server

Ok, sorry i tried overlay to get debugging symbols with "--enable-debug".

Guess it works so too like u mentioned.

Now the output is following in gdb:

Starting program: /usr/bin/X

Program received signal SIGSEGV, Segmentation fault.
0x081f9b6b in ConvertAddr (saddr=0x0, len=0xbfaf1764, addr=0xbfaf1760)
    at access.c:1861
1861    access.c: Datei oder Verzeichnis nicht gefunden.
        in access.c
(gdb)

Any suggestions?

best regards
Comment 4 Torsten Krah 2005-11-14 14:33:49 UTC
Some more Output + Stack Trace:

Program received signal SIGSEGV, Segmentation fault.
0x081f9b6b in ConvertAddr (saddr=0x0, len=0xbfbb83c4, addr=0xbfbb83c0)
    at access.c:1861
1861        switch (saddr->sa_family)
(gdb) bt
#0  0x081f9b6b in ConvertAddr (saddr=0x0, len=0xbfbb83c4, addr=0xbfbb83c0)
    at access.c:1861
#1  0x081f87dc in DefineSelf (fd=1) at access.c:983
#2  0x081fb30d in CreateWellKnownSockets () at connection.c:432
#3  0x0806f611 in main (argc=1, argv=0xbfbb8524, envp=0xbfbb852c) at main.c:318

hope it helps.

regards
Comment 5 Torsten Krah 2005-11-14 15:27:34 UTC
(In reply to comment #3)
> Some more Output + Stack Trace:
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0x081f9b6b in ConvertAddr (saddr=0x0, len=0xbfbb83c4, addr=0xbfbb83c0)
>     at access.c:1861
> 1861        switch (saddr->sa_family)
> (gdb) bt
> #0  0x081f9b6b in ConvertAddr (saddr=0x0, len=0xbfbb83c4, addr=0xbfbb83c0)
>     at access.c:1861
> #1  0x081f87dc in DefineSelf (fd=1) at access.c:983
> #2  0x081fb30d in CreateWellKnownSockets () at connection.c:432
> #3  0x0806f611 in main (argc=1, argv=0xbfbb8524, envp=0xbfbb852c) at main.c:318
> 
> hope it helps.
> 
> regards

Some nice information to me was:

Program received signal SIGSEGV, Segmentation fault.
0x081f9b6b in ConvertAddr (saddr=0x0, len=0xbfdfd214, addr=0xbfdfd210)
    at access.c:1861
1861        switch (saddr->sa_family)
(gdb) frame 1
#1  0x081f87dc in DefineSelf (fd=1) at access.c:983
983             family = ConvertAddr(ifr->ifa_addr, &len, (pointer *)&addr);
(gdb) print *ifr
$1 = {ifa_next = 0x824d1e0, ifa_name = 0x824d1cc "irda0", ifa_flags = 128,
  ifa_addr = 0x0, ifa_netmask = 0x0, ifa_ifu = {ifu_broadaddr = 0x0,
    ifu_dstaddr = 0x0}, ifa_data = 0x824d6c4}
(gdb)

So it seems, irda0 - and so teql0 ( i use both devices ), get a null pointer to
saddr and so xorg segfaults.

I disabled irda0 and teql0 to see it it works and there it works.
Hope this helps a little bit.

best regards
Comment 6 Joshua Baergen (RETIRED) gentoo-dev 2005-11-15 21:35:06 UTC
Are those devices are properly configured and functioning at the time of crash?
 And after the crash?
Comment 7 Torsten Krah 2005-11-16 01:57:46 UTC
(In reply to comment #5)
> Are those devices are properly configured and functioning at the time of crash?
>  And after the crash?

The irda0 Device was configured properly and functioning. Before and after the
Crash. 

irda0     Protokoll:IrLAP  Hardware Adresse 00:00:00:00
          UP RUNNING NOARP  MTU:2048  Metric:1
          RX packets:11 errors:0 dropped:0 overruns:0 frame:0
          TX packets:84 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenl
Comment 8 Torsten Krah 2005-11-16 01:57:46 UTC
(In reply to comment #5)
> Are those devices are properly configured and functioning at the time of crash?
>  And after the crash?

The irda0 Device was configured properly and functioning. Before and after the
Crash. 

irda0     Protokoll:IrLAP  Hardware Adresse 00:00:00:00
          UP RUNNING NOARP  MTU:2048  Metric:1
          RX packets:11 errors:0 dropped:0 overruns:0 frame:0
          TX packets:84 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:8
          RX bytes:330 (330.0 b)  TX bytes:2640 (2.5 Kb)

It works before and after the crash, irdadump found my handy before and after crash.

The teql0 is configured properly, although its not in use at the moment.

Before crash and after crash same state so far i can say:

teql0     Protokoll:UNSPEC  Hardware Adresse
00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet Adresse:10.0.0.0  Bcast:0.0.0.0  Maske:255.255.255.254
          UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:100
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

Program received signal SIGSEGV, Segmentation fault.
0x081f9b6b in ConvertAddr (saddr=0x0, len=0xbffe4e74, addr=0xbffe4e70) at
access.c:1861
1861        switch (saddr->sa_family)
(gdb) frame 1
#1  0x081f87dc in DefineSelf (fd=1) at access.c:983
983             family = ConvertAddr(ifr->ifa_addr, &len, (pointer *)&addr);
(gdb) print *ifr
$1 = {ifa_next = 0x824d220, ifa_name = 0x824d20c "teql0", ifa_flags = 195,
ifa_addr = 0x0, ifa_netmask = 0x0, ifa_ifu = {
    ifu_broadaddr = 0x0, ifu_dstaddr = 0x0}, ifa_data = 0x824d788}


Both devices are there in same configuration in 6.8.x and there it works fine.

best regards
Comment 9 Joshua Baergen (RETIRED) gentoo-dev 2005-11-16 08:16:44 UTC
Alright, well, I think it's fairly safe to say this is an upstream problem. File
a bug at https://bugs.freedesktop.org and post the link here. Thanks :)
Comment 10 Torsten Krah 2005-11-16 10:19:24 UTC
Added Bug Report at freedesktop.org.

https://bugs.freedesktop.org/show_bug.cgi?id=5068

best regards
Comment 11 Joshua Baergen (RETIRED) gentoo-dev 2006-03-26 12:34:39 UTC
Has this been fixed in more recent versions?
Comment 12 Torsten Krah 2006-03-27 00:47:52 UTC
Not yet - a patch exists but acording to spyderous its now! fixed in cvs upstream - i cant confirm this, but we'll see in a few days when a new release will be there.

kind regards
Comment 13 Donnie Berkholz (RETIRED) gentoo-dev 2006-03-27 08:15:29 UTC
That patch is in xorg-server 1.0.2.