I did more investigation, and it's still not clear what exactly is causing this error. Most likely it's just due to performance issues of IE8 with tables.
First of all, for the purposes of testing, I disabled all the Javascript related to the data table. This means that the table HTML markup was rendered, but the component wasn't initialized in the client. So, none of the features was enabled in the client, since no data table Javascript was executed. Even, in this no-Javascript mode, the IE8 browser kept crashing when loading the Column Pinning demo. After making certain modifications to the demo page, the browser didn't crash, but showed a tooltip mentioning that an error had occurred and that it was automatically entering in compatibility mode. This indicates that the error is caused by the HTML markup itself, not by the Javascript. The undefined object errors mentioned above are simply a side effect of resources not loading correctly when abruptly switching into compatibility mode.
I validated the HTML markup with the W3C validator and no serious errors were found (e.g. no mismatched tags). The only errors were trivial and related to entities (which happen in other tables too that don't present this error).
I made an experiment of removing all columns and just leaving the ID column. The problem didn't occur in this case (the browser didn't crash and it didn't enter into compatibility mode). I added copies of this column multiple times (removing id's to avoid duplicate id issues). With 10 copies, there was no issue. With 20x copies, the same issue occurred (automatically entered into compatiblity mode, due to an unspecified error).
When, I removed all other columns and simply left the Cost column, the error occurred again. When, I removed the $ symbol and the decimal point and the two fraction digits, the error didn't occur. When, I made a second copy of this column, with these modifications, the error did occur again.
When copying the MPG column, the error didn't occur until there were 9 copies.
All this suggest that the problem is related to performance.
Note that all of these errors didn't occur when adding staticHeaders="false" to the table, which is the feature that creates a separate table element just for the headers so that only the contents are scrollable.
It seems like using too many data table features at the same time, like scrolling, static headers, and pin columns, on IE8 leads to these issues.
THe support case refered to on this Jira is for 3.3.0_P02. THe current 3.3.0 P02 showcase also shows this issue. Found issues with json object with IE8 that could be related:-
http://stackoverflow.com/questions/4715373/json-object-undefined-in-internet-explorer-8-dom
Note that ICEfaces-4 uses jQuery 1.11, so still a possibility to backport to 3.3.0
. If we move to jQuery-2 there is no support for IE8, so that could be a boundary to any backporting.