-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bad warning on entering dead await #174
Comments
Hm, what would be a good repro for dead await right now (after we fixed the race condition issue)? |
That is a great question... We probably have to reach inside and poke at the internals. Alternatively, we can trigger the overused deferral argument. It uses the same code path. |
For instance: foo = (cb) -> cb(); cb()
await foo defer() Outputs:
|
Traces did not get 'filename' property, which resulted in confusing runtime warnings, like: `ICED warning: overused deferral at <anonymous> (undefined:3)` Fixed this by adding filename in Await.transform. Added new tests that check for this issue. Fixes #174
So this issue is now fixed, I think. What is there left? |
Thanks for fixing it. I had original omitted this feature since sometimes the pen-testers like to complain about "full path disclosure" in the emitted source code. That's not the thing I lose any sleep over, but hey. I think we should get ready to launch an alpha iced3, which you can get via |
I could have fixed this earlier, had I realized that the issue was only a result of missing filename :) Ad 1), I recall thinking about this before, but I'd say it's a common practice currently to "leak" stuff like this everywhere. It's usually full path of the developer/buildbot's machine, though. A little weird, compared to, say, proprietary c/c++ software development when they try to strip and sometimes obfuscate everything, everywhere. We may also introduce a compiler flag that would block emitting traces and other original-source-code information. I think it's only line numbers on Defer nodes, filenames and method names on Await nodes, but I'm not actually looking at the code right now.
|
So what if we change the trace to only include filename, not the full path? Or the path relative to directory where the compiler was invoked? |
i like the idea of the relative path, that's cleaner... On Tue, Apr 19, 2016 at 9:02 AM, Michał Zochniak [email protected]
|
Or maybe it should be responsibility of the tools (like icsify... I don't know what else is used) to do this? What also could be useful is detecting function names in functions like:
Right now the error is |
@maxtaco what do you think? So should we try to do an alpha release? Maybe @doublerebel would be able to try to test his code base on the new version. Then build tools could be adjusted to work better with iced3. I've only ever used gulp and browserify, so I'm very much clueless in what's popular right now. |
OK, let's punt on all of the downstream usage issues. I think the one last remaining piece is a package/release script. There are enough things to remember that we're bound to forget if we don't script it. Ticket here: #180 |
The text was updated successfully, but these errors were encountered: