Welcome! 
It’s caused by combination of some audio cards and difference in programs sample rate, if you experience such a problem - i strongly suggest you should route all your audio through jack
Common terms
buffer under-or-overrun, X stands for under or over. It’s a sign that your system did not process some buffers in time, so some data is missed. It is particularly true when you run at very low buffer size where the sound card should process incoming buffers very fast (overrun). Some chips cannot cope with small buffer sizes, so you have to increase the buffer length to ease the work done by the sound chip.
Realtime config quick scan
https://github.com/raboof/realtimeconfigquickscan
Run as:
perl ./realTimeConfigQuickScan.pl
Use this script and all of it’s recommendations (except maybe CPU Governors & RT Kernel)
Route all audio through JACK
Here’s basic setup…
Install those packages:
jack2
cadence
pulseaudio-jack
zita-ajbridge
Launch Cadence and do it’s most basic settings (to route all audio through JACK):
JACK Settings
[x] Auto-start JACK or LADISH at login
ALSA Audio
Alsa -> PulseAudio -> JACK (plugin)
PulseAudio
[ ] Auto-start at login
Engine
[x] Realtime
Driver
[x] ALSA
[x] Duplex Mode !
Device/Interface - your audio card
Sample rate - 44100 kHz
Buffer size - 512
Period/Buffer - 2
System settings - Audio
[x] JACK sink (PulseAudio JACK Sink)
Smaller buffer size - obviously smaller will be latency, but if you just listen and don’t create music - it should be safe starting value (although outcome heavily depends on Audio hardware, usually you should aim for as small value as possible, which doesn’t introduce crackles / xruns)
Inside Cadence there is Tools - Catia - here you can route anything to any connection like an octopus 