Hi, Jajati.
What does `# service idp status` returns after you restart it? The "Failed" result can be misleading, from my experience with it. I guess sometimes some timeout may kick in if service takes too long to start, pre-emptively reporting start up has failed, while it actually starts successfully short after that.
Please also remove everything under `/opt/shibboleth-idp/logs/`, restart the service once more, pack all contents of this directory and share with us.