Skip to Main Content

Oracle Forms

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Forms Builder 12c crashes when database object is altered and you try to compile all

SFrixJun 23 2020 — edited Sep 24 2020

Hi,

FYI, I will post here the link to the result if Oracle provide a fix but if you face the same issue, please note I opened a SR to have a fix of this issue.

The issue is when you have a PL/SQL code in a forms module FMB that refers a stored procedure, when this stored procedure is altered, the next Compile All (CTRL+SHIFT+K) in forms make it crashes.

Easy to reproduce:

Open forms builder 12c, connect to a DB.

On this database create the following package :

create or replace package pkg_test as

   function fn_get_data(p_in varchar2) return integer;

end pkg_test;

/

create or replace package body pkg_test IS

   function fn_get_data(p_in varchar2) return integer is

      begin

         return length (p_in);

      end;

end pkg_test;

/

begin

   execute immediate 'create or replace public synonym pkg_test for pkg_test';

   execute immediate 'grant execute on pkg_test to public';

end;

/

Create a new module in Forms.

Add a program unit pr_test with following code:

PROCEDURE pr_test IS

  l_dummy integer;

BEGIN

  l_dummy := pkg_test.fn_get_data('ABCD');

END;

Press CTRL+SHIFT+K to compile all the code of your module. All should be fine.

Gos back on database and alter the procedure as follow (add p_other optional parameter ):

create or replace package pkg_test as

   function fn_get_data(p_in varchar2, p_other integer := 0) return integer;

end pkg_test;

/

create or replace package body pkg_test IS

   function fn_get_data(p_in varchar2, p_other integer := 0) return integer is

      begin

         return length (p_in);

      end;

end pkg_test;

/

Goes back in Forms and try to compile again your module module with CTRL+SHIFT+K.

Compile will be stuck few seconds on procedure and finally it will crash with this error in EventViewer:

Faulting application name: frmbld.exe, version: 12.2.1.4, time stamp: 0x5d703191

Faulting module name: KERNELBASE.dll, version: 10.0.17763.1192, time stamp: 0x7889407f

Exception code: 0xc0000005

Fault offset: 0x0000000000039709

Faulting process id: 0x7ac

Faulting application start time: 0x01d64932dcce71e3

Faulting application path: C:\Oracle\Middleware12c\Oracle_Home\bin\frmbld.exe

Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll

Report Id: 5872cf0f-591a-448d-99d3-47ffc3205330

Faulting package full name:

Faulting package-relative application ID:

My config is :

OS : MS Windows 10

Forms : 12.2.1.4

Database : 18.4

This post has been answered by SFrix on Oct 7 2020
Jump to Answer
Comments
Post Details
Added on Jun 23 2020
20 comments
2,006 views