Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ORU-10027: buffer overflow, when ut_coverage_html_reporter is executed #1272

Open
ropereraLK opened this issue Nov 13, 2023 · 2 comments
Open

Comments

@ropereraLK
Copy link

Describe the bug
When the following code snippet is executed to get the line coverage from ut_coverage_html_reporter the below error is observed.

DECLARE
BEGIN
ut.run(ut_coverage_html_reporter(), a_include_object_expr =>'test_Package_Name');
END;

Error:

ORA-20000: ORU-10027: buffer overflow, limit of 1000000 bytes
ORA-06512: at "SYS.DBMS_OUTPUT", line 32
ORA-06512: at "SYS.DBMS_OUTPUT", line 97
ORA-06512: at "SYS.DBMS_OUTPUT", line 112
ORA-06512: at "UT3.UT_OUTPUT_BULK_BUFFER", line 82
ORA-06512: at "UT3.UT_OUTPUT_REPORTER_BASE", line 73
ORA-06512: at "UT3.UT", line 597
ORA-06512: at "UT3.UT", line 663
ORA-06512: at line 3

However, the report is generated successfully when canceling the error popup message.

View program sources of error stack?
This error is coming from the utplsql procedure lines_to_dbms_output_

overriding member procedure lines_to_dbms_output(self in ut_output_bulk_buffer, a_initial_timeout number := null, a_timeout_sec number := null) is
    l_data      sys_refcursor;
    l_text      ut_varchar2_rows;
    l_item_type ut_varchar2_rows;
  begin
    l_data := self.get_lines_cursor(a_initial_timeout, a_timeout_sec);
    loop
      fetch l_data bulk collect into l_text, l_item_type limit 10000;
      for idx in 1 .. l_text.count loop
        dbms_output.put_line(l_text(idx));
      end loop;
      exit when l_data%notfound;
    end loop;
    close l_data;
    self.remove_buffer_info();
  end;
@lwasylow
Copy link
Member

lwasylow commented Nov 13, 2023

Please set no limit to buffer size for session.
DBMS_OUTPUT. ENABLE (buffer_size => NULL);
Then please retry.
Buffer size is session dependent.

@aquibmoin786
Copy link

You might consider a few options. You can reduce output size; perhaps this will work. Alternatively, you can follow these two options: pagination or chunking, or increase buffer size.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants