This is similar to Java thread dump: BLOCKED thread without "waiting to lock ...".
Basically, I am seeing a BLOCKED thread but it has the lock it is wait
This is a known cosmetic bug in Oracle's HotSpot JVM. As you say, in your stack trace where you see - locked <0x00007f3e9a0b3830> it should actually say - waiting to lock <0x00007f3e9a0b3830> since the thread has not yet acquired the relevant lock.
- locked <0x00007f3e9a0b3830>
- waiting to lock <0x00007f3e9a0b3830>
See this bug for more details.