This error shows that the data is going missing from your DBMS_OUTPUT and you are using direct calls to DBMS_OUTPUT.PUT_LINE in your procedures, then you must be ignoring errors somewhere and this could be indicative of more than just the missing debug messages problem. Best check through all your exception handling code and remove any calls to 'when others then null;' unless you are absolutely sure that it is appropriate.
There is another function call in the DBMS_OUTPUT package called GET_LINE (or GET_LINES to get more than one) which removes data from the buffer. Unfortunately, removing data from the buffer does not free up the space to allow more to be added, the one million byte limit still applies.
DBMS_OUTPUT is therefore only useful for very small amounts of debugging information, or script/procedure output. If you need more, you are advised to use UTL_FILE which has no output size limit and since 8i, is able to have user defined line lengths.
You can also try increasing the buffer value and retry the operation.
Use the sql :
SQL> execute dbms_output.enable(1000000);