[opensuse] Dictd dies with segfault
Hi all, When trying to start the dictd as root it dies with a segfault: [prompt]/etc/init.d: ./dictd start Starting DICTDdictd (_log_check_filename): Cannot open "/var/log/dictd" for append startproc: signal catched /usr/sbin/dictd: Segmentation fault failed I've fetched the source, recompiled with debug info enabled: gdb /usr/sbin/dictd ... This GDB was configured as "x86_64-suse-linux"... Using host libthread_db library "/lib64/libthread_db.so.1". (gdb) run -L /var/log/dictd Starting program: /usr/sbin/dictd -L /var/log/dictd .cshrc: No such file or directory. dictd (_log_check_filename): Cannot open "/var/log/dictd" for append Program received signal SIGSEGV, Segmentation fault. 0x00002b01acc26bd0 in strlen () from /lib64/libc.so.6 (gdb) where #0 0x00002b01acc26bd0 in strlen () from /lib64/libc.so.6 #1 0x00002b01acbf684d in vfprintf () from /lib64/libc.so.6 #2 0x00002b01acc18e7a in vsnprintf () from /lib64/libc.so.6 #3 0x000000000041b5a1 in _log_base_va (routine=0x428f30 "_log_check_filename", log_facility=3, format=0x428dbb "Cannot open \"%s\" for append\n", ap=0x7ffffe52ac90) at log.c:322 #4 0x000000000041b781 in log_error_va (routine=0x60 <Address 0x60 out of bounds>, format=0x7ffffe52acc8 "�", '�' <repeats 14 times>, "�.u`q.knfزR��\177", ap=0x0) at log.c:359 #5 0x00000000004169ee in err_fatal_errno (routine=0x428f30 "_log_check_filename", format=0x428dbb "Cannot open \"%s\" for append\n") at error.c:109 #6 0x000000000041b4ca in _log_check_filename () at log.c:217 #7 0x000000000041b9a1 in log_file (ident=<value optimized out>, filename=<value optimized out>) at log.c:237 #8 0x0000000000405c18 in main (argc=3, argv=0x7ffffe52b2b8, envp=0x7ffffe52b2d8) at dictd.c:1660 (gdb) Somebody out there who can confirm this behavior ? I'm running openSUSE 10.3, x86_64, dictd-1.10.9-16. Kind regards, Stephan. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
Stephan Hegel escribió:
Hi all,
When trying to start the dictd as root it dies with a segfault:
yes , unfortunately the package is broken :( to avoid the crash you need to create a writable log file called /var/log/dictd Unfortunately the deamnon later fails to start because it wants confi files in /usr/etc.. :( also, it should not segfault when opening the file.. -- "If eval() is the answer, you're almost certainly asking the wrong question." --Rasmus Lerdorf Cristian Rodríguez R, Core Services SUSE LINUX Products GmbH Research & Development http://www.opensuse.org/ -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
Hi again, Cristian Rodriguez wrote:
Stephan Hegel escribió: yes , unfortunately the package is broken :(
to avoid the crash you need to create a writable log file called /var/log/dictd Well, it seems it's not enough, that it is writable for root only. It needs 666 access rights, even when I start the init script as root. I guess it is started with uid=daemon or something like that, right ?
Unfortunately the deamnon later fails to start because it wants config files in /usr/etc.. :(
also, it should not segfault when opening the file.. ... that's perfectly true ;).
BTW, there is already a dictd package 1.10.10 on sourceforge. Don't know if it is supposed to fix this problem. Rgds, Stephan. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
participants (2)
-
Cristian Rodriguez
-
Stephan Hegel