PortletLuceneComparator does not implement Comparator interface properly. Checking interface documentation states "The implementor must ensure that sgn(compare(x, y)) == -sgn(compare(y, x)) for all x and y." - It returns 1 only if the first argument is PortletKeys.DOCUMENT_LIBRARY, it should also return -1 if the second argument is PortletKeys.DOCUMENT_LIBRARY.
I have run a simulated test that successfully runs with new code.
Attached is possible fix.