A simple multi-column report with column headers and horizontal layout will consume all memory, or all diskspace when using file virtualization.
Attached is an example report using an empty data adapt with just one row will already bring down the application executing the report.
The report contains just column header, detail, and column footer band. "Print order" is set to horizontal, and has column count set to 2.
when running in the studio it will create millions of pages until it runs out of memory. When you execute it with a file virtualizer it will consume all available diskspace.
The problem is that the loop in net.sf.jasperreports.engine.fill.JRHorizontalFiller.fillColumnHeaders(byte) will never finish as the call to addPage(false) will reset the columnIndex which is used in the loop.