  We study how different types of blow-ups can occur in systems of hyperbolic
evolution equations of the type found in general relativity. In particular, we
discuss two independent criteria that can be used to determine when such
blow-ups can be expected. One criteria is related with the so-called geometric
blow-up leading to gradient catastrophes, while the other is based upon the
ODE-mechanism leading to blow-ups within finite time. We show how both
mechanisms work in the case of a simple one-dimensional wave equation with a
dynamic wave speed and sources, and later explore how those blow-ups can appear
in one-dimensional numerical relativity. In the latter case we recover the well
known ``gauge shocks'' associated with Bona-Masso type slicing conditions.
However, a crucial result of this study has been the identification of a second
family of blow-ups associated with the way in which the constraints have been
used to construct a hyperbolic formulation. We call these blow-ups ``constraint
shocks'' and show that they are formulation specific, and that choices can be
made to eliminate them or at least make them less severe.
