Buggy code:
Slice ( int [ ] cols , Frame base ) { } @ Override public void map ( Chunk [ ] ix , NewChunk [ ] ncs ) { } } @ Override public String toString ( ) { } public String toString ( long off , int len ) { if ( off > ( numRows ( ) ) ) off = numRows ( ) ; if ( ( off + len ) > ( numRows ( ) ) ) len = ( ( int ) ( ( numRows ( ) ) - off ) ) ; String [ ] rowHeaders = new String [ len + 5 ] ; rowHeaders [ 0 ] = "min" ; rowHeaders [ 1 ] = "mean" ; rowHeaders [ 2 ] = "stddev" ; rowHeaders [ 3 ] = "max" ; rowHeaders [ 4 ] = "missing" ; for ( int i = 0 ; i < len ; i ++ ) rowHeaders [ ( i + 5 ) ] = "" + ( off + i ) ; final int ncols = numCols ( ) ; final Vec [ ] vecs = vecs ( ) ; String [ ] coltypes = new String [ ncols ] ; String [ ] [ ] strCells = new String [ len + 5 ] [ ncols ] ; double [ ] [ ] dblCells = new double [ len + 5 ] [ ncols ] ; for ( int i = 0 ; i < ncols ; i ++ ) { Vec vec = vecs [ i ] ; dblCells [ 0 ] [ i ] = vec . min ( ) ; dblCells [ 1 ] [ i ] = vec . mean ( ) ; dblCells [ 2 ] [ i ] = vec . sigma ( ) ; dblCells [ 3 ] [ i ] = vec . max ( ) ; dblCells [ 4 ] [ i ] = vec . naCnt ( ) ; switch ( vec . get_type ( ) ) { case Vec . T_BAD : coltypes [ i ] = "string" ; for ( int j = 0 ; j < len ; j ++ ) { strCells [ ( j + 5 ) ] [ i ] = null ; dblCells [ ( j + 5 ) ] [ i ] = TwoDimTable . emptyDouble ; } break ; case Vec . T_STR : coltypes [ i ] = "string" ; ValueString vstr = new ValueString ( ) ; for ( int j = 0 ; j < len ; j ++ ) { strCells [ ( j + 5 ) ] [ i ] = ( vec . isNA ( ( off + j ) ) ) ? "" : vec . atStr ( vstr , ( off + j ) ) . toString ( ) ; dblCells [ ( j + 5 ) ] [ i ] = TwoDimTable . emptyDouble ; } break ; case Vec . T_ENUM : coltypes [ i ] = "string" ; for ( int j = 0 ; j < len ; j ++ ) { strCells [ ( j + 5 ) ] [ i ] = ( vec . isNA ( ( off + j ) ) ) ? "" : vec . factor ( vec . at8 ( ( off + j ) ) ) ; dblCells [ ( j + 5 ) ] [ i ] = TwoDimTable . emptyDouble ; } break ; case Vec . T_TIME : case ( Vec . T_TIME ) + 1 : case ( Vec . T_TIME ) + 2 : coltypes [ i ] = "string" ; DateTimeFormatter fmt = DateTimeFormat . forPattern ( "yyyy-MM-dd<seq2seq4repair_space>HH:mm:ss" ) ; for ( int j = 0 ; j < len ; j ++ ) { <START_BUG> strCells [ ( j + 5 ) ] [ i ] = fmt . print ( vec . at8 ( ( off + j ) ) ) ; <END_BUG> dblCells [ ( j + 5 ) ] [ i ] = TwoDimTable . emptyDouble ; } break ; case Vec . T_NUM : coltypes [ i ] = ( vec . isInt ( ) ) ? "long" : "double" ; for ( int j = 0 ; j < len ; j ++ ) { dblCells [ ( j + 5 ) ] [ i ] = ( vec . isNA ( ( off + j ) ) ) ? TwoDimTable . emptyDouble : vec . at ( ( off + j ) ) ; strCells [ ( j + 5 ) ] [ i ] = null ; } break ; case Vec . T_UUID : throw H2O . unimpl ( ) ; default : System . err . println ( ( "bad<seq2seq4repair_space>vector<seq2seq4repair_space>type<seq2seq4repair_space>during<seq2seq4repair_space>debug<seq2seq4repair_space>print:<seq2seq4repair_space>" + ( vec . get_type ( ) ) ) ) ; throw H2O . fail ( ) ; } } return new TwoDimTable ( ( "Frame<seq2seq4repair_space>" + ( _key ) ) , ( ( ( ( numRows ( ) ) + "<seq2seq4repair_space>rows<seq2seq4repair_space>and<seq2seq4repair_space>" ) + ( numCols ( ) ) ) + "<seq2seq4repair_space>cols" ) , rowHeaders , _names , coltypes , null , "" , strCells , dblCells ) . toString ( ) ; } private static class DeepSlice extends MRTask < Frame . DeepSlice > { final int [ ] _cols ; final long [ ] _rows ; final byte [ ] _isInt ; DeepSlice ( long [ ] rows , int [ ] cols , Vec [ ] vecs ) { } @ Override public boolean logVerbose ( ) { } @ Override public void map ( Chunk [ ] chks , NewChunk [ ] nchks ) { } } public Frame deepCopy ( String keyName ) { } private static class VecCopyTask extends H2O . H2OCountedCompleter < Frame . VecCopyTask > { private final Vec _from ; private final Vec [ ] _vecs ;

Fix:
strCells [ ( j + 5 ) ] [ i ] = ( vec . isNA ( ( off + j ) ) ) ? "" : fmt . print ( vec . at8 ( ( off + j ) ) ) ;