Skip to main content

I am getting the following error when attempting to display a screen in Visual COBOL: 114 attempt to access item beyond bounds of memory (signal 11). I read the article at the following link:

 

https://community.rocketsoftware.com/discussion/causes-of-114-attempt-to-access-item-beyond-bounds-of-memory-error#bm5f1a6939-d93a-4e25-8a5a-bef747adc13d

 

The article suggests a possible solution by allocating memory. However, I do not understand their description of how to do this.

 

I am using Microsoft Visual Studio 2022 with Visual COBOL version 9 on Windows 10. This problem does not occur with my previous version of Visual Studio and Visual COBOL. These versions are, respectively, Visual Studio 2019 and Visual COBOL version 5. Thanks in advance for your help. 

I am getting the following error when attempting to display a screen in Visual COBOL: 114 attempt to access item beyond bounds of memory (signal 11). I read the article at the following link:

 

https://community.rocketsoftware.com/discussion/causes-of-114-attempt-to-access-item-beyond-bounds-of-memory-error#bm5f1a6939-d93a-4e25-8a5a-bef747adc13d

 

The article suggests a possible solution by allocating memory. However, I do not understand their description of how to do this.

 

I am using Microsoft Visual Studio 2022 with Visual COBOL version 9 on Windows 10. This problem does not occur with my previous version of Visual Studio and Visual COBOL. These versions are, respectively, Visual Studio 2019 and Visual COBOL version 5. Thanks in advance for your help. 

Hi Alex,

That article applies to memory corruption where the program is doing its own memory allocation and management. I don't think it applies here.

On what statement are you getting the 114 error?

Is it on a display statement?


Hi Alex,

That article applies to memory corruption where the program is doing its own memory allocation and management. I don't think it applies here.

On what statement are you getting the 114 error?

Is it on a display statement?

Chris,

The block of code looks like this:

MOVE 'TPS' TO SCREENIO-TITLE.
MOVE 'TPS' TO SCREENIO-ABOUT-TITLE.
MOVE 'TPS' TO SCREENIO-ABOUT-TEXT.
MOVE 'TPSCRNIO.INI' TO SCREENIO-INI-FILE. 


CALL SCREENIO USING WINDOWS-INITIALIZATION 
                                          WINDOWS-INITIALIZATION 
                                          WINDOWS-INITIALIZATION 
                                          WINDOWS-INITIALIZATION.

The error occurs on the 'CALL' statement which initialize the SCREENIO in order for it do be displayed. 


Chris,

The block of code looks like this:

MOVE 'TPS' TO SCREENIO-TITLE.
MOVE 'TPS' TO SCREENIO-ABOUT-TITLE.
MOVE 'TPS' TO SCREENIO-ABOUT-TEXT.
MOVE 'TPSCRNIO.INI' TO SCREENIO-INI-FILE. 


CALL SCREENIO USING WINDOWS-INITIALIZATION 
                                          WINDOWS-INITIALIZATION 
                                          WINDOWS-INITIALIZATION 
                                          WINDOWS-INITIALIZATION.

The error occurs on the 'CALL' statement which initialize the SCREENIO in order for it do be displayed. 

What is SCREENIO? Is this a 3rd party library or your own subroutine? I recall a product many years ago from Norcom that was called SCREENIO.

A 114 on a call statement normally means a parameter mismatch between the caller and callee, either in order, type, size, or the way they are being passed (by reference or by value) . Is the SCREENIO program really expecting 4 pointers to WINDOWS-INITIALIZATION as its parameters?


What is SCREENIO? Is this a 3rd party library or your own subroutine? I recall a product many years ago from Norcom that was called SCREENIO.

A 114 on a call statement normally means a parameter mismatch between the caller and callee, either in order, type, size, or the way they are being passed (by reference or by value) . Is the SCREENIO program really expecting 4 pointers to WINDOWS-INITIALIZATION as its parameters?

Chris,

Yes, ScreenIO is a third-party software for our screens from Norcom. The line of code has not change and works in the previous versions of Visual Studio and Visual COBOL. I commented out three pointers and tested the code as follows:

