In Statistical Learning Theory, Uniform convergence means for a hypothesis class H, given m(\delta, \epsilon), for arbitrary distribution over domain (X, Y), with probability $1- \delta$, the generalization error is within $\epsilon$ range.
Now The no free lunch theorem state that one can construct a distribution over (X,Y) such that an algorithm will fail with large probability while another algorithm will work. The sample size is m smaller than half of cardinality of X.
My question is: are the two statements contradictory? If the uniform convergence hold, algorithm A working on hypothesis class H will always work as long as the sample complexity is reached, so there would not be cases of failure?