I’m reading on my phone so can’t try code, but the error message suggests that the target point is in the z direction from the camera point, which makes the view vector be the z axis, the same as your hardwired up vector. If that situation wasn’t expected, you’ll have to figure out why it happened. And if that orientation of the view direction is expected, you need to choose a different up vector.
More or less, though I’d use parallel? instead of comparing the value because the vectors actually use floats which can contain small errors that prevent an exact match. Parallel? tests to within a tolerance.