MOVE 'TPS' TO SCREENIO-ABOUT-TITLE.
MOVE 'TPS' TO SCREENIO-ABOUT-TEXT.
MOVE 'TPSCRNIO.INI' TO SCREENIO-INI-FILE.
CALL SCREENIO USING WINDOWS-INITIALIZATION.

But I still receive the same error. 


Chris,

Yes, ScreenIO is a third-party software for our screens from Norcom. The line of code has not change and works in the previous versions of Visual Studio and Visual COBOL. I commented out three pointers and tested the code as follows:

MOVE 'TPS' TO SCREENIO-ABOUT-TITLE.
MOVE 'TPS' TO SCREENIO-ABOUT-TEXT.
MOVE 'TPSCRNIO.INI' TO SCREENIO-INI-FILE.
CALL SCREENIO USING WINDOWS-INITIALIZATION.

But I still receive the same error. 

You can't just comment out the parameters if SCREENIO is expecting them. The parameters have to be the ones that SCREENIO is expecting.

You need to ensure that the parameters match between the caller and callee. I don't have the SCREENIO docs here so I don't know what these parameters look like.

Are you using the same set of directives in both COBOL versions?
Do any calls to SCREENIO work or do they all fail with a 114 error?


You can't just comment out the parameters if SCREENIO is expecting them. The parameters have to be the ones that SCREENIO is expecting.

You need to ensure that the parameters match between the caller and callee. I don't have the SCREENIO docs here so I don't know what these parameters look like.

Are you using the same set of directives in both COBOL versions?
Do any calls to SCREENIO work or do they all fail with a 114 error?

Chris,

I have the old version of Visual Studio and Visual COBOL on a different machine. I compared the settings and directives from the old version to the new version and they are same. No calls to SREENIO work. 


Chris,

I have the old version of Visual Studio and Visual COBOL on a different machine. I compared the settings and directives from the old version to the new version and they are same. No calls to SREENIO work. 

Hi Alex,

Are you compiling to native code or to .NET managed code?
Is it 32-bit or 64-bit?

What version of screenio are you using? Is it the latest version available?
Starting in VC 9.0 we switched from using the Microsoft C run-time 2017 to using the Microsoft C run-time 2022.
It could be that the version of screenio that you are using is not compatible with the new C run-time system?
You should check with Norcom about this.


Hi Alex,

Are you compiling to native code or to .NET managed code?
Is it 32-bit or 64-bit?

What version of screenio are you using? Is it the latest version available?
Starting in VC 9.0 we switched from using the Microsoft C run-time 2017 to using the Microsoft C run-time 2022.
It could be that the version of screenio that you are using is not compatible with the new C run-time system?
You should check with Norcom about this.

Chris,

We are compiling to native code in 32-bit.  Norcom went out of business about a year ago and there is no support for their ScreenIO product. We started converting to newt screens about a year ago, but this conversion has not been completed yet.   Our only option for now is to continue using Visual Studio 2019 with Visual COBOL version 5 until all our screens have been converted to a new supported platform. Is there anything else you can suggest as a possible solution?


Chris,

We are compiling to native code in 32-bit.  Norcom went out of business about a year ago and there is no support for their ScreenIO product. We started converting to newt screens about a year ago, but this conversion has not been completed yet.   Our only option for now is to continue using Visual Studio 2019 with Visual COBOL version 5 until all our screens have been converted to a new supported platform. Is there anything else you can suggest as a possible solution?

Did you happen to move to a newer OS, like Win 11 on your new system on which V9.0 is installed?
I am wondering if ScreenIO works on this system even with the V5.0 compiled modules.

If you would like to open up a Support ticket and mention my name in the description I would be happy to take a closer look at this?


Did you happen to move to a newer OS, like Win 11 on your new system on which V9.0 is installed?
I am wondering if ScreenIO works on this system even with the V5.0 compiled modules.

If you would like to open up a Support ticket and mention my name in the description I would be happy to take a closer look at this?

Chris,

Everything is the same. I installed the new Version of Visual Studio and Visual COBOL on the same machine where I had the old versions. The project, folders and directories are the same. I will open a Support case and mention you and this thread in the description.