{"action":"created","issue":{"url":"https://api.github.com/repos/petkaantonov/bluebird/issues/838","labels_url":"https://api.github.com/repos/petkaantonov/bluebird/issues/838/labels{/name}","comments_url":"https://api.github.com/repos/petkaantonov/bluebird/issues/838/comments","events_url":"https://api.github.com/repos/petkaantonov/bluebird/issues/838/events","html_url":"https://github.com/petkaantonov/bluebird/issues/838","id":114302857,"number":838,"title":"long stack traces assumption","user":{"login":"jardakotesovec","id":1590681,"avatar_url":"https://avatars.githubusercontent.com/u/1590681?v=3","gravatar_id":"","url":"https://api.github.com/users/jardakotesovec","html_url":"https://github.com/jardakotesovec","followers_url":"https://api.github.com/users/jardakotesovec/followers","following_url":"https://api.github.com/users/jardakotesovec/following{/other_user}","gists_url":"https://api.github.com/users/jardakotesovec/gists{/gist_id}","starred_url":"https://api.github.com/users/jardakotesovec/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jardakotesovec/subscriptions","organizations_url":"https://api.github.com/users/jardakotesovec/orgs","repos_url":"https://api.github.com/users/jardakotesovec/repos","events_url":"https://api.github.com/users/jardakotesovec/events{/privacy}","received_events_url":"https://api.github.com/users/jardakotesovec/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-10-30T16:20:01Z","updated_at":"2015-11-04T11:54:36Z","closed_at":"2015-11-04T11:37:57Z","body":"\r\nHi,\r\nI am currently trying to figure out if its possible to modify `https://github.com/facebook/dataloader` to get full stack trace.\r\n\r\nBasically my question is if I create `var promise1 = new Promise(resolve,reject)` and pass another `promise2` to the resolve function. Lets assume that promise2 got rejected somewhere deep. Do you think that I still should get long stack trace?\r\n\r\nCurrently problem in dataloader is that promise chain got broken, because dataloader resolve the value and pass it to new promise.\r\n\r\nSo I was trying to pass promise to that resolve function instead of actual value, but did not help. So wondering if that situation is considered."},"comment":{"url":"https://api.github.com/repos/petkaantonov/bluebird/issues/comments/153697631","html_url":"https://github.com/petkaantonov/bluebird/issues/838#issuecomment-153697631","issue_url":"https://api.github.com/repos/petkaantonov/bluebird/issues/838","id":153697631,"user":{"login":"jardakotesovec","id":1590681,"avatar_url":"https://avatars.githubusercontent.com/u/1590681?v=3","gravatar_id":"","url":"https://api.github.com/users/jardakotesovec","html_url":"https://github.com/jardakotesovec","followers_url":"https://api.github.com/users/jardakotesovec/followers","following_url":"https://api.github.com/users/jardakotesovec/following{/other_user}","gists_url":"https://api.github.com/users/jardakotesovec/gists{/gist_id}","starred_url":"https://api.github.com/users/jardakotesovec/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jardakotesovec/subscriptions","organizations_url":"https://api.github.com/users/jardakotesovec/orgs","repos_url":"https://api.github.com/users/jardakotesovec/repos","events_url":"https://api.github.com/users/jardakotesovec/events{/privacy}","received_events_url":"https://api.github.com/users/jardakotesovec/received_events","type":"User","site_admin":false},"created_at":"2015-11-04T11:54:36Z","updated_at":"2015-11-04T11:54:36Z","body":"@petkaantonov I am aware of that - I made sure that dataloader also use bluebird promise (by setting `global.Promise = require('bluebird')`. So I am pretty sure that in that chain was not non-bluebird promise.\r\n\r\nLets look at this chain:\r\n\r\nbluebirdPromise1 -> bluebirdPromise2 -> bluebirdPromise3 -> bluebirdPromise4 (in Dataloader) -> bluebirdPromise5 ->bluebirdPromise6 -> error\r\n\r\nI suspect that reason why stack traces stop in dataloader is that in time when error occurs there is only chain: `bluebirdPromise4 (in Dataloader) -> bluebirdPromise5 ->bluebirdPromise6 -> error`. Complete chain is created sometime after that.   This comes to my original question - is long stack trace created in time when error occurs? Or composed step by step when error is bubbling up?"}}