IMHO he was crying from anxiety about starting school tomorrow.
He's ASD - and can sometimes just 'go off on one'.
The trigger was that 3 weeks ago I called him an idiot. We were in a hotel buffet - he kept harassing & upsetting his brother calling him names. He was asked to stop the name calling 3 times - at which point he stopped technically namecalling & started face-pulling. I told him to stop behaving like an idiot.
We were walking home from town this morning after buying stationery, and at one point he randomly said "Mum, you called me an idiot in our holiday". I apologised for calling him an idiot - but did point out that his behaviour warranted the label. He got kind of fixed and going round in circles "but you called me an idiot". Made to run away at one point, I walked around the block, found him, brought him home. Had a bit more chat & then left him to relax in his room for a bit, because he was just repeating himself & clearly needed to calm down.
When my mum called him down for lunch, he came into my study and said "mum, you called me an idiot" - then cried. I gave him a hug & we sat together for half an hour. Then my mum came up to investigate why he hadn't arrived at the meal. She asked what was wrong - I said he was just a bit overwhelmed. She said "what does that even mean" & went for a hunt for someone to blame.