Re: xserver-sun* breakage.
Ben Collins <bcollins@debian.org> writes:
> On Fri, Sep 03, 1999 at 02:32:22PM +0200, Tomas Berndtsson wrote:
> > Ben Collins <bcollins@debian.org> writes:
> >
> > > > I use /dev/fb0 in another program (fbview with oFBis, a framebuffer
> > > > library) and that works just fine, so I don't understand why opening
> > > > the /dev/fb0 would give EBUSY for the X server.
> > >
> > > What are the perms on /dev/fb0?
> >
> > 644, owner root group root. And I run startx as root too.
>
> 644 or 622? Mine looks like this:
>
> crw--w--w- 1 root tty 29, 0 Feb 20 1999 /dev/fb0
>
> Try doing this:
>
> chown root.tty /dev/fb0
> chmod 622 /dev/fb0
>
> MAKEDEV should also work in creating it with the correct perms.
yeah, sorry, I had misread the strace output, so this wasn't the
problem. I also had /dev/cgthree0 and /dev/cgsix0 which are symlinks
to /dev/fb0, and that why /dev/fb0 was busy. I removed those for this
strace now.
But the problem that it doesn't run remains.. the strace output
follows later. I hope you can get something out of it.
This is only from the X server process, which is the one that seems to
fail. If you need more, I'll send it to you..
Tomas
-- strace --
getuid() = 0
getgid() = 0
chown("/dev/tty12", 0, 0) = 0
getuid() = 0
getgid() = 0
chown("/dev/console", 0, 0) = 0
getuid() = 0
getgid() = 0
chown("/dev/tty0", 0, 0) = 0
ioctl(6, VT_GETSTATE, 0xefffea20) = 0
open("/dev/tty", O_RDWR) = 7
ioctl(7, TIOCNOTTY, 0) = 0
close(7) = 0
ioctl(6, VT_ACTIVATE, 0xc) = 0
ioctl(6, VT_WAITACTIVE, 0xc) = 0
ioctl(6, VT_GETMODE, 0xefffeaa0) = 0
rt_sigaction(SIGUSR1, {0x4a220, [], SA_RESTART}, {SIG_IGN}, 0x500c2454, 8) = 0
ioctl(6, VT_SETMODE, 0xefffeaa0) = 0
open("/dev/cgtwo0", O_RDWR) = -1 ENOENT (No such file or directory)
open("/dev/cgtwo1", O_RDWR) = -1 ENOENT (No such file or directory)
open("/dev/cgtwo2", O_RDWR) = -1 ENOENT (No such file or directory)
open("/dev/cgthree0", O_RDWR) = -1 ENOENT (No such file or directory)
open("/dev/cgthree1", O_RDWR) = -1 ENOENT (No such file or directory)
open("/dev/cgthree2", O_RDWR) = -1 ENOENT (No such file or directory)
open("/dev/cgsix0", O_RDWR) = -1 ENOENT (No such file or directory)
open("/dev/cgsix1", O_RDWR) = -1 ENOENT (No such file or directory)
open("/dev/cgsix2", O_RDWR) = -1 ENOENT (No such file or directory)
open("/dev/cgfour0", O_RDWR) = -1 ENOENT (No such file or directory)
open("/dev/bwtwo0", O_RDWR) = -1 ENOENT (No such file or directory)
open("/dev/bwtwo1", O_RDWR) = -1 ENOENT (No such file or directory)
open("/dev/bwtwo2", O_RDWR) = -1 ENOENT (No such file or directory)
open("/dev/fb0", O_RDWR) = 7
ioctl(7, FBIOGATTR, 0x2d8e30) = 0
ioctl(7, 0x80144604, 0x2cca30) = 0
open("/dev/fb1", O_RDWR) = 2440704
open("/dev/fb1", O_RDWR) = 2440704
open("/dev/fb1", O_RDWR) = -1 ENODEV (No such device)
open("/dev/fb2", O_RDWR) = 2440688
open("/dev/fb2", O_RDWR) = 2440688
open("/dev/fb2", O_RDWR) = -1 ENODEV (No such device)
fstat(7, {st_mode=S_IFCHR|0622, st_rdev=makedev(29, 0), ...}) = 0
brk(0x2da000) = 0x2da000
mmap() = 0x501a1000
ioctl(7, FBIOGCURMAX, 0xefffe960) = 0
ioctl(7, FBIOSVIDEO, 0xefffea04) = 0
brk(0x2dc000) = 0x2dc000
ioctl(7, 0x80144603, 0xefffd878) = 0
ioctl(7, 0x80144603, 0xefffd878) = 0
ioctl(7, 0x80144603, 0xefffe5e0) = 0
rt_sigaction(SIGWINCH, {SIG_IGN}, {SIG_DFL}, 0x500c2454, 8) = 0
open("/dev/null", O_RDONLY|O_NONBLOCK|O_DIRECTORY|0x4) = -1 ENOTDIR (Not a directory)
open("/usr/X11R6/lib/X11/fonts/PEX", O_RDONLY|O_NONBLOCK|O_DIRECTORY|0x4) = 8
fstat(8, {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0
fcntl(8, F_SETFD, FD_CLOEXEC) = 0
brk(0x2de000) = 0x2de000
getdents(8, /* 4 entries */, 3933) = 76
close(8) = 0
open("/usr/X11R6/lib/X11/fonts/PEX/Roman_M.phont", O_RDONLY) = 8
read(8, "tnhpRoman\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 108) = 108
fstat(8, {st_mode=S_IFREG|0644, st_size=13616, ...}) = 0
mmap() = 0x5001a000
_llseek(0x8, 0, 0, 0xefffc008, 0) = 0
read(8, "tnhpRoman\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 256) = 256
close(8) = 0
munmap(0x5001a000, 8192) = 0
write(2, "PEXExtensionInit: Couldn\'t open "..., 62) = 62
write(2, "\n", 1) = 1
--- SIGSEGV (Segmentation fault) ---
Reply to: