Skip to content

Instantly share code, notes, and snippets.

@kapouer
Created May 12, 2016 20:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kapouer/070a281e7cc5e6348b10eff79b38bd01 to your computer and use it in GitHub Desktop.
Save kapouer/070a281e7cc5e6348b10eff79b38bd01 to your computer and use it in GitHub Desktop.
Running a socket.io with uws
2016-05-12_20:54:15.00577 ==13742==ERROR: AddressSanitizer: heap-use-after-free on address 0x60e0000815a0 at pc 0x7f9e9eede790 bp 0x7ffe008f49c0 sp 0x7ffe008f49b8
2016-05-12_20:54:15.00577 READ of size 8 at 0x60e0000815a0 thread T0 (ws-production-0)
2016-05-12_20:54:15.03000 #0 0x7f9e9eede78f in uWS::Socket::close(bool, unsigned short, char*, unsigned long) (/home/eda/src/uWebSockets/nodejs/dist/uws_linux_46.node+0xa78f)
2016-05-12_20:54:15.03002 #1 0x7f9e9eedec76 (/home/eda/src/uWebSockets/nodejs/dist/uws_linux_46.node+0xac76)
2016-05-12_20:54:15.03003 #2 0x7f9eafbf3617 (/usr/lib/x86_64-linux-gnu/libuv.so.1+0x16617)
2016-05-12_20:54:15.03064 #3 0x7f9eafbe7a99 in uv_run (/usr/lib/x86_64-linux-gnu/libuv.so.1+0xaa99)
2016-05-12_20:54:15.03066 #4 0xaeb7df in node::Start(int, char**) (/usr/bin/nodejs+0xaeb7df)
2016-05-12_20:54:15.03067 #5 0x7f9eabe1060f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2060f)
2016-05-12_20:54:15.03068 #6 0x6459a8 in _start (/usr/bin/nodejs+0x6459a8)
2016-05-12_20:54:15.03068
2016-05-12_20:54:15.03071 0x60e0000815a0 is located 0 bytes inside of 160-byte region [0x60e0000815a0,0x60e000081640)
2016-05-12_20:54:15.03079 freed by thread T0 (ws-production-0) here:
2016-05-12_20:54:15.03087 #0 0x7f9eb00b114a in operator delete(void*) (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x9514a)
2016-05-12_20:54:15.03088 #1 0x7f9eafbe7977 in uv_run (/usr/lib/x86_64-linux-gnu/libuv.so.1+0xa977)
2016-05-12_20:54:15.03113 #2 0x7ffe008f4bff (<unknown module>)
2016-05-12_20:54:15.03114
2016-05-12_20:54:15.03115 previously allocated by thread T0 (ws-production-0) here:
2016-05-12_20:54:15.03116 #0 0x7f9eb00b0c0a in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x94c0a)
2016-05-12_20:54:15.03118 #1 0x7f9e9eedd161 in uWS::Server::upgradeHandler(uWS::Server*) (/home/eda/src/uWebSockets/nodejs/dist/uws_linux_46.node+0x9161)
2016-05-12_20:54:15.03119 #2 0x7f9e9eee583f in uWS::Server::upgrade(int, char const*, void*, bool) (/home/eda/src/uWebSockets/nodejs/dist/uws_linux_46.node+0x1183f)
2016-05-12_20:54:15.03120 #3 0x7f9e9eeea68e in upgrade(v8::FunctionCallbackInfo<v8::Value> const&) (/home/eda/src/uWebSockets/nodejs/dist/uws_linux_46.node+0x1668e)
2016-05-12_20:54:15.03129 #4 0x677839 in v8::internal::FunctionCallbackArguments::Call(void (*)(v8::FunctionCallbackInfo<v8::Value> const&)) (/usr/bin/nodejs+0x677839)
2016-05-12_20:54:15.03131 #5 0x69ed5f (/usr/bin/nodejs+0x69ed5f)
2016-05-12_20:54:15.03132 #6 0x69f0dc (/usr/bin/nodejs+0x69f0dc)
2016-05-12_20:54:15.03156 #7 0x2f112fd0963a (<unknown module>)
2016-05-12_20:54:15.03180 #8 0x2f11303648a6 (<unknown module>)
2016-05-12_20:54:15.03204 #9 0x2f1130509eca (<unknown module>)
2016-05-12_20:54:15.03229 #10 0x2f112fd09ff6 (<unknown module>)
2016-05-12_20:54:15.03252 #11 0x2f11302fb1e2 (<unknown module>)
2016-05-12_20:54:15.03276 #12 0x2f112fd318fc (<unknown module>)
2016-05-12_20:54:15.03300 #13 0x2f112fd15b61 (<unknown module>)
2016-05-12_20:54:15.03301 #14 0x7a9dcf (/usr/bin/nodejs+0x7a9dcf)
2016-05-12_20:54:15.03308 #15 0x7ab09a in v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*, bool) (/usr/bin/nodejs+0x7ab09a)
2016-05-12_20:54:15.03310 #16 0x66d074 in v8::Function::Call(v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*) (/usr/bin/nodejs+0x66d074)
2016-05-12_20:54:15.03311 #17 0x66d180 in v8::Function::Call(v8::Local<v8::Value>, int, v8::Local<v8::Value>*) (/usr/bin/nodejs+0x66d180)
2016-05-12_20:54:15.03321 #18 0xacf8ec in node::AsyncWrap::MakeCallback(v8::Local<v8::Function>, int, v8::Local<v8::Value>*) (/usr/bin/nodejs+0xacf8ec)
2016-05-12_20:54:15.03322 #19 0xadb61e in node::HandleWrap::OnClose(uv_handle_s*) (/usr/bin/nodejs+0xadb61e)
2016-05-12_20:54:15.03323 #20 0x7f9eafbe7977 in uv_run (/usr/lib/x86_64-linux-gnu/libuv.so.1+0xa977)
2016-05-12_20:54:15.03348 #21 0x7ffe008f4bff (<unknown module>)
2016-05-12_20:54:15.03349
2016-05-12_20:54:15.03351 SUMMARY: AddressSanitizer: heap-use-after-free ??:0 uWS::Socket::close(bool, unsigned short, char*, unsigned long)
2016-05-12_20:54:15.03361 Shadow bytes around the buggy address:
2016-05-12_20:54:15.03362 0x0c1c80008260: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
2016-05-12_20:54:15.03362 0x0c1c80008270: fd fd fd fa fa fa fa fa fa fa fa fa fd fd fd fd
2016-05-12_20:54:15.03362 0x0c1c80008280: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fa
2016-05-12_20:54:15.03363 0x0c1c80008290: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
2016-05-12_20:54:15.03363 0x0c1c800082a0: fd fd fd fd fd fd fd fd fd fd fd fa fa fa fa fa
2016-05-12_20:54:15.03364 =>0x0c1c800082b0: fa fa fa fa[fd]fd fd fd fd fd fd fd fd fd fd fd
2016-05-12_20:54:15.03364 0x0c1c800082c0: fd fd fd fd fd fd fd fd fa fa fa fa fa fa fa fa
2016-05-12_20:54:15.03365 0x0c1c800082d0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
2016-05-12_20:54:15.03365 0x0c1c800082e0: fd fd fd fa fa fa fa fa fa fa fa fa fd fd fd fd
2016-05-12_20:54:15.03366 0x0c1c800082f0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
2016-05-12_20:54:15.03366 0x0c1c80008300: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
2016-05-12_20:54:15.03366 Shadow byte legend (one shadow byte represents 8 application bytes):
2016-05-12_20:54:15.03367 Addressable: 00
2016-05-12_20:54:15.03367 Partially addressable: 01 02 03 04 05 06 07
2016-05-12_20:54:15.03368 Heap left redzone: fa
2016-05-12_20:54:15.03368 Heap right redzone: fb
2016-05-12_20:54:15.03368 Freed heap region: fd
2016-05-12_20:54:15.03369 Stack left redzone: f1
2016-05-12_20:54:15.03370 Stack mid redzone: f2
2016-05-12_20:54:15.03370 Stack right redzone: f3
2016-05-12_20:54:15.03371 Stack partial redzone: f4
2016-05-12_20:54:15.03371 Stack after return: f5
2016-05-12_20:54:15.03371 Stack use after scope: f8
2016-05-12_20:54:15.03371 Global redzone: f9
2016-05-12_20:54:15.03372 Global init order: f6
2016-05-12_20:54:15.03372 Poisoned by user: f7
2016-05-12_20:54:15.03372 Container overflow: fc
2016-05-12_20:54:15.03372 Array cookie: ac
2016-05-12_20:54:15.03373 Intra object redzone: bb
2016-05-12_20:54:15.03373 ASan internal: fe
2016-05-12_20:54:15.03373 ==13742==ABORTING
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment