Since it’s running again, and only after some restarts, it does sound like a temperature problem, as @Kobold said. But since it is working again, you should be able to see why it did that by inspecting the logs. Which can be obtained with:
journalctl --boot==-1 --priority=err..warning --no-pager
This will show you all errors and warnings of the previous boot. You can adjust which boot by adapting the -1
parameter of the --boot=
argument. Feel free to do so to get the logs of a boot that failed.
Reply here with the output if you want everyone to take a look.
Tip: 
When posting terminal output, copy the output and paste it here, wrapped in three (3) backticks, before AND after the pasted text. Like this:
```
pasted text
```
Or three (3) tilde signs, like this:
~~~
pasted text
~~~
This will just cause it to be rendered like this:
Sed
sollicitudin dolor
eget nisl elit id
condimentum
arcu erat varius
cursus sem quis eros.
Instead of like this:
Sed sollicitudin dolor eget nisl elit id condimentum arcu erat varius cursus sem quis eros.
Alternatively, paste the text you wish to format as terminal output, select all pasted text, and click the </> button on the taskbar. This will indent the whole pasted section with one TAB, causing it to render the same way as described above.
Thereby increasing legibility thus making it easier for those trying to provide assistance.
For more information, please see:
Additionally
If your language isn’t English, please prepend any and all terminal commands with LC_ALL=C
. For example:
LC_ALL=C bluetoothctl
This will just cause the terminal output to be in English, making it easier to understand and debug.