Add some logging in your first logic hook, one at the beginning, one at the end.
If you get a lot of messages from the first line, that means you are probably saving a bean (or creating a relationship) and it creates another call to the same logic hook, and infinite recursion, causing the second hook never to be reached.
If you get a single message from the first line, but not the one from the last line, then you are getting a FATAL inside your code.
But that piece of code works sometimes, sometimes dosen’t work. How to identify fatal code inside code.
Is there any way we can add error handling on logic hooks so that it will go to next logic hook even if fatal error is thrown