Skip to content
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

Error 500 even though ui shows it's working #30

Open
dordsor21 opened this issue Feb 5, 2018 · 8 comments
Open

Error 500 even though ui shows it's working #30

dordsor21 opened this issue Feb 5, 2018 · 8 comments

Comments

@dordsor21
Copy link

The same error 500 "Internal Server Error" everyone's getting.

It's clearly running fine in the ui - https://pastebin.com/raw/3rJxqC0t with no errors that I can see anywhere.

Yet gekkoga still falls on its face.

@Red-Maximus
Copy link

I am having the same issue.

@lenzoburger
Copy link

I think it is related to gekkoGA not supporting nested Arrays in Strat files. See the issue #24 for more details and solution.

@xFFFFF
Copy link

xFFFFF commented Feb 14, 2018

Starting GA with epoch populations of 20, running 5 units at a time!
{ StatusCodeError: 500 - "Internal Server Error"
    at new StatusCodeError (/home/f/!skrypty/gekko/gekkoga/node_modules/request-promise-core/lib/errors.js:32:15)
    at Request.plumbing.callback (/home/f/!skrypty/gekko/gekkoga/node_modules/request-promise-core/lib/plumbing.js:104:33)
    at Request.RP$callback [as _callback] (/home/f/!skrypty/gekko/gekkoga/node_modules/request-promise-core/lib/plumbing.js:46:31)
    at Request.self.callback (/home/f/!skrypty/gekko/gekkoga/node_modules/request/request.js:186:22)
    at emitTwo (events.js:126:13)
    at Request.emit (events.js:214:7)
    at Request.<anonymous> (/home/f/!skrypty/gekko/gekkoga/node_modules/request/request.js:1163:10)
    at emitOne (events.js:116:13)
    at Request.emit (events.js:211:7)
    at IncomingMessage.<anonymous> (/home/f/!skrypty/gekko/gekkoga/node_modules/request/request.js:1085:12)
    at Object.onceWrapper (events.js:313:30)
    at emitNone (events.js:111:20)
    at IncomingMessage.emit (events.js:208:7)
    at endReadableNT (_stream_readable.js:1055:12)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
    at process._tickCallback (internal/process/next_tick.js:180:9)
  name: 'StatusCodeError',
  statusCode: 500,
  message: '500 - "Internal Server Error"',
  error: 'Internal Server Error',
  options: 
   { url: 'http://localhost:3000/api/backtest',
     json: true,
     body: { gekkoConfig: [Object], data: [Object] },
     headers: { 'Content-Type': 'application/json' },
     timeout: 1200000,
     method: 'POST',
     callback: [Function: RP$callback],
     transform: undefined,
     simple: true,
     resolveWithFullResponse: false,
     transform2xxOnly: false },
  response: 
   IncomingMessage {
     _readableState: 
      ReadableState {
        objectMode: false,
        highWaterMark: 16384,
        buffer: [Object],
        length: 0,
        pipes: null,
        pipesCount: 0,
        flowing: true,
        ended: true,
        endEmitted: true,
        reading: false,
        sync: true,
        needReadable: false,
        emittedReadable: false,
        readableListening: false,
        resumeScheduled: false,
        destroyed: false,
        defaultEncoding: 'utf8',
        awaitDrain: 0,
        readingMore: false,
        decoder: null,
        encoding: null },
     readable: false,
     domain: null,
     _events: 
      { end: [Array],
        close: [Array],
        data: [Function],
        error: [Function] },
     _eventsCount: 4,
     _maxListeners: undefined,
     socket: 
      Socket {
        connecting: false,
        _hadError: false,
        _handle: null,
        _parent: null,
        _host: 'localhost',
        _readableState: [Object],
        readable: false,
        domain: null,
        _events: [Object],
        _eventsCount: 9,
        _maxListeners: undefined,
        _writableState: [Object],
        writable: false,
        allowHalfOpen: false,
        _bytesDispatched: 904,
        _sockname: null,
        _pendingData: null,
        _pendingEncoding: '',
        server: null,
        _server: null,
        parser: null,
        _httpMessage: [Object],
        read: [Function],
        _consuming: true,
        _idleTimeout: -1,
        _idleNext: null,
        _idlePrev: null,
        _idleStart: 2340,
        _destroyed: false,
        [Symbol(asyncId)]: 19,
        [Symbol(bytesRead)]: 176,
        [Symbol(asyncId)]: 62,
        [Symbol(triggerAsyncId)]: 55 },
     connection: 
      Socket {
        connecting: false,
        _hadError: false,
        _handle: null,
        _parent: null,
        _host: 'localhost',
        _readableState: [Object],
        readable: false,
        domain: null,
        _events: [Object],
        _eventsCount: 9,
        _maxListeners: undefined,
        _writableState: [Object],
        writable: false,
        allowHalfOpen: false,
        _bytesDispatched: 904,
        _sockname: null,
        _pendingData: null,
        _pendingEncoding: '',
        server: null,
        _server: null,
        parser: null,
        _httpMessage: [Object],
        read: [Function],
        _consuming: true,
        _idleTimeout: -1,
        _idleNext: null,
        _idlePrev: null,
        _idleStart: 2340,
        _destroyed: false,
        [Symbol(asyncId)]: 19,
        [Symbol(bytesRead)]: 176,
        [Symbol(asyncId)]: 62,
        [Symbol(triggerAsyncId)]: 55 },
     httpVersionMajor: 1,
     httpVersionMinor: 1,
     httpVersion: '1.1',
     complete: true,
     headers: 
      { 'content-type': 'text/plain; charset=utf-8',
        'content-length': '21',
        date: 'Wed, 14 Feb 2018 12:21:32 GMT',
        connection: 'close' },
     rawHeaders: 
      [ 'Content-Type',
        'text/plain; charset=utf-8',
        'Content-Length',
        '21',
        'Date',
        'Wed, 14 Feb 2018 12:21:32 GMT',
        'Connection',
        'close' ],
     trailers: {},
     rawTrailers: [],
     upgrade: false,
     url: '',
     method: null,
     statusCode: 500,
     statusMessage: 'Internal Server Error',
     client: 
      Socket {
        connecting: false,
        _hadError: false,
        _handle: null,
        _parent: null,
        _host: 'localhost',
        _readableState: [Object],
        readable: false,
        domain: null,
        _events: [Object],
        _eventsCount: 9,
        _maxListeners: undefined,
        _writableState: [Object],
        writable: false,
        allowHalfOpen: false,
        _bytesDispatched: 904,
        _sockname: null,
        _pendingData: null,
        _pendingEncoding: '',
        server: null,
        _server: null,
        parser: null,
        _httpMessage: [Object],
        read: [Function],
        _consuming: true,
        _idleTimeout: -1,
        _idleNext: null,
        _idlePrev: null,
        _idleStart: 2340,
        _destroyed: false,
        [Symbol(asyncId)]: 19,
        [Symbol(bytesRead)]: 176,
        [Symbol(asyncId)]: 62,
        [Symbol(triggerAsyncId)]: 55 },
     _consuming: true,
     _dumped: false,
     req: 
      ClientRequest {
        domain: null,
        _events: [Object],
        _eventsCount: 6,
        _maxListeners: undefined,
        output: [],
        outputEncodings: [],
        outputCallbacks: [],
        outputSize: 0,
        writable: true,
        _last: true,
        upgrading: false,
        chunkedEncoding: false,
        shouldKeepAlive: false,
        useChunkedEncodingByDefault: true,
        sendDate: false,
        _removedConnection: false,
        _removedContLen: false,
        _removedTE: false,
        _contentLength: null,
        _hasBody: true,
        _trailer: '',
        finished: true,
        _headerSent: true,
        socket: [Object],
        connection: [Object],
        _header: 'POST /api/backtest HTTP/1.1\r\nContent-Type: application/json\r\nhost: localhost:3000\r\naccept: application/json\r\ncontent-length: 753\r\nConnection: close\r\n\r\n',
        _onPendingData: [Function: noopPendingOutput],
        agent: [Object],
        socketPath: undefined,
        timeout: undefined,
        method: 'POST',
        path: '/api/backtest',
        _ended: true,
        res: [Circular],
        aborted: undefined,
        timeoutCb: [Function: emitTimeout],
        upgradeOrConnect: false,
        parser: null,
        maxHeadersCount: null,
        [Symbol(outHeadersKey)]: [Object] },
     request: 
      Request {
        domain: null,
        _events: [Object],
        _eventsCount: 5,
        _maxListeners: undefined,
        body: '{"gekkoConfig":{"watch":{"exchange":"binance","currency":"BTC","asset":"MOD"},"paperTrader":{"slippage":0.05,"feeTaker":0.25,"feeMaker":0.15,"feeUsing":"taker","simulationBalance":{"asset":1,"currency":1},"reportRoundtrips":true,"enabled":true},"writer":{"enabled":false,"logpath":""},"tradingAdvisor":{"enabled":true,"method":"custom_macd","candleSize":10,"historySize":5},"trader":{"enabled":false},"backtest":{"daterange":"scan"},"performanceAnalyzer":{"riskFreeReturn":5,"enabled":true},"valid":true,"custom_macd":{"historySize":5,"macd_short":10,"macd_long":29,"macd_signal":12,"macd_up":"3.58","macd_down":"-12.72","candleSize":10}},"data":{"candleProps":["close","start"],"indicatorResults":false,"report":true,"roundtrips":false,"trades":false}}',
        headers: [Object],
        timeout: 1200000,
        method: 'POST',
        readable: true,
        writable: true,
        explicitMethod: true,
        _qs: [Object],
        _auth: [Object],
        _oauth: [Object],
        _multipart: [Object],
        _redirect: [Object],
        _tunnel: [Object],
        _rp_resolve: [Function],
        _rp_reject: [Function],
        _rp_promise: [Object],
        _rp_callbackOrig: undefined,
        callback: [Function],
        _rp_options: [Object],
        setHeader: [Function],
        hasHeader: [Function],
        getHeader: [Function],
        removeHeader: [Function],
        localAddress: undefined,
        pool: {},
        dests: [],
        __isRequestRequest: true,
        _callback: [Function: RP$callback],
        uri: [Object],
        proxy: null,
        tunnel: false,
        setHost: true,
        originalCookieHeader: undefined,
        _disableCookies: true,
        _jar: undefined,
        port: '3000',
        host: 'localhost',
        path: '/api/backtest',
        _json: true,
        httpModule: [Object],
        agentClass: [Object],
        agent: [Object],
        _started: true,
        href: 'http://localhost:3000/api/backtest',
        req: [Object],
        ntick: true,
        timeoutTimer: null,
        response: [Circular],
        originalHost: 'localhost:3000',
        originalHostHeaderName: 'host',
        responseContent: [Circular],
        _destdata: true,
        _ended: true,
        _callbackCalled: true },
     toJSON: [Function: responseToJSON],
     caseless: Caseless { dict: [Object] },
     read: [Function],
     body: 'Internal Server Error' } }```

@AtlanticSkyrocket
Copy link

AtlanticSkyrocket commented Feb 14, 2018

It might be the specific strat your are evaluating. I can run gekkkoGA fine with some public strats (StrategoSLv7, BodhiDI, and scalp) once I make sure the variables/parameters are set correct in the gekkoga config/strat and within the strat itself.

@dwarda
Copy link

dwarda commented Feb 24, 2018

I am having the same error. did you guys figure out how to fix it? i am running gekko 5.0.12

@generalectric
Copy link
Collaborator

@dwarda 500 internal server is going to be strat not found... or the data is not available... one of those two. Double check your stratname and strat filename make sure they are the same (minus the .js in your config). Minimize your daterange to a few hours of data you are 100% sure that you have. Make sure your db settings are correct in ~/gekko/web/routes/baseConfig.js.... and increase your timeout setting in ~/gekko/web/vue/UIconfig.js if you plan on running larger datasets, parallelqueries, or smaller candles.

@JasLin
Copy link

JasLin commented Mar 20, 2018

@generalectric after print trace some debug information, i found this issue is cause by problem of the implementing of [stream] (https://nodejs.org/api/stream.html#stream_buffering) in gekko

api/backtest will randomly stop on this line

this.push(c);

I guess the buffer increase to the highWaterMark limit of stream buffer.

because consumer process speed is lower then reader push() speed. this stream implementing is little complex , I have no idea how to fix it yet.

@generalectric
Copy link
Collaborator

@JasLin i havent seen any of the behavior you're experiencing, have you managed to get it sorted out yet?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants