I get this exact error with the most recent master build and an STM32L052 and can confirm the 2nd invocation of stm32lx_obl_launch() as source. The processor isn't halted. However, when reexecuting openocd with -c halt -c "stm32l0.cpu curstate", halting succeeds. I noticed that the CPU is in "running"-state even before the write(OBL_LAUNCH), apparently since the end of stm32lx_wait_until_bsy_clear_timeout(). STM32CubeProgrammer is able to program this, although I regulary get a similar error there....