Cette locution verbale en forme d'idiotisme corporel et d'idiotisme alimentaire appartient au registre familier.
Et elle signifie, au sens figuré : rencontrer une difficulté, un obstacle imprévu.
Étonnamment, cette expression apparue en 1914, trouve son origine dans le monde militaire et plus précisément dans les tranchées de la Première Guerre mondiale, où la formule "Tomber sur un os" s'utilisait au sens propre.
A l’époque, en effet, les rations étaient loin d’être copieuses, et seuls certains soldats chanceux avaient le droit à un morceau de viande, de nombreux autres ne recevant que des os, sur lesquels ne figuraient que quelques maigres bouts de chair.
Sources : www.defense.gouv.fr et www.expressio.fr