I can not explain why you suddenly got your 8 seconds. I have some doubts that your issue will come back but only time will tell
The dmesg output is OK (same as mine as far as I can see). Here is a little background how those boards work.
From your output I can see that the bootloader is the Leonardo bootloader (idProduct=0036 after reset) and the last time a sketch was uploaded it was uploaded with the Leonardo selected as the board (idProduct=8036 when you connected your board).
When a sketch is compiled, the compiler adds some code that you don't see (it's part of the so-called core). This code is, amongst other things, responsible for the identification of the board to the operating system (vid/pid for normal use, name) and the reaction on a software reset issued by the IDE. A bug in your sketch (or libraries that you use) can overwrite variables used by the above functionalities. As a result board identification might fail or the board might not react on the software reset.
You can follow what the IDE does if you enable verbose output during upload in file/preferences in the IDE.
Forcing reset using 1200bps open/close on port /dev/ttyACM1
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyUSB0, } / {/dev/ttyACM0, /dev/ttyUSB0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyUSB0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyUSB0, } => {/dev/ttyACM1, }
Found upload port: /dev/ttyACM1
This is the output when using IDE 1.x; the first line will be slightly different for IDE 2.x and in IDE 2.x your will not see the lines starting with PORTS.
You can see in the second line that /dev/ttyACM1 disappears (it does not show in the second pair of {} and next comes back (it shows again in the second pair of {} of the third line) and the IDE recognises it as the correct device (the third pair of {} on the third line).
The number of lines can slightly vary if the correct port was selected; the IDE will try to find the port with the bootloader for quite a long time.
You can match the above output against dmesg (use dmesg -w).
In the below IDE output, I choose the wrong port (ttyUSB0 which in my setup was an Uno clone). The Uno clone will not react on the software reset issued by the IDE hence the number of lines did increase. Selection of the wrong port can happen by user mistake, here it was used to demonstrate a bug in the previously uploaded code where the board does not react on the software reset.
When I realised that I had the wrong port selected, I issued a manual reset with the reset button (double tap the button) after which the board was detected and the upload started.
Forcing reset using 1200bps open/close on port /dev/ttyUSB0
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyUSB0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyUSB0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyUSB0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyUSB0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyUSB0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyUSB0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyUSB0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyUSB0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyUSB0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyUSB0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyUSB0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyUSB0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyUSB0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyUSB0, } => {}
# manual reset; note that /dev/ttyACM1 disappeared from the second pair of {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyUSB0, } / {/dev/ttyACM0, /dev/ttyUSB0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyUSB0, } / {/dev/ttyACM0, /dev/ttyUSB0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyUSB0, } / {/dev/ttyACM0, /dev/ttyUSB0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyUSB0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyUSB0, } => {/dev/ttyACM1, }
Found upload port: /dev/ttyACM1
Note:
The bootloader is fully independent of the uploaded code; you can see it as a BIOS that is independent of the installed operating system (your sketch).
Question
How do you intend to use the board? As a HID? If so, I will provide some additional information.