CDV ❯ Non-portable object dumper feature (new in Moraga) susceptible to OutOfMemoryError
-
Bug
-
Status: Closed
-
2 Major
-
Resolution: Fixed
-
DSO:L1
-
-
teck
-
Reporter: teck
-
March 06, 2007
-
0
-
Watchers: 0
-
July 27, 2012
-
March 15, 2007
Description
The new object dumper buffers all of it’s output in memory such that it can be logged as a single item (which means it will be contiguous in the log file). This implementation, coupled with the fact that it prints all literal values, and traverse already shared objects means that it can consume large amounts of heap (with large object graphs).
Perhaps the traversing policy should be updated, and/or the logging either done to separate file (and thus no buffering), or it should be logged line by line in the log file (allowing for the possibility of other log messages interleaved in the dump)
Comments
Fiona OShea 2007-03-07
Tim Eck 2007-03-15
change this stuff to log each part of the graph as a single log line. This means the graph can be interleaved with other logging that happens concurrently. Luckily the thread name prefix should let one stitch it back together if need
Let’s try to get this in for Moraga, but it is not a showstopper