This is a very odd edge case. With a specific h value and specifically when using both trend and harmon components of bfastpp, for specific data, I get the error:
Error in my.RSS.table[as.character(i), 3:4] <- c(pot.index[opt], break.RSS[opt]) :
replacement has length zero
Also a lot of warnings about sqrt() producing NaN values. Looks like that line fails because opt is an integer(0), and that is because break.RSS is a single NaN (which probably comes from the sqrt problem, which in turn comes from fr in recresid being a negative value, which comes from X1 having negative values, and I don't know what X1 stands for).
To reproduce, see attached CSV, and then run the code:
breakpoints(formula(response~trend+harmon), data=
bfastpp(bfastts(CSV$evi, CSV$time), "irregular"), order=3), h=46)
bug.txt