Well, of course it is not always feasible, since you run a bisection.
s.problem always 0?? That does not happen on my machine when I run the code (I hope you are using SeDuMi or similiar. You cannot use LMILAB for bisection since LMILAB does not return infeasibility messages to YALMIP). U goes from around 1.0 and L from roughly 0.5, and they converge to a number in between after a couple of iterations, with error codes either 0 or 1 (i.e. numerical issues never occur)