Skip to Main Content
IBM Data and AI Ideas Portal for Customers


This portal is to open public enhancement requests against products and services offered by the IBM Data & AI organization. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:


Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,


Post your ideas

Post ideas and requests to enhance a product or service. Take a look at ideas others have posted and upvote them if they matter to you,

  1. Post an idea

  2. Upvote ideas that matter most to you

  3. Get feedback from the IBM team to refine your idea


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

IBM Employees should enter Ideas at https://ideas.ibm.com


Status Functionality already exists
Workspace Spectrum LSF
Components Other
Created by Guest
Created on Oct 15, 2024

Allow up to 2000 characters in TMPDIR

Some workflows require longer paths for TMPDIR.

Needed By Month
  • Admin
    Bill McMillan
    Reply
    |
    Oct 29, 2024

    My tests were run with the 3.10 distribution that provides compatibility from RHEL7 onwards.

    If I regress to the 2.6 distribution (RHEL5 onwards) it fails.

    From searching the kernel/glibc archives, there are differences in some of the max variable lengths. As the LSF libraries are statically linked, they have the 2.6 kernel glib2.3 definitions - so an incompatibility between the glibc version the binary is built with, and the glibc version installed.

    So the solution is to use the newer distribution files.


    With RHEL7 now officially end of life, we will be moving the baseline up, and plant to release a RHEL9 baseline next year.

    • 2003: RHEL5: kernel 2.6 glibc 2.3

    • 2013: RHEL7: kernel 3.10 glibc 2.17

    • 2022: RHEL9: kernel 5.14 glibc 2.34

  • Guest
    Reply
    |
    Oct 28, 2024

    Bill,

    Did you test on RHEL7 and RHEL8? getcwd() works as expected unless the number of characters is limited in the code as in getcwd(cwd, 256). I uploaded the test script along with bsub logs and strace information to the problem ticket.

    Mark

  • Admin
    Bill McMillan
    Reply
    |
    Oct 25, 2024

    The length of TMPDIR is not limited to 200 characters, there is no "allowable number of characters".

    I cannot reproduce your error on my cluster with >500, >1000, >2000 characters.


    The error message in your example is an OS call failing for an unspecified reason. The fact that the OS error occurs only when the directory exists suggests that a getcwd() call or similar may be failing - which may be an OS or filesystem issue.


    If you wish to pursue this further, opening a ticket with Support would be the appropriate channel.


    billmc$ pwd
    
    /tmp/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop
    billmc$ pwd | wc -c
    588
    billmc$ export TMPDIR=`pwd`
    billmc$ echo $TMPDIR
    /tmp/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop
    billmc$ bsub -I echo helloworld
    Job <536> is submitted to default queue <interactive>.
    <<Waiting for dispatch ...>>
    <<Starting on ibm-pf3zz07f.>>
    helloworld
    billmc$


    with over 1000 characters

    billmc$ pwd
    
    /tmp/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop
    billmc$ pwd | wc -c
    1116
    billmc$ export TMPDIR=`pwd`
    billmc$ bsub -I echo helloworld
    Job <537> is submitted to default queue <interactive>.
    <<Waiting for dispatch ...>>
    <<Starting on ibm-pf3zz07f.>>
    helloworld
    billmc$


    With over 2000 characters

    billmc$ pwd
    
    /tmp/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop/qwertyuiop
    billmc$ pwd | wc -c
    2117
    billmc$ export TMPDIR=`pwd`
    billmc$ bsub -I echo helloworld
    Job <538> is submitted to default queue <interactive>.
    <<Waiting for dispatch ...>>
    <<Starting on ibm-pf3zz07f.>>
    helloworld
    billmc$






  • Admin
    Bill McMillan
    Reply
    |
    Oct 24, 2024
    Mark,

    TMPDIR is an OS envvar - and is passed as such. It is not limited to 200 characters.

    What specifically are you referring to?

    /opt/lsf/conf$ bsub -I echo $TMPDIR
    Job <531> is submitted to default queue <interactive>.
    <<Waiting for dispatch ...>>
    <<Starting on ibm-pf3zz07f.>>
    /tmp/123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890IAM2001234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890IAM3001234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890IAM400123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890IAM2001234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890IAM3001234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890IAM800123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890IAM2001234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890IAM3001234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890IAM1200123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890IAM2001234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890IAM3001234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890IAM1600123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890IAM2001234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890IAM3001234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890IAM2000
  • Guest
    Reply
    |
    Oct 17, 2024

    The limited size of this variable causes some job submission failures. When will you have a timeline for working on this issue?

  • Guest
    Reply
    |
    Oct 15, 2024

    We're using LSF10.1 ServicePack 14