Let's $V$ be a space with a generic inner product $\langle \,\cdot \mid \cdot\, \rangle$. Let's extend the concept of orthonormal base: a base $\mathcal{B}$ for the vector space $V$ is orthonormal iff $$ \forall v, w \in \mathcal{B}: \quad a\langle v \mid w \rangle = \left\{ \begin{array}{ll} \pm 1 \, \textrm{ or } \, 0 & \quad v = w \\ 0 & \quad v \neq w \\ \end{array} \right. $$
A vector space can have non zero isotropic vectors. The subset of this vector forms a cone. This cone contains the radical, i.e. the subspace of vectors orthogonal to each other vectors.
If we start from a generic base for $V$ and we try to orthogonalize the base via Gram–Schmidt we could stumble upon a division by zero if we try to project a non isotropic vector onto an isotropic one.
If all isotropic vector are in the radical we could start from a base for the radical (all basis here are orthonormal), complete the base to a base of the entire space, and then apply Gram–Schmidt to the completion.
But what if there are some "strict" isotropic vectors? It is possible that the base for the radical doesn't span all the isotropic cone. How can we be sure to find an orthogonal base for the space in this case?