Have you printed out all the values of the bounds to see where the problem is?
Are there any values that are not positive? Is 0 considered not positive?