| Summary: | hal 0.5.4 not starting: osspec.c problem | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Emiliano Vavassori <syntaxerrormmm> |
| Component: | [OLD] Core system | Assignee: | Project Gentopia <gentopia> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | d.paolino, geoman |
| Priority: | High | ||
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
|
Description
Emiliano Vavassori
2005-11-11 08:16:55 UTC
*** This bug has been marked as a duplicate of 109082 *** Reopening, since this bug is actually different from the problem originally described in 109082, and a new bug was requested there. Would you mind re-emerging dbus .50 (should be -r1 or above), and then stopping dbus, re-emerge it yet again, and then emerge hal after that - then attempt to start, and give output? Also, is this SELinux or any other special file permissions or so forth? (In reply to comment #3) > Would you mind re-emerging dbus .50 (should be -r1 or above), and then stopping > dbus, re-emerge it yet again, and then emerge hal after that - then attempt to > start, and give output? What you request is the exact procedure I run to install dbus and hal: 1. emerge -C dbus hal 2. rm -rf /etc/hal/ 3. rm -rf /etc/dbus-1/ 4. emerge -av dbus hal The problem persists. equery l dbus: * installed packages [I--] [ ] sys-apps/dbus-0.50-r1 (0) equery l hal: * installed packages [I--] [ ] sys-apps/hal-0.5.4 (0) > Also, is this SELinux or any other special file permissions or so forth? No SELinux. What kind of 'other special file permissions' do you think at? I'm a desktop user... Where I can find the correct file permissions to set in my box? I have this system since 2004 and I mantain it every day. Last thing: famd does not start, as stated by Gnome Upgrade Guide from Gentoo documentation. Same problem with me guys ... same problem for me since 1 week... wolverine ~ # /etc/init.d/hald start * Starting D-BUS system messagebus ... [ ok ] * Starting Hardware Abstraction Layer daemon ... [ !! ] wolverine ~ # hald --daemon=no --verbose=yes 13:47:04.349 [I] hald.c:494: hal 0.5.4 13:47:04.349 [I] hald.c:498: Will not daemonize 13:47:04.350 [I] hald_dbus.c:3043: local server is listening at unix:abstract=/tmp/hald-local/dbus-0UgiHuXDpo,guid=c89274434fe8b0b72d6b17fdf1a1fb00 13:47:04.350 [I] osspec.c:351: sysfs mount point is '/sys' 13:47:04.351 [I] osspec.c:356: proc mount point is '/proc' *** [DIE] osspec.c:osspec_init():374 : Unable to bind to netlink socket then I do that: #/etc/init.d/dbus stop #/etc/init.d/hald stop #emerge -C dbus hal #rm -rf /etc/dbus-1 #rm -rf /etc/hal #emerge dbus hal #eix hal * sys-apps/hal Available versions: 0.4.5-r2 0.4.7-r2 0.4.8 0.5.4 Installed: 0.5.4 Homepage: http://www.freedesktop.org/Software/hal Description: Hardware Abstraction Layer #eix dbus * sys-apps/dbus Available versions: 0.23-r3 0.23.2 0.23.2-r1 0.23.4 0.23.4-r1 0.36.2 0.50 0.50-r1 Installed: 0.50-r1 Homepage: http://dbus.freedesktop.org/ Description: A message bus system, a simple way for applications to talk to eachother and I still have the SAME error ... what's wrong ?? #emerge --info Gentoo Base System version 1.12.0_pre10 Portage 2.0.53_rc7 (default-linux/x86/2005.1, gcc-3.4.4, glibc-2.3.5-r3, 2.6.14-gentoo i686) ================================================================= System uname: 2.6.14-gentoo i686 Intel(R) Pentium(R) III CPU - S 1400MHz distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] dev-lang/python: 2.2.3-r5, 2.3.5, 2.4.2 sys-apps/sandbox: 1.2.13 sys-devel/autoconf: 2.13, 2.59-r7 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.16.1 sys-devel/libtool: 1.5.20-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium3 -O3 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-march=pentium3 -O3 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache digest distlocks fixpackages sandbox sfperms strict" GENTOO_MIRRORS="http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/" LC_ALL="fr_FR.UTF-8" LINGUAS="fr" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 7zip X aalib acl alsa apache2 apm arts audiofile avi bash-completion berkdb bitmap-fonts bluetooth browserplugin bzip2 cdr crypt cups curl dba dvd dvdread eds emboss encode esd ethereal exif expat extras fam ffmpeg firebird flac foomaticdb fortran gd gdbm gif glut gmp gphoto2 gpm gtk gtk2 guile hal idn imagemagick imlib ipv6 irmc java jpeg kde kerberos kqemu lcms ldap libg++ libwww lua mad mbox mcal mhash mikmod mmx mmx2 mmxext mng motif mozilla mp3 mpeg mpeg4 mplayer musicbrainz mysql ncurses nls nptl nvidia ogg oggvorbis openal opengl pam pcre pda pdflib perl php png python qt quicktime readline recode samba sdl session slang smp sockets spell sse sse2 ssl svg svga svgz tcltk tcpd tetex tiff truetype truetype-fonts type1-fonts udev unicode usb userlocales utf8 v4l v4l2 vorbis win32codecs winbind wmf wxwindows xine xinerama xml2 xv xvid zlib linguas_fr userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LDFLAGS Same problem with hal-0.5.5.1. Same error. # strace hald --daemon=no --verbose=yes
execve("/usr/sbin/hald", ["hald", "--daemon=no", "--verbose=yes"], [/* 42 vars
*/]) = 0
uname({sys="Linux", node="syntaxerrormmm", ...}) = 0
brk(0) = 0x8082000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=90537, ...}) = 0
mmap2(NULL, 90537, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7ef8000
close(3) = 0
open("/usr/lib/libdbus-glib-1.so.1", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240\2\300"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=116656, ...}) = 0
mmap2(0x48bfa000, 113116, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0)
= 0x48bfa000
mmap2(0x48c15000, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b) = 0x48c15000
close(3) = 0
open("/usr/lib/libgobject-2.0.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300n^G"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=264280, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7ef7000
mmap2(0x475e1000, 261792, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0)
= 0x475e1000
mmap2(0x47620000, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3f) = 0x47620000
close(3) = 0
open("/usr/lib/libglib-2.0.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260\320"..., 512) =
512fstat64(3, {st_mode=S_IFREG|0755, st_size=647796, ...}) = 0
mmap2(0x47541000, 646864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0)
= 0x47541000
mmap2(0x475de000, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9c) = 0x475de000
close(3) = 0
open("/usr/lib/libdbus-1.so.1", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@5\252H"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=365140, ...}) = 0
mmap2(0x48a9f000, 364504, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0)
= 0x48a9f000
mmap2(0x48af7000, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x57) = 0x48af7000
close(3) = 0
open("/lib/libnsl.so.1", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@\345\330"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=76924, ...}) = 0
mmap2(0x47d8b000, 83968, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x47d8b000
mmap2(0x47d9c000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10) = 0x47d9c000
mmap2(0x47d9e000, 6144, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x47d9e000
close(3) = 0
open("/lib/libm.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p\223=G"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=155808, ...}) = 0
mmap2(0x473d6000, 139424, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0)
= 0x473d6000
mmap2(0x473f7000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x20) = 0x473f7000
close(3) = 0
open("/usr/lib/libexpat.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@QlG4\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=190056, ...}) = 0
mmap2(0x476c3000, 190948, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0)
= 0x476c3000
mmap2(0x476f0000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2c) = 0x476f0000
close(3) = 0
open("/lib/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 -G4\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1205688, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7ef6000
mmap2(0x472bd000, 1141948, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0)
= 0x472bd000
mmap2(0x473ce000, 16384, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x111) = 0x473ce000
mmap2(0x473d2000, 7356, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x473d2000
close(3) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7ef5000
mprotect(0x473ce000, 4096, PROT_READ) = 0
mprotect(0x472b9000, 4096, PROT_READ) = 0
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7ef56b0, limit:1048575,
seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0,
useable:1}) = 0
munmap(0xb7ef8000, 90537) = 0
open("/dev/urandom", O_RDONLY) = 3
read(3, "\202\225\302\333", 4) = 4
close(3) = 0
brk(0) = 0x8082000
brk(0x80a3000) = 0x80a3000
gettimeofday({1132679220, 228799}, {4294967236, 0}) = 0
open("/etc/localtime", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=951, ...}) = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=951, ...}) = 0
mmap2(NULL, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7ed5000
read(3, "TZif\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\6\0\0\0\6\0"..., 131072) = 951
close(3) = 0
munmap(0xb7ed5000, 131072) = 0
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=951, ...}) = 0
write(2, "18:07:00.228 [I] hald.c:511: hal"..., 4118:07:00.228 [I] hald.c:511:
hal 0.5.5.1
) = 41
gettimeofday({1132679220, 260772}, {4294967236, 0}) = 0
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=951, ...}) = 0
write(2, "18:07:00.260 [I] hald.c:575: Wil"..., 4818:07:00.260 [I] hald.c:575:
Will not daemonize
) = 48
pipe([3, 4]) = 0
fstat64(3, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
fcntl64(3, F_GETFL) = 0 (flags O_RDONLY)
rt_sigaction(SIGTERM, {0x8056020, [TERM], SA_RESTART}, {SIG_DFL}, 8) = 0
open("/dev/urandom", O_RDONLY) = 5
read(5, "\274\271I;\206\235M\367\321\212", 10) = 10
close(5) = 0
socket(PF_FILE, SOCK_STREAM, 0) = 5
bind(5, {sa_family=AF_FILE, path=@/tmp/hald-local/dbus-CzLxK7PzXO}, 110) = 0
listen(5, 30) = 0
fcntl64(5, F_GETFL) = 0x2 (flags O_RDWR)
fcntl64(5, F_SETFL, O_RDWR|O_NONBLOCK) = 0
fcntl64(5, F_GETFD) = 0
fcntl64(5, F_SETFD, FD_CLOEXEC) = 0
gettimeofday({1132679220, 324230}, NULL) = 0
open("/dev/urandom", O_RDONLY) = 6
read(6, "9\34\6\211\214Qcy\271(\302\236", 12) = 12
close(6) = 0
gettimeofday({1132679220, 324796}, {4294967236, 0}) = 0
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=951, ...}) = 0
write(2, "18:07:00.324 [I] hald_dbus.c:304"..., 14818:07:00.324 [I]
hald_dbus.c:3048: local server is listening at
unix:abstract=/tmp/hald-local/dbus-CzLxK7PzXO,guid=34508343391c06898c516379b928c200
) = 148
fstat64(5, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0
fcntl64(5, F_GETFL) = 0x802 (flags O_RDWR|O_NONBLOCK)
socket(PF_FILE, SOCK_DGRAM, 0) = 6
bind(6, {sa_family=AF_FILE, path=@/var/run/hal/hotplug_socket2}, 31) = 0
setsockopt(6, SOL_SOCKET, SO_PASSCRED, [1], 4) = 0
fstat64(6, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0
fcntl64(6, F_GETFL) = 0x2 (flags O_RDWR)
open("/proc/mounts", O_RDONLY) = 7
fstat64(7, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7f0e000
read(7, "rootfs / rootfs rw 0 0\n/dev/root"..., 1024) = 405
close(7) = 0
munmap(0xb7f0e000, 4096) = 0
gettimeofday({1132679220, 419969}, {4294967236, 0}) = 0
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=951, ...}) = 0
write(2, "18:07:00.419 [I] osspec.c:347: s"..., 5918:07:00.419 [I] osspec.c:347:
sysfs mount point is '/sys'
) = 59
open("/proc/mounts", O_RDONLY) = 7
fstat64(7, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7f0e000
read(7, "rootfs / rootfs rw 0 0\n/dev/root"..., 1024) = 405
close(7) = 0
munmap(0xb7f0e000, 4096) = 0
gettimeofday({1132679220, 454024}, {4294967236, 0}) = 0
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=951, ...}) = 0
write(2, "18:07:00.454 [I] osspec.c:352: p"..., 5918:07:00.454 [I] osspec.c:352:
proc mount point is '/proc'
) = 59
socket(PF_NETLINK, SOCK_DGRAM, 15) = 7
getpid() = 13364
bind(7, {sa_family=AF_NETLINK, pid=13364, groups=ffffffff}, 12) = -1 ENOENT (No
such file or directory)
fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 3), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7f0e000
write(1, "*** [DIE] osspec.c:osspec_init()"..., 72*** [DIE]
osspec.c:osspec_init():370 : Unable to bind to netlink socket
) = 72
munmap(0xb7f0e000, 4096) = 0
exit_group(1) = ?
$ equery l -i hal
[ Searching for package 'hal' in all categories among: ]
* installed packages
[I--] [ ] sys-apps/hal-0.5.5.1 (0)
Please ensure that you have netlink support enabled in the kernel. (In reply to comment #8) > Please ensure that you have netlink support enabled in the kernel. $ fgrep -i netlink /usr/src/linux-2.6.14-gentoo-r2/.config CONFIG_NETFILTER_NETLINK=y # CONFIG_NETFILTER_NETLINK_QUEUE is not set # CONFIG_NETFILTER_NETLINK_LOG is not set I had the same problem and after digging in hal and kernel sources for a while
I finally found the solution: You need to enable "General Setup -> Kernel
Userspace Events" in your kernel configuration.
Just for those interested I can briefly describe what I did and found in more
detail.
The relevant line of the strace (as posted above) is:
bind(7, {sa_family=AF_NETLINK, pid=13364, groups=ffffffff}, 12) = -1 ENOENT
(No such file or directory)
The error code that bind() returns depends on the protocol family used
(AF_NETLINK in this case).
In the kernel sources
in /usr/src/linux-2.6.14-gentoo-r2/net/netlink/af_netlink.c I found that the
function netlink_bind() gets eventually called when bind() is used with the
AF_NETLINK protocol. netlink_bind() in turn returns ENOENT when this check
fails:
if (!nl_table[sk->sk_protocol].registered)
err = -ENOENT;
sk->sk_protocol is provided by hal with a value of NETLINK_KOBJECT_UEVENT.
Searching a bit further it became clear that this protocol is only
"registered" when kobject_uevent.o is compiled into the kernel.
(In reply to comment #10) > You need to enable "General Setup -> Kernel > Userspace Events" in your kernel configuration. Worked like a charm for me, also on gentoo-sources-2.6.14-r3. Thanks a lot. Thanks for taking the time to diagnose the issue. Added a fix for this in portage, the latest version should now fail to build if you do not have Userspace Events unset. |