>> So, what did you exactly observe?
> No thing!
What does that mean? SDA and SCL are surely at some levels.
I happen to have a hardware on my desk, with STM32F407, which in all respects of this program has identical GPIOB/I2C1, and I happen to have connected an EEPROM on PB6/PB7. So I simply burned the elf into that hardware, run, and it produced (probably) a START and transmission of address, after which it stuck in the loop waiting for I2C_SR1.ADDR (which never gets set as there's nothing which would ACK the given address - you should check also for I2C_SR1.AF, and I recommend you to add also timeouts later).
(probably) means that I observed SDA and SCL separately, as the given bus is buried deeply in the device in question and I have no intention to bring out the bus to be probed properly, so I just stuck a oscilloscope probe onto first then second pullup.
So, if you observe something else, I'd say it's hardware failure. You may want to use a "known good" hardware such as Nucleo or Disco boards, together with some means to debug through SWD.
JW
PS. Describe your hardware. What is connected to the bus - slaves, pullups?