Menu

#9 read(7, ERROR(-6071):Cannot use directory '/usr/fgl2c/lock'.

1.0
open
nobody
None
2022-01-16
2022-01-06
No

Hi Russell,

How things?

I finally have a RHEL8 I/m trying to install in the field on AWS

Linux tmaxapp01p.xyzzy.edu.au 4.18.0-348.7.1.el8_5.x86_64 #1 SMP Wed Dec 8 21:51:17 EST 2021 x86_64 x86_64 x86_64 GNU/Linux

I am having an issue when theibcs-us starts the Informix Dynamic 4gl Coff ,
the coff trys to access/update files in the /usr/fgl2c/lock folder but fails
the test I ran to describe the issue is..

(strace ibcs-us -t FF -l /u/catcom/debug/ibcs-us.trace /u/catcom/bin/callextdet.42e 2>&1) >callextdet_22220107.strace

both ibcs trace and strace files are attached

The callextdet.42e program produces the error..

ERROR(-6071):Cannot use directory '/usr/fgl2c/lock'.
Check FGLDIR and verify if access rights are 'drwxrwxrwx'.

From the Informix Dynamic 4GL Manaul...

-6071 Problem with directory %s. Check FGLDIR value and verify f this directory
exists and has 777 mode.

        Description: The compiler needs to make an operation in the specified
        directory.

the FGLDIR on the AWS server is...

sh-4.4# echo $FGLDIR
/usr/fgl2c

sh-4.4# ls -altr $FGLDIR
total 3540
-rw-r-----. 1 root sys 85 Jan 11 2013 setf4gllic.cron
-rwxrwxr-x. 1 catcom catcom 2055 Mar 22 2017 buildforms
-rwxr--r--. 1 root root 2048000 Aug 3 2019 RUNTIME.SH
-rwxr--r--. 1 root root 870400 Aug 3 2019 TCLTK.SH
-rw-rw-rw-. 1 root root 1 Aug 3 2019 trace4js.log
drwxrwxrwx. 4 root root 32 Aug 3 2019 demo
drwxrwxrwx. 2 root root 26 Aug 3 2019 defaults
drwxrwxrwx. 2 root root 93 Aug 3 2019 bmp
drwxrwxrwx. 3 root root 17 Aug 3 2019 include
drwxrwxrwx. 6 root root 94 Aug 3 2019 desi
drwxrwxrwx. 2 root root 4096 Aug 3 2019 toolbars
drwxrwxrwx. 2 root root 25 Aug 3 2019 release
drwxrwxrwx. 2 root root 97 Aug 3 2019 msg
-rw-rw-rw-. 1 root root 1017 Aug 3 2019 envf4gl.csh
-rw-rw-rw-. 1 root root 479 Aug 3 2019 envrt.sh
-rw-r--r--. 1 root root 483 Aug 3 2019 envf4gl
drwxrwxrwx. 2 root root 4096 Aug 7 2019 lib
-rwxr-xr-x. 1 root sys 506 Dec 23 18:20 setf4gllic
-rw-rw-rw-. 1 root root 419 Jan 2 01:44 envrt.csh
-rw-r--r--. 1 root root 1024 Jan 5 01:21 setf4gllic.cpio
drwxr-xr-x. 14 root root 229 Jan 6 20:49 ..
drwxrwxrwx. 2 root root 6 Jan 6 20:50 lock
drwxr-xr-x. 14 root root 4096 Jan 6 20:50 .
drwxrwxrwx. 2 root root 4096 Jan 6 20:52 bin
drwxrwxrwx. 4 root root 4096 Jan 6 20:52 etc
-rw-r--r--. 1 root root 643630 Jan 6 22:10 clrfgllock.log

I've tries with selinux disable, and get the same result.
It woork fine on my in house rhel8 which I updated to the same version as the AWS machime
[root@rhel80t21 bin]# uname -a
Linux rhel80t21 4.18.0-348.7.1.el8_5.x86_64 #1 SMP Wed Dec 8 21:51:17 EST 2021 x86_64 x86_64 x86_64 GNU/Linux

I thought it might have somehtinh to do with inodes in the FS on 64bit, The current root partition
type is XFS, (where /usr/fgl2c is)

sh-4.4# stat /
File: /
Size: 254 Blocks: 0 IO Block: 4096 directory
Device: 10309h/66313d Inode: 128 Links: 19
Access: (0555/dr-xr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:root_t:s0
Access: 2022-01-06 20:28:19.712999941 +0800
Modify: 2022-01-06 16:22:35.973241471 +0800
Change: 2022-01-06 16:22:35.973241471 +0800
Birth: 2021-05-05 01:21:03.465744000 +0800
sh-4.4#

So I tried moving the /usr/fgl2c folder to a small 100M mounted ext2 partiiotn, but get the same error.

Any Ideas you have to where I should look for differences between the AWS and my inhouse
RHEL8 would be much apreciated.

Rod

2 Attachments

Discussion

  • Rod Sheppard

    Rod Sheppard - 2022-01-06

    forgot to add..
    these are the lines in the trace files I believe where I'm hitting the problem..

    In callextdet_22220107.strace
    line 481:
    read(7, ERROR(-6071):Cannot use directory '/usr/fgl2c/lock'.

    In ibcs-us_callextdet_20220107.trace
    line 530:
    read(7, 0x00475A4C, 1024)
    read returns 1 (edx:1)

     
  • Rod Sheppard

    Rod Sheppard - 2022-01-09

    Since the origianl post, I have also found that
    1 32bit satically linked linux ELF binary fglWrt
    that is the the user license manager that comes with the informix 4gl
    also exhibits a similar problem

    when run with the -u option to verify users.

    sh-4.4# fglWrt -u
    ERROR(-6071):Cannot use directory '/usr/fgl2c/lock'.
    Check FGLDIR and verify if access rights are 'drwxrwxrwx'.

    running a system trace....
    sh-4.4# (strace /usr/fgl2c/bin/fglWrt -u 2>&1) >fglWrt_u.strace
    fglWrt_u.strace attached,
    see line 53
    fstat(4, 0xffe509b0) = -1 EOVERFLOW (Value too large for defined data type)

     
  • Rod Sheppard

    Rod Sheppard - 2022-01-09

    sh-4.2# file /usr/fgl2c/bin/fglWrt
    /usr/fgl2c/bin/fglWrt: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, stripped
    sh-4.2#

    this also works fine on my inhouse rhel8 but not on the AWS rhel8

     

    Last edit: Rod Sheppard 2022-01-09
  • Rod Sheppard

    Rod Sheppard - 2022-01-16

    Iv'e got a work around by making /usr/fgl2c an tmpfs at startup,
    so something to do with the size of the data staructures or inodes being returned on this particular VM. where tge root fs is /dev/nvme0n1p2 60G 6.5G 54G 11% /

    I created my o\wn test AWS rhel8 machine (default free image), and it had no issue.

     

Log in to post a comment.