Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Jan 2008 16:35:16 +0400
From:      Gaspar Chilingarov <nm@web.am>
To:        Boris Samorodov <bsam@ipt.ru>
Cc:        Alexander@Leidinger.net, freebsd-emulation@freebsd.org
Subject:   Re: ports/119880: emulators/linux_base-f7 - [linux] OpenOffice 2.x fails after portupgrade with "error writing file"
Message-ID:  <4795E304.3000209@web.am>
In-Reply-To: <64902368@bb.ipt.ru>
References:  <61386061@bb.ipt.ru> <4795CF12.5010003@web.am> <64902368@bb.ipt.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
Boris Samorodov wrote:
> (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.

I know about this, and I do not use them too.

Anyway, there may be another linux app, which behaves in the same way 
and which should be run under root.

> 
>> 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)...

It won't behave so under linux, because mkdir will report error creating 
direcory, which really exists.

> 
>> 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?

both OO 2.0 and 2.3 behave in the same way.

>> compat.linux.osrelease: 2.4.20
> 
> And this is not a default/supported value. I don't think it should
> change something here though.
> 

I run skype on FreeBSD and /usr/ports/updating file points that
  20071101:
   AFFECTS: users of net/skype-devel
   AUTHOR: beech@FreeBSD.org

   The skype-devel port has been upgraded to version 1.4.0.118. This 
requires a sysctl
   change to run. After upgrading, please do: "sysctl 
compat.linux.osrelease=2.4.20"
   from a terminal. Also add: "compat.linux.osrelease=2.4.20" to your
   /etc/sysctl.conf  to make this change at boot time.


> 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.

I see.

Well, anyway, may be it makes sense to close this bug report.

It got documented on the net and some one with similar errors will find 
it easily on the net :) because solution is as simple as remove 
/compat/linux/tmp it's enougth I think.


PS. I'll nag OO developers a little with this issue -- may be it will be 
fixed.


Thank you all,
Gaspar

-- 
Gaspar Chilingarov

System Administrator,
Network security consulting

t +37493 419763 (mob)
i 63174784
e nm@web.am
w http://gasparchilingarov.com/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4795E304.3000209>