IBM Support

IZ33123: ERROR MESSAGES WITH IOCTL CALLS USING SIOCGIFCOUNT ON LINUX

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Error Message: ioct132(java:3066): Unknown cmd fd(33)
    cmd(00008938){00} arg(ffffbd98)onsocket<OSB>8441<CSB>
    .
    Stack Trace: N/A
    .
    Error messages were seen in the kernel logs when trying to get
    the number of network interfaces during JVM startup.These error
    messages although not harmful to any operation of the JVM were
    seen because of the way the network interfaces were
    obtained.First,ioctl call was made with the flag SIOCGIFCOUNT as
    the argument to the call.This flag is deprecated(from kernel
    version 2.6) and hence the call used to fail and this resulted
    in the error messages in the kernel logs.When the iotcl call
    with the deprecated flag failed another ioctl call with
    SIOCGIFCONF flag was used and using this we used to get the
    network interfaced.
    

Local fix

  • N/A
    

Problem summary

  • Error messages were seen in the kernel logs when trying to get
    the number of network interfaces during JVM startup.These error
    messages although not harmful to any operation of the JVM were
    seen because of the way the network interfaces were
    obtained.First,ioctl call was made with the flag SIOCGIFCOUNT as
    the argument to the call.This flag is deprecated(from kernel
    version 2.6) and hence the call used to fail and this resulted
    in the error messages in the kernel logs.When the iotcl call
    with the deprecated flag failed another ioctl call with
    SIOCGIFCONF flag was used and using this we used to get the
    network interfaces.
    

Problem conclusion

  • This defect will be fixed in:
    5.0.0 SR9
    .
    Did instrumention to the code in NetworkInterface.c in
    enumipv4interfaces().First, as mentioned above to get the
    network interfaces ioctl with SIOCGIFCOUNT is used and when this
    fails ioctl with SIOCGIFCONF is used which works.Since the
    SIOCGIFCOUNT flag is deprecated we have removed the code
    pertaining to the ioctl call using SIOCGIFCOUNT flag.So with
    this change network interfaces will be got directly from the
    ioctl call with SIOCGIFCONF flag.
    We have tested locally with this change and we get the proper
    result with this.Backward compatability can be seen as a slight
    concern here, but 5.0 JDKs run on from RHEL 3 which have 2.6
    kernel where SIOCGIFCOUNT flag is bound to fail.So,believe we
    can have this change of removing the ioctl call with
    SIOCGIFCOUNT flag to avoid the error messages.
    .
    To obtain the fix:
    Install build 20081107 or later
    

Temporary fix

Comments

APAR Information

  • APAR number

    IZ33123

  • Reported component name

    JAVA 5 CLASS LI

  • Reported component ID

    620500130

  • Reported release

    500

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2008-09-24

  • Closed date

    2008-11-06

  • Last modified date

    2008-11-06

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    JAVA 5 CLASS LI

  • Fixed component ID

    620500130

Applicable component levels

  • R500 PSN

       UP

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCVQ3Y","label":"Java Class Libraries"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"5.0","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
06 November 2008