Place chicken bones, onions, and carrots into a large stock pot.
Add water to the pot, filling it at least three-quarters full.
Add vinegar to the pot.
Let the mixture sit for 1 hour.
Bring the mixture to a boil, then skim off any foam or impurities that rise to the surface.
Reduce heat to a simmer and cook for at least 8 hours, or overnight.
Let the stock cool enough to handle.
Strain the stock through a strainer, discarding the solids (bones, vegetables).
Pour the strained stock into mason jars, leaving 1 inch of headroom.
Let the jars cool to room temperature, then transfer to the freezer.
Pick meat off the chicken and use for other recipes.