Finding source of unhandled promise rejection: TypeError: Chaining cycle detected for promise
If you miss an helpful stacktrace, you can make node create a new one by re-throwing your error in your handler like this:
process.on('unhandledRejection', (reason, p) => { throw reason });
This way, you should be able to track down the culprit.