Clone and build Node for analysis:
$ git clone https://github.com/joyent/node.git
$ cd node
$ export GYP_DEFINES="v8_enable_disassembler=1"
$ ./configure
$ make -j4
| [{"author":"Barry Smith","text":"Test"},{"author":"James Brown","text":"ASDFG!"}] |
| dtrace -n 'syscall::writev:entry /execname == "node" && arg2 > 16/ { printf("iovcnt: %d", arg2); }' -n 'syscall::writev:return /execname == "node" && arg1 == -1 && errno == 22/ { printf("%s %s %d\\n", curpsinfo->pr_psargs, probefunc, errno); jstack(100, 8000); }' | |
| 1 10260 writev:entry iovcnt: 57 | |
| 1 10261 writev:return node --nouse-idle-notification /voxer/server/node_router/node_router.js /voxer/ writev 22\n | |
| libc.so.1`__writev+0x15 | |
| node`uv__write.part.5+0x18f | |
| node`uv_write2+0x1b9 | |
| node`uv_write+0x35 | |
| node`_ZN4node10StreamWrap6WritevERKN2v89ArgumentsE+0x678 | |
| node`_ZN2v88internalL21Builtin_HandleApiCallENS0_12_GLOBAL__N_116BuiltinArgumentsILNS0_21BuiltinExtraArgumentsE1EEEPNS0_7IsolateE+0x157 | |
| << internal code >> |
| {-# LANGUAGE OverloadedStrings #-} | |
| import qualified Network.HTTP.Conduit as H | |
| import Control.Exception | |
| import Web.Scotty | |
| import System.Environment | |
| import System.IO | |
| import System.Directory | |
| import Control.Monad | |
| import Control.Monad.IO.Class | |
| import qualified Data.ByteString.Lazy.Char8 as BS |
| package com.example.helloworld.resources; | |
| import javax.jws.WebMethod; | |
| @javax.jws.WebService( | |
| name = "AddNumbersPortType", | |
| serviceName = "AddNumbersService", | |
| targetNamespace = "http://duke.example.org") | |
| @javax.jws.soap.SOAPBinding( | |
| style = javax.jws.soap.SOAPBinding.Style.DOCUMENT, |