Skip to Main Content
IBM Power Ideas Portal


This portal is to open public enhancement requests against IBM Power Systems products, including IBM i. 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
  1. Post an idea.

  2. Get feedback from the IBM team and other customers to refine your idea.

  3. Follow the idea through the IBM Ideas process.


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.

Status Not under consideration
Workspace IBM i
Created by Guest
Created on May 11, 2016

Provide error handler for secondary thread of multi-threaded job

When a multi-threaded job encounters an unhandled exception, the system should be able to gracefully handle the error with the standard *INQ message to *EXT or QSYSOPR.

Background
When an unhandled exception occurs in the secondary thread of a multi-threaded job, instead of displaying the *INQ message panel for user response, the job loops on the error, filling the job message queue and crashes.

It is very important to have the error handling stability that IBM i has always had.

This is a poor way for IBM i to handle errors. The standard way has always been for the system to send *INQ~ to *EXT or QSYSOPR for handling by the user.


Use Case:

This problem came up when an SQL user-defined function had been incorrectly created without the "not fenced" statement to indicate "run single-threaded". When the job ran, SQL started a second thread. The function tried to use commands and programs that were not coded "thread safe", and the system tried to send *INQ to *EXT, which looped and crashed

Possible solutions
1. Allow the *INQ message program and display file to be used in a secondary thread.
2. Send the *INQ to QSYSOPR for handling.


Idea priority High
  • Guest
    Reply
    |
    Aug 2, 2016

    Then it seems my suggestion #2 could come into play - send an *INQ to QSYSOPR as is done with batch jobs. This would prevent the wildly crashing job syndrom in the event of an error.

  • Guest
    Reply
    |
    May 15, 2016

    You can send Inquiry messages from a secondary thread. But you cannot get input from the user (the reply) because there is no workstation support for multiple threads. Sending the default reply in this situation is the correct action to take.

    There are no plans to support workstation I/O from secondary threads. Allowing WS I/O from a secondary thread would potentially create deadlock situations between the primary and secondary threads that cannot be prevented by the OS.

    Creating the SQL user-defined function to run single-threaded is the correct action to take.

  • Guest
    Reply
    |
    May 12, 2016

    Creating a new RFE based on Community RFE #88223 in product IBM i.