ports/119880: emulators/linux_base-f7 - [linux] OpenOffice 2.x fails after portupgrade with "error writing file"

Boris Samorodov bsam at ipt.ru
Tue Jan 22 04:29:23 PST 2008


(CCing Alexander Leidinger)

On Tue, 22 Jan 2008 15:10:10 +0400 Gaspar Chilingarov wrote:
> Boris Samorodov wrote:
> > The port itself doesn't install LINUXBASE/tmp (it is removed before
> > install). Take a look at the Makefile:
> > -----
> > ...
> > REMOVE_DIRS= boot dev home initrd root tmp var/log var/run var/tmp
> > ...
> > -----
> >
> > Seems that you have a stale directory. Please check it up.

> I got the source of the problem.

> If you run OpenOffice using root account,

I never use user applications using root account.

> it creates /compat/linux/tmp
> with illegal permissions.

I'd say that this is an openoffice bug (unless it behaves so only
under linuxulator but not native linux)...

> Shouldn't linuxolator report to linux applications that /tmp exists,
> even if we have no /compat/linux/tmp, but have /tmp ? This is a trace
> of opeoffice calls

>  42087 soffice.bin CALL  close(0xc)
>  42087 soffice.bin RET   close 0
>  42087 soffice.bin CALL  linux_mkdir(0xffffc5fc,0x1ff)
>  42087 soffice.bin NAMI  "/compat/linux"
>  42087 soffice.bin NAMI  "/compat/linux/tmp"
>  42087 soffice.bin RET   linux_mkdir 0
>  42087 soffice.bin CALL  umask(0x3f)
>  42087 soffice.bin RET   umask 18/0x12
>  42087 soffice.bin CALL  linux_open(0xffffc4e4,0x18800,0xffffc4e8)
>  42087 soffice.bin NAMI  "/compat/linux/tmp"
>  42087 soffice.bin NAMI  "/compat/linux"
>  42087 soffice.bin NAMI  "/compat/linux/tmp"
>  42087 soffice.bin RET   linux_open 12/0xc
>  42087 soffice.bin CALL  linux_fstat64(0xc,0xffffc468,0x2935fff4)
>  42087 soffice.bin RET   linux_fstat64 0
>  42087 soffice.bin CALL  linux_fcntl64(0xc,0x2,0x1)
>  42087 soffice.bin RET   linux_fcntl64 0
>  42087 soffice.bin CALL  umask(0x12)
>  42087 soffice.bin RET   umask 63/0x3f
>  42087 soffice.bin CALL  close(0xc)
>  42087 soffice.bin RET   close 0
>  42087 soffice.bin CALL  gettimeofday(0xffffd4ec,0)
>  42087 soffice.bin RET   gettimeofday 0
>  42087 soffice.bin CALL  linux_mkdir(0xffffc4ec,0x1ff)
>  42087 soffice.bin NAMI  "/compat/linux/tmp"
>  42087 soffice.bin NAMI  "/compat/linux/tmp/sv248.tmp"
>  42087 soffice.bin RET   linux_mkdir 0
>  42087 soffice.bin CALL  linux_mkdir(0xffffbd30,0x1ff)

> As you can see, mkdir does not check, that fallback directory exists,
> but creates one under /compat/linux .... is it right?

...the bug is not to check for the directory existence.
BTW, what version do you use?

> I'm off the -emulation list, so please cc me.

> Kernel info:
> FreeBSD aldan.web.am 8.0-CURRENT FreeBSD 8.0-CURRENT #1: Thu Jan 10
> 22:39:43 AMT 2008
> root at aldan.web.am:/mnt/ufsflash/src/obj/usr/src1/sys/nm  amd64

> compat.linux.osrelease: 2.4.20

And this is not a default/supported value. I don't think it should
change something here though.

While linux_base port is installed we create a link only for
LINUXBASE/usr/tmp. That is because a corresponding directory
does not exist at FreeBSD.


WBR
-- 
bsam


More information about the freebsd-emulation mailing list