Subject: Re: Latest compat_linux changes in current- break OpenOffice
To: Vincent <10.50@free.fr>
From: Jaromir Dolecek <jdolecek@NetBSD.org>
List: current-users
Date: 11/11/2005 20:07:04
On Fri, Nov 11, 2005 at 04:55:03PM +0100, Vincent wrote:
> Hi!
>
> it seems that the latest sys/compat/linux modifications have "broken"
> OpenOffice 2.0. It exits before actual launch with a "Killed" status.
This might be related to revision 1.24 of sys/compat/linux/common/linux_sched.c
I'm not really sure the current code is correct. The code should
only kill threads in the same thread group (i.e. ones cloned via
clone(...CLONE_THREAD). The current code will kill more that that,
the setting of group_pid is somewhat suspicious.
Can you test if going back to revision 1.23 would fix that? If that would
fix it, revision 1.24 should be backed off.
Jaromir
> Here is a kdump:
>
> 11074 bash NAMI "/usr/libexec/ld.elf_so"
> 684 soffice.bin GIO fd 23 read 82 bytes
> "lp:
> queuing is enabled
> printing is enabled
> 1 entry in spool area
> printer idle
> "
> 684 soffice.bin RET read 82/0x52
> 684 soffice.bin CALL read(0x17,0xb9000000,0x4000)
> 17736 bash RET waitpid 11074/0x2b42
> 17736 bash CALL rt_sigprocmask(2,0xbfbfdda0,0,8)
> 17736 bash RET rt_sigprocmask 0
> 17736 bash CALL rt_sigaction(SIGINT,0xbfbfdb80,0xbfbfdaf0,8)
> 17736 bash RET rt_sigaction 0
> 17736 bash CALL exit_group(0)
> 684 soffice.bin GIO fd 23 read 0 bytes
> ""
> 684 soffice.bin RET read 0
> 684 soffice.bin CALL close(0x17)
> 684 soffice.bin RET close 0
> 684 soffice.bin CALL waitpid(0x4548,0xb79ff4f0,0)
> 684 soffice.bin RET waitpid 17736/0x4548
> 684 soffice.bin CALL munmap(0xb9000000,0x4000)
> 684 soffice.bin RET munmap 0
> 684 soffice.bin CALL exit_group(0)
> 8829 soffice.bin RET poll -1 errno -4 Interrupted system call
> 8829 soffice.bin PSIG SIGKILL SIG_DFL
> 15047 soffice.bin RET socketcall -1 errno -3 No such process
> 15047 soffice.bin PSIG SIGKILL SIG_DFL
> 5413 soffice.bin RET poll -1 errno -4 Interrupted system call
> 5413 soffice.bin PSIG SIGKILL SIG_DFL
> 18118 soffice.bin RET nanosleep -1 errno -4 Interrupted system call
> 18118 soffice.bin PSIG SIGKILL SIG_DFL
> 1323 soffice.bin PSIG SIGKILL SIG_DFL
> 307 sh RET wait4 1323/0x52b
> 307 sh CALL write(2,0x8072a80,0xc)
> 307 sh GIO fd 2 wrote 12 bytes
> "[1] Killed"
> 307 sh RET write 12/0xc
> 307 sh CALL write(2,0x8072a80,0x25)
> 307 sh GIO fd 2 wrote 37 bytes
> " \"${sd_prog}/${sd..."
> 307 sh RET write 37/0x25
> 307 sh CALL write(2,0x8072a80,1)
> 307 sh GIO fd 2 wrote 1 bytes
> "
> "
> 307 sh RET write 1
> 307 sh CALL exit(0)
>
> Executing the same code on 3.99.9 works.
> Any clue ?
>
> Vincent
--
Jaromir Dolecek <jdolecek@NetBSD.org> http://www.NetBSD.cz/
-=- We can walk our road together if our goals are all the same; -=-
-=- We can run alone and free if we pursue a different aim. -=-