meydrew / otroslogviewer

Automatically exported from code.google.com/p/otroslogviewer
0 stars 0 forks source link

java.lang.ArrayIndexOutOfBoundsException #309

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
GREAT TOOL - Thank you!
This is a severe bug though and limits the usage.
Any help in resolving this issue will be greatly appreciated.

What steps will reproduce the problem?
1. Tail an existing log file file with more log events 
   than "limit" defined in AbstractMemoryLogStore.
   Default limit value is 2,000,000 for 1.3.0
   Version used had a limit value of 100,000

2. When the ID value exceeds the existing "limit"
   select a Level filter.

What is the expected output? What do you see instead?
Expect log entries displayed in GUI are filtered by selected level.

What is seen is ArrayIndexOutOfBoundsException exception in Error dialog.  
When "OK" button selected another dialog is displayed asking to send the error 
details. 
Select "Do Not Send". Then another Error dialog is displayed.
These two dialogs are displayed until the process is killed.

What version of the product are you using? On what operating system?
Using git 1.3.0-master.
Window 7

Please provide any additional information below.
Was unable to use 1.2.0 due to Out of Memory errors.
Built version 1.3.0 and changed limit value in AbstractMemoryLogStore from 
2,000,000 to 100,000.
The log files that I am working with are very large.  
In some cases the logs are > 1TB (I have no control when the logs are rolled).
Was using a plugin to process Weblogic "out" files but confirmed the problem 
exists when not using a plugin. 

Attached log file with SEVERE errors shown.
Attached image of dialog displayed.

Original issue reported on code.google.com by mpaulbak...@gmail.com on 29 Jul 2014 at 2:17

Attachments:

GoogleCodeExporter commented 9 years ago
For the trace file attached, I was adding 1000 log events at a time.

private void addData(LogDataCollector pDataCollector, LogData logData) {
        if (stagedLogEntries.size() >= 1000) {
            LOGGER.fine("Adding 1000 more log entries.");
            pDataCollector.add(stagedLogEntries.toArray(new LogData[0]));
            LOGGER.fine("Added 1000 more log entries.");

Original comment by mpaulbak...@gmail.com on 29 Jul 2014 at 11:24

GoogleCodeExporter commented 9 years ago
This issue is not restricted to "Level" filtering.  No filters may be used if 
the number of log events processed exceeds the default "level" value. Using a 
filter will result into multiple uncaught exceptions that require the process 
to be manually terminated. 

Original comment by mpaulbak...@gmail.com on 29 Jul 2014 at 2:47