Binance ticker problem..

Note: for support questions, please join our Discord server

I'm submitting a ...
[x] bug report
[ ] feature request
[ ] question about the decisions made in the repository

Action taken (what you did)
Initiating the bot as a trade bot both on UI and CLI

Expected result (what you hoped would happen)
Start trading based on strategy given

Actual result (unexpected outcome)
Throws error at binance.js

Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, etc)

Hi, I'm trying to start the bot in trading mode. My exchange is Binance and I made all configuration necessary in config.js but it throws the error below
C:\Users\Burak.Erdem\Desktop\gekko-stable\exchanges\binance.js:193
    callback(err.message, ticker);
                 ^

TypeError: Cannot read property 'message' of null
    at Trader.setTicker (C:\Users\Burak.Erdem\Desktop\gekko-stable\exchanges\bin
ance.js:193:18)
    at bound (C:\Users\Burak.Erdem\Desktop\gekko-stable\node_modules\lodash\dist
\lodash.js:729:21)
    at Request.request [as _callback] (C:\Users\Burak.Erdem\Desktop\gekko-stable
\node_modules\binance\lib\rest.js:61:21)
    at Request.self.callback (C:\Users\Burak.Erdem\Desktop\gekko-stable\node_mod
ules\request\request.js:188:22)
    at emitTwo (events.js:126:13)
    at Request.emit (events.js:214:7)
    at Request.<anonymous> (C:\Users\Burak.Erdem\Desktop\gekko-stable\node_modul
es\request\request.js:1171:10)
    at emitOne (events.js:116:13)
    at Request.emit (events.js:211:7)
    at IncomingMessage.<anonymous> (C:\Users\Burak.Erdem\Desktop\gekko-stable\no
de_modules\request\request.js:1091:12)

This should've been fixed in #1401
Are you sure you're running the latest version (if not even develop branch)?

Getting the same error, I tried on latest stable and develop branches.

@greenbigfrog I'm running the latest stable version. I haven't tried develop branch though. Going to check it out.

I stumbled upon this post while searching for solutions for the same problem, it seems. I tried using the gekko-develop.zip as well. I've tried different strategies to no avail. Also tried on Windows and Debian. Here is the error:
/home/money/gekko/exchanges/binance.js:193
callback(err.message, ticker);
^
TypeError: Cannot read property 'message' of null
at Trader.setTicker (/home/money/gekko/exchanges/binance.js:193:18)
at bound (/home/money/gekko/node_modules/lodash/dist/lodash.js:729:21)
at Request.request [as _callback] (/home/money/gekko/node_modules/binance/lib/rest.js:61:21)
at Request.self.callback (/home/money/gekko/node_modules/request/request.js:188:22)
at Request.emit (events.js:159:13)
at Request. (/home/money/gekko/node_modules/request/request.js:1171:10)
at Request.emit (events.js:159:13)
at IncomingMessage. (/home/money/gekko/node_modules/request/request.js:1091:12)
at Object.onceWrapper (events.js:254:19)
at IncomingMessage.emit (events.js:164:20)
RECEIVED ERROR IN GEKKO<PHONE_NUMBER>52292
Child process has died.
The error only happens when attempting to use tradebot. I'm offering 0.1 BCH (or whatever equivalent you want) to the guy who can get this fixed quickly! Thanks!

having same error
TypeError: Cannot read property 'message' of null

I am sure @cmroche will be able to fix it. have you tried just setting err.message to err (in the 3 areas)?

I changed err.message to err only. Now I'm getting this error.
`2017-12-16 16:11:21 (DEBUG):    [binance.js] entering "setBalance" callback afte
r api call, err: { code: -1021,
msg: 'Timestamp for this request is outside of the recvWindow.' }  data: { cod
e: -1021,
msg: 'Timestamp for this request is outside of the recvWindow.' }
2017-12-16 16:11:21 (ERROR):    [binance.js]  { code: -1021,
msg: 'Timestamp for this request is outside of the recvWindow.' }
C:\Users\Burak.Erdem\Desktop\gekko-stable\exchanges\binance.js:35
if (!error || !error.message.match(recoverableErrors)) {
^
TypeError: Cannot read property 'match' of undefined
at Trader.retry (C:\Users\Burak.Erdem\Desktop\gekko-stable\exchanges\binance
.js:35:32)
at Trader.bound [as retry] (C:\Users\Burak.Erdem\Desktop\gekko-stable\node_m
odules\lodash\dist\lodash.js:729:21)
at Trader.setBalance (C:\Users\Burak.Erdem\Desktop\gekko-stable\exchanges\bi
nance.js:122:19)
at bound (C:\Users\Burak.Erdem\Desktop\gekko-stable\node_modules\lodash\dist
\lodash.js:729:21)
at Request.request [as _callback] (C:\Users\Burak.Erdem\Desktop\gekko-stable
\node_modules\binance\lib\rest.js:52:21)
at Request.self.callback (C:\Users\Burak.Erdem\Desktop\gekko-stable\node_mod
ules\request\request.js:188:22)
at emitTwo (events.js:126:13)
at Request.emit (events.js:214:7)
at Request. (C:\Users\Burak.Erdem\Desktop\gekko-stable\node_modul
es\request\request.js:1171:10)
at emitOne (events.js:116:13)
`

@repentant @leejh970 @ms121 I am aware of this issue, with the parsing of bad results causing a crash and am planning on rewriting the binance API layer to implement all the error/retry handling improvements I've made with the kraken exchange recently. This should make the exchange much more robust against retryable errors.

@jessrbird As a temporary fix, change line 193 of binance.js from callback(err.message, ticker); to callback(undefined, ticker);

@cmroche I changed line 193 as you suggested and I now get a new error:
/home/money/gekko/exchanges/binance.js:35
if (!error || !error.message.match(recoverableErrors)) {
^
TypeError: Cannot read property 'match' of undefined
at Trader.retry (/home/money/gekko/exchanges/binance.js:35:32)
at Trader.bound [as retry] (/home/money/gekko/node_modules/lodash/dist/lodash.js:729:21)
at Trader.setBalance (/home/money/gekko/exchanges/binance.js:122:19)
at bound (/home/money/gekko/node_modules/lodash/dist/lodash.js:729:21)
at Request.request [as _callback] (/home/money/gekko/node_modules/binance/lib/rest.js:52:21)
at Request.self.callback (/home/money/gekko/node_modules/request/request.js:188:22)
at Request.emit (events.js:159:13)
at Request. (/home/money/gekko/node_modules/request/request.js:1171:10)
at Request.emit (events.js:159:13)
at IncomingMessage. (/home/money/gekko/node_modules/request/request.js:1091:12)
RECEIVED ERROR IN GEKKO<PHONE_NUMBER>509635
Child process has died.
Can you help me out? Can I send you a tip or do you prefer I donate to the project? Thanks!

@cmroche
Thanks for the quick response. I downloaded the latest dev branch (Perhaps changes haven't been integrated yet?) and also changed line 193 in binance.js for good measure. Now i get the same error as @repentant:
/home/money/gekko.bak/exchanges/binance.js:35
if (!error || !error.message.match(recoverableErrors)) {
^
TypeError: Cannot read property 'match' of undefined
at Trader.retry (/home/money/gekko.bak/exchanges/binance.js:35:32)
at Trader.bound [as retry] (/home/money/gekko.bak/node_modules/lodash/dist/lodash.js:729:21)
at Trader.setBalance (/home/money/gekko.bak/exchanges/binance.js:122:19)
at bound (/home/money/gekko.bak/node_modules/lodash/dist/lodash.js:729:21)
at Request.request [as _callback] (/home/money/gekko.bak/node_modules/binance/lib/rest.js:52:21)
at Request.self.callback (/home/money/gekko.bak/node_modules/request/request.js:188:22)
at Request.emit (events.js:159:13)
at Request. (/home/money/gekko.bak/node_modules/request/request.js:1171:10)
at Request.emit (events.js:159:13)
at IncomingMessage. (/home/money/gekko.bak/node_modules/request/request.js:1091:12)
RECEIVED ERROR IN GEKKO<PHONE_NUMBER>41076
Child process has died.
I guess I'll need to wait for the new binance.js to be merged so it can be downloaded? Looking forward to getting started. Thanks!

Thanks @cmroche for changes. Until it would've been committed I checked the whole code and removed any message property. This time I'm getting this error. Don't know if it's related to my settings, my balance or something else.
2017-12-18 12:23:31 (DEBUG):    [binance.js] entering "setBalance" callback afte r api call, err: { code: -1021,   msg: 'Timestamp for this request is outside of the recvWindow.' }  data: { cod e: -1021,   msg: 'Timestamp for this request is outside of the recvWindow.' }

@repentant you can increase the recvWindow and try that, located near the top of binance.js. It's at 1 minute right now though... so I am a bit surprised. This would indicate that requests you are sending are being re-ordered or delays by more than that much time. Let me know if making it larger works for you.

@cmroche I've tried up to 600000 (10 min) but no luck. I also decreased the value down to 10000 to see if I'm getting something else, but still the same error. Then I googled little bit, and from this thread I'm thinking that it has something to do with my timezone. I'm on UTC+3. Could it be the causing issue?

@jessrbird Ok, in that case you will be better off if you grab pull request #1508 which is a re-implementation of the error and retry handling. It checks for bad errors formats (and issue with the binance node module) and handles it better.
This does indicate you were getting an error though, I think there was another change that caused the ticker URL to be different, also updated in the Pull Request. I am able to live trade now without issues.

Good news! Trying it right away and let you know.

Something's still not right. I'm having 404 from an endpoint.
`undefined:1
404 Not found
^
SyntaxError: Unexpected token < in JSON at position 0
at JSON.parse ()
at Request.request [as _callback] (C:\Users\Burak.Erdem\Desktop\gekko\gekko\node_modules\binance\lib\rest.js:50:36)
at Request.self.callback (C:\Users\Burak.Erdem\Desktop\gekko\gekko\node_modules\request\request.js:188:22)
at emitTwo (events.js:126:13)
at Request.emit (events.js:214:7)
at Request. (C:\Users\Burak.Erdem\Desktop\gekko\gekko\node_modules\request\request.js:1171:10)
at emitOne (events.js:116:13)
at Request.emit (events.js:211:7)
at IncomingMessage. (C:\Users\Burak.Erdem\Desktop\gekko\gekko\node_modules\request\request.js:1091:12)
at Object.onceWrapper (events.js:313:30)
`

My request is like this. I'm still suspicious about timezone
{   "url": "https://www.binance.com/api/v1/aggTrades?symbol=NEOBTC&startTime=1513617960000&endTime=1513618198324",   "timeout": 15000 }

@repentant All times are passed as unix time stamps to the API, timezones shouldn't be a factor here. Please enable debug logging and paste the output. Further, I am fully able to use the API without this error right now, so I am not sure why you have a broken end point. Try the following:
Make sure you are using the 'develop' branch
git reset --hard to reset all tracked files
npm i to update modules
Re-integrate the PR and try again please.

@cmroche Sorry for the newb question, but what is the git command for the develop branch? Heretofore I've been downloading the develop.zip file.
This one is for the stable branch, yes? The develop one might look similar?
git clone git://github.com/askmike/gekko.git
You suggested that I grab pull request #1508. I can see the discussion, but not sure how to grab  the new js file. Can you help me out? I really appreciate the help. Thanks!

@jessrbird
I see, ok I was assuming that you were using git, downloading is fine but in this case you will have to go to the branch I used in my fork and download that, it's here https://github.com/cmroche/gekko/tree/binance_retry

@cmroche Maybe I'm getting closer. Downloaded the zip at https://github.com/cmroche/gekko/tree/binance_retry and tried to start trading bot. This is the error:
--> POST /api/startGekko 200 12ms 457b
undefined:1
404 Not found
^
SyntaxError: Unexpected token < in JSON at position 0
at JSON.parse ()
at Request.request [as _callback] (/home/money/gekko/node_modules/binance/lib/rest.js:50:36)
at Request.self.callback (/home/money/gekko/node_modules/request/request.js:188:22)
at emitTwo (events.js:126:13)
at Request.emit (events.js:214:7)
at Request. (/home/money/gekko/node_modules/request/request.js:1171:10)
at emitOne (events.js:116:13)
at Request.emit (events.js:211:7)
at IncomingMessage. (/home/money/gekko/node_modules/request/request.js:1091:12)
at Object.onceWrapper (events.js:313:30)
RECEIVED ERROR IN GEKKO<PHONE_NUMBER>7409185
Child process has died.
Let me know what you think. Thanks!

@repentant Were you able to get past the 404 error?

@repentant @jessrbird I just checked the source code on the binance module, you are probably using a version of the module before 1.1.0, from command line run npm install<EMAIL_ADDRESS>will probably fix the issue.

@cmroche It works! Thanks! Send me a crypto address so I can send you a tip.

@jessrbird Thanks! BCH 15nuUCxGTJ4A3ZUdicvLgnw7LBgq629vP8

@cmroche So I started a new trading bot, one that I expected to start trading in only an hour or two. After about 3 hours and no trades, it threw this error:
/home/money/gekko/exchanges/binance.js:295
util.retryCustom(retryForever, _.bind(handler, this), _.bind(check, this));
^
ReferenceError: check is not defined
at Trader.cancelOrder (/home/money/gekko/exchanges/binance.js:295:64)
at Trader.bound [as cancelOrder] (/home/money/gekko/node_modules/lodash/dist/lodash.js:729:21)
at Manager.handleCheckResult (/home/money/gekko/plugins/trader/portfolioManager.js:278:21)
at bound (/home/money/gekko/node_modules/lodash/dist/lodash.js:729:21)
at Trader.check (/home/money/gekko/exchanges/binance.js:269:5)
at bound (/home/money/gekko/node_modules/lodash/dist/lodash.js:729:21)
at /home/money/gekko/core/util.js:28:7
at /home/money/gekko/exchanges/binance.js:66:12
at Request.request [as _callback] (/home/money/gekko/node_modules/binance/lib/rest.js:75:21)
at Request.self.callback (/home/money/gekko/node_modules/request/request.js:188:22)
RECEIVED ERROR IN GEKKO<PHONE_NUMBER>85293
Child process has died.
I just sent you a little BCH. I surely appreciate your help!

It worked for me too when I updated binance module. But it's now keep analyzing and processing trades but doesn't place any. It's like that for 1 hour I think
2017-12-19 12:31:17 (DEBUG):	Processing 10 new trades. From 2017-12-19 09:31:07 UTC to 2017-12-19 09:31:25 UTC. (a few seconds) 2017-12-19 12:31:31 (DEBUG):	Requested NEO/BTC trade data from Binance ... 2017-12-19 12:31:33 (DEBUG):	Processing 12 new trades. From 2017-12-19 09:31:30 UTC to 2017-12-19 09:31:44 UTC. (a few seconds) 2017-12-19 12:31:51 (DEBUG):	Requested NEO/BTC trade data from Binance ... 2017-12-19 12:31:53 (DEBUG):	Processing 31 new trades. From 2017-12-19 09:31:50 UTC to 2017-12-19 09:32:06 UTC. (a few seconds) 2017-12-19 12:31:53 (DEBUG):	calculated MACD properties for candle: 2017-12-19 12:31:53 (DEBUG):		 short: 0.00428503 2017-12-19 12:31:53 (DEBUG):		 long: 0.00427223 2017-12-19 12:31:53 (DEBUG):		 macd: 0.00001280 2017-12-19 12:31:53 (DEBUG):		 signal: 0.00001400 2017-12-19 12:31:53 (DEBUG):		 macdiff: -0.00000121 2017-12-19 12:31:53 (DEBUG):	In no trend 2017-12-19 12:32:11 (DEBUG):	Requested NEO/BTC trade data from Binance ... 2017-12-19 12:32:13 (DEBUG):	Processing 25 new trades. From 2017-12-19 09:32:07 UTC to 2017-12-19 09:32:23 UTC. (a few seconds) 2017-12-19 12:32:31 (DEBUG):	Requested NEO/BTC trade data from Binance ... 2017-12-19 12:32:34 (DEBUG):	Processing 16 new trades. From 2017-12-19 09:32:26 UTC to 2017-12-19 09:32:37 UTC. (a few seconds)

It made a real trade when I changed strategy from MACD to RSI. Thanks for your efforts @cmroche

Got the same error as @jessrbird
` util.retryCustom(retryForever, _.bind(handler, this), _.bind(check, this));
^
ReferenceError: check is not defined
at Trader.cancelOrder (C:\Users\Burak.Erdem\Desktop\gekko\gekko\exchanges\binance.js:295:64)
at Trader.bound [as cancelOrder] (C:\Users\Burak.Erdem\Desktop\gekko\gekko\node_modules\lodash\dist\lodash.js:729:21)
at Manager.handleCheckResult (C:\Users\Burak.Erdem\Desktop\gekko\gekko\plugins\trader\portfolioManager.js:278:21)
at bound (C:\Users\Burak.Erdem\Desktop\gekko\gekko\node_modules\lodash\dist\lodash.js:729:21)
at Trader.check (C:\Users\Burak.Erdem\Desktop\gekko\gekko\exchanges\binance.js:269:5)
at bound (C:\Users\Burak.Erdem\Desktop\gekko\gekko\node_modules\lodash\dist\lodash.js:729:21)
at C:\Users\Burak.Erdem\Desktop\gekko\gekko\core\util.js:28:7
at C:\Users\Burak.Erdem\Desktop\gekko\gekko\exchanges\binance.js:66:12
at Request.request [as _callback] (C:\Users\Burak.Erdem\Desktop\gekko\gekko\node_modules\binance\lib\rest.js:75:21)
at Request.self.callback (C:\Users\Burak.Erdem\Desktop\gekko\gekko\node_modules\request\request.js:188:22)`

@cmroche @repentant After trying again, I see that it is placing a single trade before crashing. Same error as before. Using UO strategy.
/home/money/gekko/exchanges/binance.js:295
util.retryCustom(retryForever, _.bind(handler, this), _.bind(check, this));
^
ReferenceError: check is not defined
at Trader.cancelOrder (/home/money/gekko/exchanges/binance.js:295:64)
at Trader.bound [as cancelOrder] (/home/money/gekko/node_modules/lodash/dist/lodash.js:729:21)
at Manager.handleCheckResult (/home/money/gekko/plugins/trader/portfolioManager.js:278:21)
at bound (/home/money/gekko/node_modules/lodash/dist/lodash.js:729:21)
at Trader.check (/home/money/gekko/exchanges/binance.js:269:5)
at bound (/home/money/gekko/node_modules/lodash/dist/lodash.js:729:21)
at /home/money/gekko/core/util.js:28:7
at /home/money/gekko/exchanges/binance.js:66:12
at Request.request [as _callback] (/home/money/gekko/node_modules/binance/lib/rest.js:75:21)
at Request.self.callback (/home/money/gekko/node_modules/request/request.js:188:22)
RECEIVED ERROR IN GEKKO<PHONE_NUMBER>64454
Child process has died.

@jessrbird Have you ever been able to trade using MACD or DEMA?

@repentant Haven't even tried because I haven't found a MACD or DEMA strategy that works well. But my OU strategy looks promising. I admit I've only been trading cryptocurrency for 2 months, and just found the possibility of using trading bots last week. Are you up and running on MACD or DEMA without the process failing?

Looks like a copy and paste error, I'll check it out.

@repentant @jessrbird Copy and paste error confirmed. I pushed a fix now in the pull request.

@cmroche @repentant Trying now. Should know in 2-3 hours.

The good news is that all other functions have to work to get as far as this error.

Thanks as usual @cmroche . I'm trying it now too. Btw, can you tell me how I can add new pair to trade? I'd like to trade in XRP/BTC and currently it seems that it's not supporting.So I looked into binance.js and found assets and markets arrays in Trader.getCapabilities function. Should it be enough to make it work if I add there?

@repentant Yup, that should do it. I simply have not added all the pairs yet, it's a large number that always changes.

Ok it worked with NEO/BTC pair. No problem on buying, selling and cancelling order. However it doesn't work correctly. It buys on highest bid and sells on lowest whereas it should be the opposite

@cmroche Been up and running for 2 hours, and made multiple buys and sells. Losing money, though, and I feel like it's because the bot is not "flexible" enough when buying and selling. For example, if the mark price of BNB is $5.50 and the order book has some available at 5.52, 5.53, and so on, it won't buy those. It bides it's time and hopes that some become available at $5.50. Then cancels and re-orders at 5.51 and the price can slip even further from there. Is there any way to increase the success of buys and sells (allowing for slippage)? Looking at binance.js, two areas look interesting to me.
Line 223: "type: 'LIMIT', - Could this be changed to 'MARKET'?
Lines 318-477: is precision a variable that could be changed to help buy/sell success with fewer orders, at the cost of slippage?
Perhaps there are other options that can be changed.
Let me know what you think? Great work so far!!

@jessrbird Going with market purchases is probably the best way, but you have to be careful with slippage. The 0.05 modelled in backtesting is probably too conservative, I would increase to as much as 1% if you are going with taker orders. You can go ahead and change that property to 'MARKET' and it will do that.
According to the Binance API document price is a mandatory field, but I suspect this is an error. Their web interface does not require price when doing market orders. You should try removing this field as well if you try MARKET purchases. Please let me know if this works as I will tackle a more robust implementation for these types of changes in the future.
As a note, there isn't a robust way to configure this in Gekko yet, it always assumes maker orders, so you will have to modify the exchange file directly.

@cmroche Just to clarify:
0.1 is 1%?
0.05 is 1/2%?

@cmroche Also, can you help me with the string you sent:
price += (orderType === 'buy') ? (price * markup_pct) : -(price * markdown_pct);
I assume I put the values where the * are. 0.1 would be 1%? 0.5 would be 1/2%? Or is my decimal in the wrong place?
Also, where would that string go? I'm assuming in binance.js somewhere around line 226?

@jessrbird Divide by 100 to get the correct result. (So 1% is 0.01, 1/2% is 0.005)
line 226
price: price + (tradeType === 'buy') ? (price * markup_pct) : -(price * markdown_pct),

@cmroche I changed line 266 to:
price: price + (tradeType === 'buy') ? (price * 0.035) : -(price * 0.035),
I must have done it wrong, it seems to have caused it to crash on the first trade attempt.

Mine still don't go past ticker. I tried different pairs.
2017-12-20 09:40:29 (DEBUG):    [binance.js] entering "getTicker" callback after api call, err: fcuk  data: fcak
I replaced the "err" and "data" because it is getting a PNG image in "err" or something.
Any ideas?

Looks something like:
2017-12-20 10:01:10 (ERROR):    [binance.js] unable to get ticker "�PNG\r\n\u001a\n\u0000\u0000\u0000\rIHDR\u0000\u0000\u0003�\u0000\u0000\u0002�\b\u0002\u0000\u0000\u0000\u001f�kC\u0000\u0000\u0000\u0019tEXtSoftware\u0000Adobe ImageReadyq�e<\u0000\u0000\u0003�iTXtXML:com.adobe.xmp\u0000\u0000\u0000\u0000\u0000<?xpacket begin=\"\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?> <x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 5.6-c067 79.157747, 2015/03/30-23:40:42        \"> <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"> <rdf:Description rdf:about=\"\" xmlns:xmpMM=\"http://ns.adobe.com/xap/1.0/mm/\" xmlns:stRef=\"http://ns.adobe.com/xap/1.0/sType/ResourceRef#\" xmlns:xmp=\"http://ns.adobe.com/xap/1.0/\" xmpMM:OriginalDocumentID=\"xmp.did:9d5f4a63-cd62-e144-91b8-36a8a016e581\" xmpMM:DocumentID=\"xmp.did:881995665A2C11E7BACF926ABD7BD0C6\" xmpMM:InstanceID=\"xmp.iid:881995655A2C11E7BACF926ABD7BD0C6\" xmp:CreatorTool=\"Adobe Photoshop CC 2015 (Windows)\"> <xmpMM:DerivedFrom stRef:instanceID=\"xmp.iid:00cea75d-2b3c-f44e-9bd5-9002b6315b01\" stRef:documentID=\"adobe:docid:photoshop:8e1bfdf9-58bb-11e7-a450-b9eb10eeb625\"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end=\"r\"?>�Ho�\u0000\u0001^�ID

@tomzuu Get this pull req. #1508 and it will work

@repentant thanks!

@jessrbird Paste the error please?

I got the latest pull, now i am getting this when i try a live gekko on binance using rsi
RECEIVED ERROR IN GEKKO<PHONE_NUMBER>677366
Gekko encountered an error and can't continue
Gekko encountered an error and can't continue
Error:
[binance.js] undefined
Meta debug info:
Gekko version: v0.5.11
Nodejs version: v8.9.3

@wsholcomb87 you also need to grab the latest binance module
npm install<EMAIL_ADDRESS>

I did that, same error

@cmroche Yes, 226. Sorry for the typo. Here is the error:
2017-12-19 19:35:20 (DEBUG):	[binance.js] entering "setBalance" callback after api call, err: null, data: [object Object]
2017-12-19 19:35:20 (INFO):	Attempting to BUY<PHONE_NUMBER>21104 BNB at binance price: 4.95
2017-12-19 19:35:20 (DEBUG):	[binance.js] (addOrder) BUY 208.02 BNB @4.95 USDT
2017-12-19 19:35:21 (ERROR):	[binance.js] (addOrder) returned an irrecoverable error: undefined
2017-12-19 19:35:21 (DEBUG):	[binance.js] entering "setOrder" callback after api call, err: [binance.js] undefined data: {"code":-1111,"msg":"Precision is over the maximum defined for this asset."}
Increase precision?
    pair: ['USDT', 'BNB'],
    minimalOrder: { amount: 0.01, unit: 'asset' },
    precision: 0.01,

To .0001?

@jessrbird Oh shoot... right. The line I you changed is bypassing the rounding to set the right lot size. Undo line 226, and instead insert the follow at line 233:
price += (tradeType === 'buy') ? (price * markup_pct) : -(price * markdown_pct);
price = Math.max(this.roundAmount(price, market.precision), market.precision);

@cmroche I must have edited wrong. When adding the lines at 233 and after launching Gekko, binance disappears from my list of available exchanges. Here are lines 231-236.
util.retryCustom(retryCritical, _.bind(handler, this), _.bind(setOrder, this));
};
price += (tradeType === 'buy') ? (price * .035) : -(price * .035);
price = Math.max(this.roundAmount(price, market.precision), market.precision);
Trader.prototype.getOrder = function(order, callback) {
I'm assuming I made a syntax error?

@jessrbird it probably should be inside the addOrder function block like this
util.retryCustom(retryCritical, _.bind(handler, this), _.bind(setOrder, this));
price += (tradeType === 'buy') ? (price * .035) : -(price * .035);
price = Math.max(this.roundAmount(price, market.precision), market.precision);
};

@jessrbird @repentant Not sure if you guys would use it but I have added every Currency / Asset Pair (needs some cleaning up A-Z) hence why I haven't placed a pull request;
    name: 'Binance',
    slug: 'binance',
    currencies: ['BTC', 'BNB', 'ETH', 'USDT'],
    assets: [
      'ADA',
      'ADX',
      'AMB',
      'ARK',
      'ARN',
      'AST',
      'BAT',
      'BCC',
      'BCD',
      'BCPT',
      'BNB',
      'BNT',
      'BQX',
      'BTG',
      'BTS',
      'CDT',
      'CMT',
      'CND',
      'CTR',
      'DASH',
      'DGD',
      'DLT',
      'DNT',
      'ELF',
      'ENG',
      'ENJ',
      'EOS',
      'ETC',
      'ETH',
      'EVX',
      'FUEL',
      'FUN',
      'GAS',
      'GTO',
      'GVT',
      'GXS',
      'HSR',
      'ICN',
      'ICX',
      'IOTA',
      'KMD',
      'KNC',
      'LEND',
      'LINK',
      'LRC',
      'LSK',
      'LTC',
      'MANA',
      'MCO',
      'MDA',
      'MOD',
      'MTH',
      'MTL',
      'NEO',
      'NULS',
      'OAX',
      'OMG',
      'OST',
      'POE',
      'POWR',
      'PPT',
      'QSP',
      'QTUM',
      'RCN',
      'RDN',
      'REQ',
      'SALT',
      'SNGLS',
      'SNM',
      'SNT',
      'STORJ',
      'STRAT',
      'SUB',
      'TNB',
      'TNT',
      'TRX',
      'VEN',
      'VIB',
      'WABI',
      'WAVES',
      'WTC',
      'XLM',
      'XMR',
      'XRP',
      'XVG',
      'XZC',
      'YOYO',
      'ZEC',
      'ZRX',
    ],
    markets: [
      // https://www.binance.com/exchange/public/product

      //Tradeable againt BTC
      {
        pair: ['BTC', 'ETH'],
        minimalOrder: { amount: 0.001, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['BTC', 'LTC'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['BTC', 'BNB'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'NEO'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['BTC', 'GAS'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['BTC', 'BCC'],
        minimalOrder: { amount: 0.001, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['BTC', 'MCO'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['BTC', 'WTC'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'QTUM'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['BTC', 'OMG'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['BTC', 'ZRX'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'STRAT'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['BTC', 'SNGLS'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'BQX'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'KNC'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'FUN'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'SNM'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'LINK'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'XVG'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'CTR'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'SALT'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['BTC', 'IOTA'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'MDA'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'MTL'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['BTC', 'SUB'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'EOS'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'SNT'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'ETC'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['BTC', 'MTH'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'ENG'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'DNT'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'BNT'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'AST'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'DASH'],
        minimalOrder: { amount: 0.001, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['BTC', 'ICN'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'OAX'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'BTG'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['BTC', 'EVX'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'REQ'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'LRC'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'VIB'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'HSR'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['BTC', 'TRX'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'POWR'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'ARK'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.0000001,
      },
      {
        pair: ['BTC', 'YOYO'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'XRP'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'MOD'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.0000001,
      },
      {
        pair: ['BTC', 'ENJ'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'STORJ'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'VEN'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'KMD'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.0000001,
      },
      {
        pair: ['BTC', 'RCN'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'NULS'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'RDN'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'XMR'],
        minimalOrder: { amount: 0.001, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['BTC', 'DLT'],
        minimalOrder: { amount: 0.001, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'AMB'],
        minimalOrder: { amount: 0.001, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'BAT'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'ZEC'],
        minimalOrder: { amount: 0.001, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['BTC', 'BCPT'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'ARN'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'GVT'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.0000001,
      },
      {
        pair: ['BTC', 'CDT'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'GXS'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.0000001,
      },
      {
        pair: ['BTC', 'POE'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'QSP'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'BTS'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'XZC'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['BTC', 'LSK'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.0000001,
      },
      {
        pair: ['BTC', 'TNT'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'FUEL'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'MANA'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'BCD'],
        minimalOrder: { amount: 0.001, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['BTC', 'DGD'],
        minimalOrder: { amount: 0.001, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['BTC', 'ADX'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'ADA'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'PPT'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.0000001,
      },
      {
        pair: ['BTC', 'CMT'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'XLM'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'CND'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'LEND'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'WABI'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'TNB'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'WAVES'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['BTC', 'ICX'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.0000001,
      },
      {
        pair: ['BTC', 'GTO'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'OST'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BTC', 'ELF'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'BNB'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'QTUM'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['ETH', 'SNT'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'BNT'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['ETH', 'EOS'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['ETH', 'OAX'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.0000001,
      },
      {
        pair: ['ETH', 'DNT'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'MCO'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['ETH', 'ICN'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.0000001,
      },
      {
        pair: ['ETH', 'WTC'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['ETH', 'OMG'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['ETH', 'ZRX'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'STRAT'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['ETH', 'SNGLS'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'BQX'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.0000001,
      },
      {
        pair: ['ETH', 'KNC'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.0000001,
      },
      {
        pair: ['ETH', 'FUN'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'SNM'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'NEO'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'LINK'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'XVG'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'CTR'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.0000001,
      },
      {
        pair: ['ETH', 'SALT'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['ETH', 'IOTA'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'MDA'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.0000001,
      },
      {
        pair: ['ETH', 'MTL'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['ETH', 'SUB'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'ETC'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['ETH', 'MTH'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'ENG'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.0000001,
      },
      {
        pair: ['ETH', 'AST'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.0000001,
      },
      {
        pair: ['ETH', 'DASH'],
        minimalOrder: { amount: 0.001, unit: 'asset' },
        precision: 0.00001,
      },
      {
        pair: ['ETH', 'BTG'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['ETH', 'EVX'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.0000001,
      },
      {
        pair: ['ETH', 'REQ'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'LRC'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'VIB'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'HSR'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['ETH', 'TRX'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'POWR'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'ARK'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['ETH', 'YOYO'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'XRP'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'MOD'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['ETH', 'ENJ'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'STORJ'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.0000001,
      },
      {
        pair: ['ETH', 'VEN'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'KMD'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['ETH', 'RCN'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'NULS'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'RDN'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.0000001,
      },
      {
        pair: ['ETH', 'XMR'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00001,
      },
      {
        pair: ['ETH', 'DLT'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'AMB'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'BCC'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00001,
      },
      {
        pair: ['ETH', 'BAT'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'ZEC'],
        minimalOrder: { amount: 0.001, unit: 'asset' },
        precision: 0.00001,
      },
      {
        pair: ['ETH', 'BCPT'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'ARN'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'GVT'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['ETH', 'CDT'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'GXS'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['ETH', 'POE'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'QSP'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'BTS'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'XZC'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['ETH', 'LSK'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['ETH', 'TNT'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'FUEL'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'MANA'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'BCD'],
        minimalOrder: { amount: 0.001, unit: 'asset' },
        precision: 0.00001,
      },
      {
        pair: ['ETH', 'DGD'],
        minimalOrder: { amount: 0.001, unit: 'asset' },
        precision: 0.00001,
      },
      {
        pair: ['ETH', 'ADX'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.0000001,
      },
      {
        pair: ['ETH', 'ADA'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'PPT'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['ETH', 'CMT'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'XLM'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'CND'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'LEND'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'WABI'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'LTC'],
        minimalOrder: { amount: 0.001, unit: 'asset' },
        precision: 0.00001,
      },
      {
        pair: ['ETH', 'TNB'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'WAVES'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['ETH', 'ICX'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.000001,
      },
      {
        pair: ['ETH', 'GTO'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'OST'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['ETH', 'ELF'],
        minimalOrder: { amount: 1, unit: 'asset' },
        precision: 0.00000001,
      },
      {
        pair: ['BNB', 'VEN'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.0001,
      },
      {
        pair: ['BNB', 'YOYO'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.00001,
      },
      {
        pair: ['BNB', 'POWR'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.0001,
      },
      {
        pair: ['BNB', 'NULS'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.00001,
      },
      {
        pair: ['BNB', 'RCN'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.00001,
      },
      {
        pair: ['BNB', 'RDN'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.00001,
      },
      {
        pair: ['BNB', 'DLT'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.00001,
      },
      {
        pair: ['BNB', 'WTC'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.00001,
      },
      {
        pair: ['BNB', 'AMB'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.00001,
      },
      {
        pair: ['BNB', 'BCC'],
        minimalOrder: { amount: 0.00001, unit: 'asset' },
        precision: 0.01,
      },
      {
        pair: ['BNB', 'BAT'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.00001,
      },
      {
        pair: ['BNB', 'BCPT'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.00001,
      },
      {
        pair: ['BNB', 'NEO'],
        minimalOrder: { amount: 0.001, unit: 'asset' },
        precision: 0.001,
      },
      {
        pair: ['BNB', 'QSP'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.00001,
      },
      {
        pair: ['BNB', 'BTS'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.00001,
      },
      {
        pair: ['BNB', 'XZC'],
        minimalOrder: { amount: 0.001, unit: 'asset' },
        precision: 0.001,
      },
      {
        pair: ['BNB', 'LSK'],
        minimalOrder: { amount: 0.001, unit: 'asset' },
        precision: 0.0001,
      },
      {
        pair: ['BNB', 'IOTA'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.00001,
      },
      {
        pair: ['BNB', 'ADX'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.00001,
      },
      {
        pair: ['BNB', 'CMT'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.00001,
      },
      {
        pair: ['BNB', 'XLM'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.00001,
      },
      {
        pair: ['BNB', 'CND'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.00001,
      },
      {
        pair: ['BNB', 'WABI'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.00001,
      },
      {
        pair: ['BNB', 'LTC'],
        minimalOrder: { amount: 0.00001, unit: 'asset' },
        precision: 0.01,
      },
      {
        pair: ['BNB', 'WAVES'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.0001,
      },
      {
        pair: ['BNB', 'ICX'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.00001,
      },
      {
        pair: ['BNB', 'GTO'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.00001,
      },
      {
        pair: ['BNB', 'OST'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.00001,
      },
      {
        pair: ['USDT', 'BTC'],
        minimalOrder: { amount: 0.000001, unit: 'asset' },
        precision: 0.01,
      },
      {
        pair: ['USDT', 'ETH'],
        minimalOrder: { amount: 0.00001, unit: 'asset' },
        precision: 0.01,
      },
      {
        pair: ['USDT', 'BNB'],
        minimalOrder: { amount: 0.01, unit: 'asset' },
        precision: 0.0001,
      },
      {
        pair: ['USDT', 'BCC'],
        minimalOrder: { amount: 0.00001, unit: 'asset' },
        precision: 0.01,
      },
      {
        pair: ['USDT', 'NEO'],
        minimalOrder: { amount: 0.001, unit: 'asset' },
        precision: 0.001,
      },
      {
        pair: ['USDT', 'LTC'],
        minimalOrder: { amount: 0.00001, unit: 'asset' },
        precision: 0.01,
      },

@ms121 This removed a huge burden from me. Thanks a lot! Btw, how did you set the precision values. I'm still struggling to understand what the precision values are and whether they affect the backtest results.

@repentant
I have also been playing around with precision I have been using this https://support.binance.com/hc/en-us/articles/115000594711-Trading-Rule
to get it
I have also been playing around with the rounding. I am about to try the following not sure if it will improve or change anything just playing around atm: (has made two successful trades so far so seems to be working)
  var P =  this.getPrecision(market.precision);
  amount = Math.floor(amount / market.minimalOrder.amount) * market.minimalOrder.amount;
  price = parseFloat(price).toFixed(P);

@ms121 Thanks, I added the rest of the market data to the current PR.

@cmroche awesome!

@repentant Thanks for the suggestion. That fixed it.
@ms121 Thanks for all the pairs, it's nice to have all the bases covered.

@cmroche 15 trades in no errors so far! Looking good. (Although there are no buy/sell dots being placed on the UI market Graph with the newest develop branch).

@ms121 are you using a single strategy or a combination multiple strategies? I'd like to have an effective method for short term trading. So far, I tried every preset strat with different thresholds and  although some of them looked promising in backtests (even up to %40 profit) , they didn't go well on live trading. How did you manage your strategy?

for your info:
The minimal Order amount for OST to BNB is 1 and not 0.01
Please be aware to change near line 1415 from:
{
 pair: ['BNB', 'OST'],
 minimalOrder: { amount: 0.01, unit: 'asset' },
 precision: 0.00001,
},

to
{
 pair: ['BNB', 'OST'],
 minimalOrder: { amount: 1, unit: 'asset' },
 precision: 0.00001,
},

The values for OST to BTC and OST to ETH are correct.

if not changed gekko will return something like this in tradebot.log:
2017-12-29 16:46:17 (INFO):	Attempting to SELL 0.81 OST at binance price: 0.03213
2017-12-29 16:46:17 (DEBUG):	[binance.js] (addOrder) SELL 0.81 OST @0.03213 BNB
2017-12-29 16:46:18 (ERROR):	[binance.js] (addOrder) returned an irrecoverable error: undefined
2017-12-29 16:46:18 (DEBUG):	[binance.js] entering "setOrder" callback after api call, err: [binance.js] undefined data: {"code":-1013,"msg":"Filter failure: MIN_NOTIONAL"}

Maybe it would be helpfull if you could chatch this error in some way to prevent ekko from failing.
btw: Good work.. :)

@mboremski PR #1550 will generate the market data from the results of querying the Binance API, which will remove this type of human error in the future.

Could you give me a hint (or a link) where I can download the ZIP for this PR?
I am not very used to GIT.
TY

@cmroche  Regarding your post  https://github.com/askmike/gekko/issues/1481#issuecomment-353153842
I tested your method. It improves our situation a bit but a more advanced solution would be useful. I do not know JS and the Gekko scheme, but I have an idea, example when I buy:
-first retry price = price * 0.003
-second retry price = price from first retry * .003
-third retry price = price from second retry * .003
etc etc.
This would make it cheaper to arrive at a price that will be filled in a short space of time, at the same time being the lowest possible price.
Price on market type order at Binance is too different than last price. Not worth to try it ourself.


river: unstable 2021-04-08 -> unstable 2021-04-27

Motivation for this change
Update with bigger changes
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 121200 at d8b05643 run on x86_64-linux 1

1 package built successfully:

river

1 suggestion:

warning: missing-phase-hooks
installPhase should probably contain runHook preInstall and runHook postInstall.
Near pkgs/applications/window-managers/river/default.nix:26:3:
   |
26 |   installPhase = ''
   |   ^


Add CLabels::get_subset_stack()

Was available in Features, not in Labels. As far as I can tell it's the only interface to figure out if subsets are currently applied.

Fixed doxygen comment, leaving the function signature as it is as discussed in chat


Image not loading from server?

NSString *mainBannerimage = [[responseArray objectAtIndex:indexPath.row]objectForKey:@"mainbanner"];
                    NSString *bannerImageURL  = [NSString stringWithFormat:@"demo.world.com/contest/banners/%@", mainBannerimage];
                    NSURL *imageURL = [NSURL URLWithString:bannerImageURL];
                    [cell.listBanner sd_setImageWithURL:imageURL
                                       placeholderImage:[UIImage imageNamed:@"profilepic_bg"]];

in this above code upto now i am getting the object into imageURL. after assigning to cell it is not loading. what is the problem in my code?
i checked with debugging when i am printing my [cell.listBanner ]setImageWithURL:imageURL
placeholderImage:[UIImage imageNamed:@"profilepic_bg"]];
it is displaying like this in console "po [cell.listBanner sd_setImageWithURL:imageURL placeholderImage:[UIImage imageNamed:@"profile_bg"]];
error: Execution was interrupted, reason: EXC_BAD_ACCESS (code=EXC_I386_GPFLT).
The process has been returned to the state before expression evaluation."

It might be related to https://github.com/rs/SDWebImage/issues/1123

check the console for the value of this imageURL instead of what you did. Are you loading a correct url? does this occur in all your images? please use the demo project and debug your urls there. report back if there is an issue

@mythodeia . you are correct!


Toolbar Options doesn't rerender after MUI version 2.0.0

Back in version 2.0.0, I was able to pass through a prop and have it rerender an element in the toolbar for example I have a refresh button with a spinner that shows it's refreshing when you click it. If you change the version here to anything later than 2.0.0, the functionality breaks.
I feel kind of awkward that this issue is so short, but all the required info can be found in the codesandbox.
Basically, I had a button that would conditionally display a spinner inside of the toolbar and now the toolbar doesn't re-render the button when updating the prop.

Be careful with using unsupported functionality. You're using the latest and greatest hooks from react, but this library is built on an earlier version of react. If I reconstruct the example using classes, it works for me: https://codesandbox.io/embed/mui-datatable-issue-qj9us.

 I wonder what the underlying reason is for this issue though that causes it to work fine on an older version

@iKrushYou Older versions were forcibly updating derived state from props using deprecated methods. Doing so had to be removed in order to open up an upgrade path, but were also causing other subtle bugs.


sad_32x32 and 64x64 AVX2 has poor cache locality

This at least applies to the HBD ASM, I have not tested against LBD. Benchmarking is showing a large number of cache read misses. Noting this as a possible area for performance improvement.

Could you please add how you determined that so willing people can repeat the exercise? :)

Yes, this was measured using valgrind, specifically in this case valgrind --tool=callgrind --dump-instr=yes --collect-jumps=yes --simulate-cache=yes target/release/rav1e -s 2 --no-scene-detection -i 0 -I 0 ~/xiph-media-files/objective-1-fast-10bit/speed_bag_640x360_60f.y4m -o /dev/null --limit 20. valgrind measures cache misses as one of its metrics and this can be viewed in kcachegrind.

This might not be the SAD itself really but rather the nature of e.g. motion compensation. Is this specific to AVX2?


Add details what to do if sourceURLForBridge return nil

Add more comments to sourceURLForBridge method
Move source URL assert on right place in RCTJSExecutor

Thanks for submitting a PR! Please read these instructions carefully:

[x] Explain the motivation for making this change.
[x] Provide a test plan demonstrating that the code is solid.
[ ] Match the code formatting of the rest of the codebase.
[ ] Target the master branch, NOT a "stable" branch.

Motivation (required)
RCTBridgeDelegate support 2 ways of JS downloading. First you can return URL (remote or file URL) with - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge method or download it manually with  - (void)loadSourceForBridge:(RCTBridge *)bridge onProgress:(RCTSourceLoadProgressBlock)onProgress onComplete:(RCTSourceLoadBlock)loadCallback;.
But if you return nil in sourceURLForBridge and download JS manually RCTJSExecutor will raise assert in - (void)executeApplicationScript:(NSData *)script sourceURL:(NSURL *)sourceURL onComplete:(RCTJavaScriptCompleteBlock)onComplete
With this PR  I moved asserts to place where we really need it and updated comments for sourceURLForBridge method
Test Plan (required)
This can be tested with RCTBridgeDelegate that returns nil on sourceURLForBridge and download JS code with  - (void)loadSourceForBridge:(RCTBridge *)bridge onProgress:(RCTSourceLoadProgressBlock)onProgress onComplete:(RCTSourceLoadBlock)loadCallback;

That's not the right place for the assert, it will only fire now in the case of facebook::react::ScriptTag::RAMBundle:

Yes, this method use sourceURL only for facebook::react::ScriptTag::RAMBundle

sourceURL is also required for executeApplicationScript as otherwise you won't be able to symbolicate your JS.

Indeed, I see. Ok, I will check in more detail

Feel free to open a new PR if you have other changes you want to make here.


What is the name of the font used in excalidraw?

First of all, Thank you for creating this wonderful project and open sourcing it. I use this for most of my designs and models. I just want to change my default font in my laptop to the font used in excalidraw? Can someone please tell me the name of this font and how can i use it in linux?
Thank you

Thanks! It's Virgil (made by Ellinor Rapp), and it's hosted at https://github.com/excalidraw/virgil 🍉


2.5.0 Checklist

To be completed before we create the 2.5.0 release:

[x] https://github.com/pydantic/pydantic/pull/8027
[x] https://github.com/pydantic/pydantic/pull/8025
[x] https://github.com/pydantic/pydantic/pull/8013
[x] https://github.com/pydantic/pydantic/pull/7998 (@sydney-runkle, add docs)
[x] https://github.com/pydantic/pydantic/pull/8001 (@sydney-runkle, add docs)
[x] https://github.com/pydantic/pydantic/pull/8029
[ ] Maybe https://github.com/pydantic/pydantic/pull/7992

So is 2.5 still going to support Python 3.7?

So is 2.5 still going to support Python 3.7?

2.5 will support Python 3.7. There is a PR for dropping Python 3.7 support but it won't be included in 2.5.

Right. We will drop 3.7 support for v2.6, most likely

Release of 2.5 is delayed while we fix #8049.

Closing this as all has been completed. Hoping to complete the beta release tomorrow 🤞


Ruby 1.9.1 and 1.9.2-preview3 issues using rvm

Works fine with 1.8.7 using rvm. Both 1.9.1 and 1.9.2 raise the following error.
~/.rvm/gems/ruby-1.9.1-p378/gems/textmate-0.9.6/bin/textmate:22:in block in search': undefined method map' for #String:0x00000100cf6638 (NoMethodError)

The same problem with ruby-1.9.3-p125.
/Users/robinho/.rvm/gems/ruby-1.9.3-p125/gems/textmate-0.9.6/bin/textmate:22:in block in search': undefined method map' for #String:0x007f853a12b378 (NoMethodError)
from /Users/robinho/.rvm/gems/ruby-1.9.3-p125/gems/textmate-0.9.6/bin/textmate:17:in each' 	from /Users/robinho/.rvm/gems/ruby-1.9.3-p125/gems/textmate-0.9.6/bin/textmate:17:in search'
from /Users/robinho/.rvm/gems/ruby-1.9.3-p125/gems/thor-0.14.6/lib/thor/task.rb:22:in run' 	from /Users/robinho/.rvm/gems/ruby-1.9.3-p125/gems/thor-0.14.6/lib/thor/invocation.rb:118:in invoke_task'
from /Users/robinho/.rvm/gems/ruby-1.9.3-p125/gems/thor-0.14.6/lib/thor.rb:263:in dispatch' 	from /Users/robinho/.rvm/gems/ruby-1.9.3-p125/gems/thor-0.14.6/lib/thor/base.rb:389:in start'
from /Users/robinho/.rvm/gems/ruby-1.9.3-p125/gems/textmate-0.9.6/bin/textmate:264:in <top (required)>' 	from /Users/robinho/.rvm/gems/ruby-1.9.3-p125/bin/textmate:19:in load'
from /Users/robinho/.rvm/gems/ruby-1.9.3-p125/bin/textmate:19:in `'


Trident issue: failed to unstage volume

Describe the bug
A clear and concise description of what the bug is.
Environment
Provide accurate information about the environment to help us reproduce the issue.

Trident version:
REVISION        UPDATED                         STATUS          CHART                           APP VERSION     DESCRIPTION
20              Fri Mar 15 08:50:14 2024        superseded      trident-operator-100.2402.0     24.02.0         Upgrade complete
21              Fri Mar 15 08:50:16 2024        deployed        trident-operator-100.2402.0     24.02.0         Upgrade complete
Trident installation flags used:
Trident is installed with helm via fleet
Container runtime: [e.g. Docker 19.03.1-CE]
flatcar 3602.2.3
Kubernetes version: [e.g. 1.15.1]
1.27
Kubernetes orchestrator: [e.g. OpenShift v3.11, Rancher v2.3.3]
Rancher v2.8.2
Kubernetes enabled feature gates: [e.g. CSINodeInfo]
???
OS: [e.g. RHEL 7.6, Ubuntu 16.04]
flatcar 3602.2.3
NetApp backend types: [e.g. CVS for AWS, ONTAP AFF 9.5, HCI 1.7]
NetApp Version 9.10.1P7
Other:

To Reproduce
Steps to reproduce the behavior:
We receive the errors in the trident pods. See the attachment:
trident-pods-logs-cicd-az2.txt
Expected behavior
A clear and concise description of what you expected to happen.
We expect the pods to be clean from errors.
Additional context
Add any other context about the problem here.

@machrrab
Can you please elaborate more on the actual problem along with debug logs that would help us isolate the issue.

steps to reproduce.
upgrade path that is carried out.
Looked at the logs posted here (debug is not enabled and hence missing more information on the issue).

Hi Ravi,
With the command I get all logs with trident-main container:
k -n trident-csi get pods| grep -v NAME|awk '{print $1}'|xargs -I {} kubectl -n trident-csi logs {} trident-main > trident-pods-log-cicd-all.txt
So, if there is another way to get debug logs please let know.
trident-pods-log-cicd-az2-all.txt

Hi @machrrab ,
You may please refer https://docs.netapp.com/us-en/trident/troubleshooting.html#general-troubleshooting to enable debug. And then collect the logs, which would help us more to understand the issue.

@machrrab Any updates?


fix: Support for PCRetriableException in ReactorProcessor (#733)

Support for PCRetriableException in ReactorProcessor.
Error handling moved to subscribe param to avoid onErrorDropped.

Checklist

[ ] Documentation (if applicable)
[x] Changelog

@brp-jakob - could you please regenerate the Readme - either by using maven goal "README" or running mvn asciidoc-template:build? That will re-generate the readme incorporating the updated Changelog from this PR.
Ignore any errors running it - the asciidoc plugin works recursively on all sub-modules but only top level project actually has readme and the template so it logs errors not finding template on sub-modules but that is a false error.


p2sh-convert with NBitcoin?

Hi all, sorry not an "issue" but a question:
Can I use NBitcoin to convert from legacy LTC "3" addresses to "M" addresses?
i.e. https://litecoin-project.github.io/p2sh-convert/#
e.g. 3HCM6iZErFJmeh5jUUMGJVCpFqaoMHhkmu -> MPQVQbyCoNACTCMdaMLc88TDaYBFGfSGYy
I guess probably yes, but my knowledge is not advanced enough.   The JS for this using bitcoin.js is as follows.
address = document.getElementById('address').value;
decoded = bitcoin.address.fromBase58Check(address);
version = decoded['version']
switch (version) {
	case 5:
		message = "Mainnet p2sh address: ";
		version = 50;
		break;
	case 50:
		message = "Mainnet p2sh address (deprecated): ";
		version = 5;
		break;
	case 196:
		message = "Testnet p2sh address: ";
		version = 58;
		break;
	case 58:
		message = "Testnet p2sh address (deprecated): ";
		version = 196;
		break;
	default:
		throw "unknown";
}
// 5 <-> 50
// 196 <-> 58
address = bitcoin.address.toBase58Check(decoded['hash'], version);

var newAddress= BitcoinAddress.Create(oldAddress, Network.Main).ToNetwork(NBitcoin.Altcoins.Litecoin.Instance.Mainnet)

Thanks Nicolas :)

@NicolasDorier - sorry Nicolas, I should have thought to ask in the OP: but how to do the inverse, M addr --> 3 addr?

var oldAddress= BitcoinAddress.Create(newAddress, NBitcoin.Altcoins.Litecoin.Instance.Mainnet)
                              .ToNetwork(Network.Main)


Error after update rails from 4.1 to 4.2

This line raise error
devise_for :users, controllers: { omniauth_callbacks: 'omniauth_callbacks' }

Error:
Uncaught exception: undefined method merge!' for #<ActionDispatch::Routing::Mapper::Scope:0x00000008288c48> 	/home/deim/.rvm/gems/ruby-2.1.3/gems/devise-3.2.4/lib/devise/rails/routes.rb:455:in ensure in with_devise_exclusive_scope'
/home/deim/.rvm/gems/ruby-2.1.3/gems/devise-3.2.4/lib/devise/rails/routes.rb:455:in with_devise_exclusive_scope' 	/home/deim/.rvm/gems/ruby-2.1.3/gems/devise-3.2.4/lib/devise/rails/routes.rb:246:in block (2 levels) in devise_for'
/home/deim/.rvm/gems/ruby-2.1.3/gems/devise-3.2.4/lib/devise/rails/routes.rb:349:in block in devise_scope' 	/home/deim/.rvm/gems/ruby-2.1.3/gems/actionpack-4.2.0/lib/action_dispatch/routing/mapper.rb:940:in block in constraints'
/home/deim/.rvm/gems/ruby-2.1.3/gems/actionpack-4.2.0/lib/action_dispatch/routing/mapper.rb:816:in scope' 	/home/deim/.rvm/gems/ruby-2.1.3/gems/actionpack-4.2.0/lib/action_dispatch/routing/mapper.rb:940:in constraints'
/home/deim/.rvm/gems/ruby-2.1.3/gems/devise-3.2.4/lib/devise/rails/routes.rb:348:in devise_scope' 	/home/deim/.rvm/gems/ruby-2.1.3/gems/devise-3.2.4/lib/devise/rails/routes.rb:245:in block in devise_for'
/home/deim/.rvm/gems/ruby-2.1.3/gems/devise-3.2.4/lib/devise/rails/routes.rb:220:in each' 	/home/deim/.rvm/gems/ruby-2.1.3/gems/devise-3.2.4/lib/devise/rails/routes.rb:220:in devise_for'
/data/workspace/rails/onthehook/config/routes.rb:106:in `block in <top (required)>'

Make sure you update to Devise 3.4.0+, which adds support to Rails 4.2. Thanks.


fix(alerts): check for null description before performing find and re…

 Issue by landonreed
Tuesday Sep 12, 2017 at 18:15 GMT
Originally opened as https://github.com/catalogueglobal/datatools-ui/pull/22

When first mapping alerts received from the MTC database to the UI data format, a find and replace operation is performed on the alert description field to replace extra new line chars.  This was failing for an alert that had a null description.  It's still unclear where this alert came from or why the field was null (generated by some other external process?).

landonreed included the following code: https://github.com/catalogueglobal/datatools-ui/pull/22/commits

 Comment by codecov-io
Tuesday Sep 12, 2017 at 18:20 GMT

Codecov Report

Merging #22 into dev will decrease coverage by <.01%.
The diff coverage is 0%.

@@           Coverage Diff            @@
##             dev     #22      +/-   ##
========================================
- Coverage   0.03%   0.03%   -0.01%
========================================
  Files        312     312
  Lines      10315   10316       +1
  Branches    3412    3413       +1
========================================
  Hits           4       4
- Misses     10311   10312       +1

Impacted Files
Coverage Δ

lib/alerts/reducers/alerts.js
0% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1ea965b...1431c61. Read the comment docs.

:tada: This issue has been resolved in version 4.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[WIP] Add deserialization logic for handling errors with an UnknownValue type

Motivation

Test plan

See included automated tests.

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR.  When the build
finishes, I'll share with you whether or how it failed. Thanks!
Stripe employees can see the build results here:
→ https://go/builds/bui_N1asxmyB0iDEV9
→ https://go/builds/bui_N1as3M1VhKHCx6

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR.  When the build
finishes, I'll share with you whether or how it failed. Thanks!
Stripe employees can see the build results here:
→ https://go/builds/bui_N1jsUvId3qo86Y
→ https://go/builds/bui_N1js4ROnNCTTmj

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR.  When the build
finishes, I'll share with you whether or how it failed. Thanks!
Stripe employees can see the build results here:
→ https://go/builds/bui_N1kWWKZkTTGhsZ
→ https://go/builds/bui_N1kWtrkxjkaQIT

I also added some additional cases in Stripe's pay-server to show behavior with downstreams:
https://go/builds/bui_N1lISaYZxRkUmK


Panic occurs for using Unix sockets

Description
When trying unix socket for the remote-control interface, the exporter has no way to be configured to input the unix socket address without a panic.  Looks the the use of Parse() from net/url fails to recognize the scheme for a target of unix:///var/run/unbound/control.sock.
Unbound Configuration
server:
    ...
remote-control:
    control-enable: yes
    control-use-cert: no
    control-interface: "/var/run/unbound/control.sock"

Command
unbound-exporter -unbound.host unix:///var/run/unbound/control.sock
Error
level=info ts=2023-10-30T21:31:55.062Z caller=unbound_exporter.go:509 Startingunbound_exporter=(MISSING)
panic: open /etc/unbound/unbound_server.pem: no such file or directory

goroutine 1 [running]:
main.main()

@lamchakchan You need to disable the default TLS options - otherwise it tries to find those and then tries to securely connect to the socket: https://github.com/letsencrypt/unbound_exporter/blob/main/unbound_exporter.go#L398

Does this mean I need to call unbound-exporter like this?
unbound-exporter -unbound.host unix:///var/run/unbound/control.sock -unbound.ca="" -unbound.key="" -unbound.cert=""

Shouldn't this bypass the loading of the certs?
I'm confused on why u.Scheme == "unix" condition isn't triggering.  Do I need to pass a different socket path format to -unbound.host


[TASK]: Design the Model Renderer

Describe the task

Update the UI of the TA2 playground from a bootstrap idea to a proper designed component following TERArium styles

Cleanup for the demo has been complete for a couple of days now. Closing.


Any suggestions for vertically aligned buttons and text in tables?

Hi,
Right now If I use buttons inside table rows it doesn't align with the content:

What I do is adding .p1 to all td except the one with the button. That does it but feels hacky and non-tidy:

Wrapping everything in .btn is an option but I would like to hear other suggestions.
Thanks.

Have you tried using .align-middle on the left two tds? Here is a demo: http://d2v52k3cl9vedd.cloudfront.net/basscss/7.0.3/basscss.min.css

I will, thanks. What would you recommend for content that spans more that one line as it often the case?

You have your choice of alignments. I tend to use align-baseline when dealing with multiple lines.


Emoji Theming

https://laptrinhx.com/flutter-working-with-emojis-853517781/

Implemented the initial commit for it. It's working as expected. I assume there will be more places to apply the emoji theming. Maybe we can make it easier by somehow incorporating it into the theme.


UHF-8390 D10 deprecation

Updated deprecated drupal_get_path -function call
Entity query access check.
How to test:
composer require drupal/helfi_tpr:dev-UHF-8390
composer require drupal/upgrade_status and drush en -y upgrade_status
run drush upgrade_status:analyze helfi_azure_fs
You should only see deprecation errors from prophecy / prophesize method.
Run the update hooks which changed.

Codecov Report

Merging #146 (b13b0e8) into main (56f629c) will increase coverage by 6.87%.
The diff coverage is 0.00%.

:exclamation: Current head b13b0e8 differs from pull request most recent head 17df07c. Consider uploading reports for the commit 17df07c to get more accurate results

@@             Coverage Diff              @@
##               main     #146      +/-   ##
============================================
+ Coverage     73.77%   80.65%   +6.87%
  Complexity      343      343
============================================
  Files            46       46
  Lines          2635     2636       +1
============================================
+ Hits           1944     2126     +182
+ Misses          691      510     -181

Impacted Files
Coverage Δ

src/Entity/Listing/ListBuilder.php
0.00% <0.00%> (ø)

... and 11 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Portal still appears active and weird behaviors after user login has expired

When you leave an open Functions portal too long, Azure times-out your login. However, this is never reflected in the UI where updates you make seem to succeed and it appears to still be running.
When the user is logged out and actions are failing as a result, the Functions portal needs to let the user know about it.

Yes, I've noticed that as well.

I added logic in Ibiza a while to which checks for a new token ever 30 seconds.  If it's new, then it would pass the token into the iframe.
@ahmelsayed Is it possible that we're caching requests with the old token so that it gives it the appearance of succeeding even though nothing is actually happening?

I just hit this, and didn't have the portal open for that long (like an hour or two). Here was the pop up message:
The access token expiry UTC time '8/31/2016 5:46:08 PM' is earlier than current UTC time '8/31/2016 5:46:18 PM'.
Session Id: b900a4f4314b41bfb8d3bd6c7bd282ac
Timestamp: 2016-08-31T17:46:18.435Z

Seeing this pretty frequently as well.

fixed in c2d6b7bb963850a3c324cd74fc70f10adecf6ee1


Issue #1685: Use TS_MILESTONE_UA_BEGIN for cqt* log fields

Add functions to marshal milestone in some formats (unix timestamp, squid, netscape, date, and time)
Use TS_MILESTONE_UA_BEGIN for cqtd, cqtn, cqtq, cqts, cqth, and cqtt
Add description of cqth in docs

Fix #1685

[approve ci]

Although this is obviously a bug fix, I think we should probably label this incompatible because aggregating logs with and without this fix will make inconsistent records.

Been in japan the past few weeks. Hopefully I get some downtime to look at this in a couple days.

I'm cherry-picking this into 7.1.1.


seekbar authorization om build

hello,
any idea for this problem whene i try to build project ?
i receive this message since yesterday :

Could not HEAD ‘https://jitpack.io/com/github/warkiz/widget/indicatorseekbar/2.1.2/indicatorseekbar-2.1.2.pom'. Received status code 401 from server: Unauthorized

thank you

I stuck at this, who else can fix this :'(

nothing to do,  we have to use another one and leave this defective widget...

I stuck at this, who else can fix this :'(

You can use it nifty-slider

you can use repo sources on jitpack.io:
implementation 'com.github.warkiz:IndicatorSeekBar:v2.1.1'
instead of
implementation 'com.github.warkiz.widget:indicatorseekbar:2.1.2'


Use real theme file for builtin  theme

The default OPL theme was hardcoded. With this patch the default theme becomes a file in "misc/conf_theme_OPL.cfg". This makes it a lot more simple to change the default theme.
I've changed only one small thing to it to make the cover art always display at the same size, even when the cover art texture is a different size. For instance I am now testing with 512x125 and 256x256 (8bit bmp) covers.
Pull Request checklist
Note: these are not necessarily requirements

[ ] I reformatted the code with clang-format
[x] I checked to make sure my submission worked
[x] I am the author of submission or have permission from the original author
[ ] Requires update of the PS2SDK
[ ] Requires update of the gsKit
[ ] Others (please specify below)

Pull Request description

@rickgaiser, i do not understand too much this feature, you can modify also the default
theme itself using a basic theme in the configuration options.
For what is this?
Best regards

The default theme used to be hard-coded inside src/themes.c. It looks like this:
configSetInt(themeConfig, "bg_overlay_aligned", ALIGN_NONE);
configSetInt(themeConfig, "bg_overlay_scaled", SCALING_NONE);
configSetStr(themeConfig, "bg_overlay_width", "DIM_INF");
configSetStr(themeConfig, "bg_overlay_height", "DIM_INF");
addGUIElem(themePath, themeConfig, newT, &newT->mainElems, elementsType[ELEM_TYPE_STATIC_IMAGE], "bg_overlay");
addGUIElem(themePath, themeConfig, newT, &newT->mainElems, elementsType[ELEM_TYPE_MENU_ICON], "category_icon");
addGUIElem(themePath, themeConfig, newT, &newT->mainElems, elementsType[ELEM_TYPE_MENU_TEXT], "category_label");
addGUIElem(themePath, themeConfig, newT, &newT->mainElems, elementsType[ELEM_TYPE_ITEMS_LIST], "game_list");
addGUIElem(themePath, themeConfig, newT, &newT->mainElems, elementsType[ELEM_TYPE_ITEM_ICON], "disc_icon");
addGUIElem(themePath, themeConfig, newT, &newT->mainElems, elementsType[ELEM_TYPE_ITEM_COVER], "game_cover");
addGUIElem(themePath, themeConfig, newT, &newT->mainElems, elementsType[ELEM_TYPE_ITEM_TEXT], "game_id");
addGUIElem(themePath, themeConfig, newT, &newT->mainElems, elementsType[ELEM_TYPE_HINT_TEXT], "hint_text");
addGUIElem(themePath, themeConfig, newT, &newT->mainElems, elementsType[ELEM_TYPE_LOADING_ICON], "loading_icon");

Changing this theme is not easy, becouse you need to know exactly how to make a theme, in code. This theme can however be exactly replicated using a real theme file (in misc/conf_theme_OPL.cfg) that looks like this:
main0:
	type=StaticImage
	aligned=0
	scaled=0
	width=DIM_INF
	height=DIM_INF

main1:
	type=MenuIcon

main2:
	type=MenuText

main3:
	type=ItemsList

main4:
	type=ItemIcon

main5:
	type=ItemCover

main6:
	type=ItemText

main7:
	type=HintText

main8:
	type=LoadingIcon

This is exactly the same theme, only in a readable form. The theme is unchanged, and still embedded inside OPL as the default theme. But making changes to it will be a lot more simple now becouse we can test changes using regular themes in the THM folder. We can even hold a contest for a new default theme for OPL v1.0 ;-).
The only change I made to the theme is to make the cover art always the same size by changing:
main5:
	type=ItemCover

into:
main5:
	type=ItemCover
	width=140
	height=200

This allows us to use higher resolution cover art, without blowing up the size of the cover in OPL.

I see, thank you very much for the detailed explanation.
Best regards.


I am unable to start my app

The Error I keep getting is:
Downloading Rust                                                                                gzip: stdin: not in gzip format                                                                                tar: Child returned status 1                                                                                tar: Error is not recoverable: exiting now                                                                              Installing Rust                                                                                /tmp/buildpacks/cloudfoundry-buildpack-rust/bin/compile: line 59: /tmp/cache/rust/install.sh: No such file or directory Compiling                                                                                /tmp/buildpacks/cloudfoundry-buildpack-rust/bin/compile: line 83: cargo: command not found                              -----> Uploading droplet (73M)
Could you please help me resolve this.

Hi there, thanks for opening the issue. This buildpack has been neglected a bit and can use some love. I'll be happy to take a look and see if I can help you out.
Could you provide more verbose logging output?
Also, what CloudFoundry provider (for lack of a better word) are you using? I've only tested this on Bluemix, and it shouldn't really matter, but it could potentially be helpful.

This is a proprietary deployment of cloud foundry.
When I was looking through the code, I see that you have hard coded the package(tar). Would it be a good idea to refer to the rustup script. It will guarantee the latest stable version.

I believe I tried using multirust last year when I started this but ran into issues.
Given that rustup is more mature (and currently the preferred installation method), it might be worth giving it another chance.
I've opened issue #2 to track the upgrade to rustup, if it's possible.
If you'd like to give it a shot, I'd be willing to accept a PR for the enhancement. I can take a look as well once I get some internet issues straightened out.

I have never worked with a build pack. I will try to hack my way through it. May need your help.

There's a first time for everything. I'd be glad to help though.
Note that, it has been a while since I've played with this, so I'm a bit rusty as well.

Here is the log you asked for:
2016-06-11T22:11:51.27+0530 [API/3]      OUT Created app with guid 64db5b21-550a-47d8-8f98-e6325fa0c197 2016-06-11T22:11:57.96+0530 [API/1]      OUT Updated app with guid 64db5b21-550a-47d8-8f98-e6325fa0c197 ({"route"=>"287f989d-d435-4346-a9af-705e5cc646c9"}) 2016-06-11T22:12:56.96+0530 [DEA/37]     OUT Got staging request for app with id 64db5b21-550a-47d8-8f98-e6325fa0c197 2016-06-11T22:12:58.94+0530 [API/2]      OUT Updated app with guid 64db5b21-550a-47d8-8f98-e6325fa0c197 ({"state"=>"STARTED"}) 2016-06-11T22:12:59.58+0530 [STG/37]     OUT -----> Downloaded app package (26M) 2016-06-11T22:13:02.09+0530 [STG/0]      OUT Staging failed: An application could not be detected by any available buildpack 2016-06-11T22:13:02.09+0530 [STG/0]      ERR  2016-06-11T22:13:02.20+0530 [API/2]      ERR encountered error: An app was not successfully detected by any available buildpack 2016-06-11T22:15:02.39+0530 [API/4]      OUT Updated app with guid 64db5b21-550a-47d8-8f98-e6325fa0c197 ({"name"=>"catacomb", "instances"=>1, "memory"=>512, "buildpack"=>"https://github.com/amsantavicca/cloudfoundry-buildpack-rust", "environment_json"=>"PRIVATE DATA HIDDEN"}) 2016-06-11T22:15:23.00+0530 [API/0]      OUT Updated app with guid 64db5b21-550a-47d8-8f98-e6325fa0c197 ({"state"=>"STOPPED"}) 2016-06-11T22:15:26.30+0530 [DEA/89]     OUT Got staging request for app with id 64db5b21-550a-47d8-8f98-e6325fa0c197 2016-06-11T22:15:27.61+0530 [API/1]      OUT Updated app with guid 64db5b21-550a-47d8-8f98-e6325fa0c197 ({"state"=>"STARTED"}) 2016-06-11T22:15:28.26+0530 [STG/89]     OUT -----> Downloaded app package (26M) 2016-06-11T22:15:28.41+0530 [STG/0]      ERR Cloning into '/tmp/buildpacks/cloudfoundry-buildpack-rust'... 2016-06-11T22:15:29.81+0530 [STG/0]      OUT Checking for Rust 2016-06-11T22:15:29.81+0530 [STG/0]      OUT Downloading Rust 2016-06-11T22:15:29.96+0530 [STG/0]      ERR gzip: stdin: not in gzip format 2016-06-11T22:15:29.96+0530 [STG/0]      ERR tar: Child returned status 1 2016-06-11T22:15:29.96+0530 [STG/0]      ERR tar: Error is not recoverable: exiting now 2016-06-11T22:15:29.96+0530 [STG/0]      OUT Installing Rust 2016-06-11T22:15:29.96+0530 [STG/0]      ERR /tmp/buildpacks/cloudfoundry-buildpack-rust/bin/compile: line 59: /tmp/cache/rust/install.sh: No such file or directory 2016-06-11T22:15:29.96+0530 [STG/0]      OUT Compiling 2016-06-11T22:15:29.96+0530 [STG/0]      ERR /tmp/buildpacks/cloudfoundry-buildpack-rust/bin/compile: line 83: cargo: command not found 2016-06-11T22:15:33.17+0530 [STG/89]     OUT -----> Uploading droplet (26M) 2016-06-11T22:15:38.99+0530 [DEA/89]     OUT Starting app instance (index 0) with guid 64db5b21-550a-47d8-8f98-e6325fa0c197 2016-06-11T22:15:41.72+0530 [DEA/89]     ERR Instance (index 0) failed to start accepting connections 2016-06-11T22:15:41.76+0530 [API/2]      OUT App instance exited with guid 64db5b21-550a-47d8-8f98-e6325fa0c197 payload: {"cc_partition"=>"default", "droplet"=>"64db5b21-550a-47d8-8f98-e6325fa0c197", "version"=>"d60362d2-eb1b-4133-8e6e-c2882a366b5a", "instance"=>"2a4335909bdc49749189b1bedf3a275d", "index"=>0, "reason"=>"CRASHED", "exit_status"=>127, "exit_description"=>"failed to accept connections within health check timeout", "crash_timestamp"=>1465663541} 2016-06-11T22:15:41.76+0530 [API/0]      OUT App instance exited with guid 64db5b21-550a-47d8-8f98-e6325fa0c197 payload: {"cc_partition"=>"default", "droplet"=>"64db5b21-550a-47d8-8f98-e6325fa0c197", "version"=>"d60362d2-eb1b-4133-8e6e-c2882a366b5a", "instance"=>"2a4335909bdc49749189b1bedf3a275d", "index"=>0, "reason"=>"CRASHED", "exit_status"=>127, "exit_description"=>"failed to accept connections within health check timeout", "crash_timestamp"=>1465663541} 2016-06-11T22:16:05.73+0530 [DEA/30]     OUT Starting app instance (index 0) with guid 64db5b21-550a-47d8-8f98-e6325fa0c197 2016-06-11T22:16:07.62+0530 [DEA/30]     ERR Instance (index 0) failed to start accepting connections 2016-06-11T22:16:07.64+0530 [API/5]      OUT App instance exited with guid 64db5b21-550a-47d8-8f98-e6325fa0c197 payload: {"cc_partition"=>"default", "droplet"=>"64db5b21-550a-47d8-8f98-e6325fa0c197", "version"=>"d60362d2-eb1b-4133-8e6e-c2882a366b5a", "instance"=>"1ad4621908254b0e8fc01e19c7250af4", "index"=>0, "reason"=>"CRASHED", "exit_status"=>127, "exit_description"=>"failed to accept connections within health check timeout", "crash_timestamp"=>1465663567} 2016-06-11T22:16:07.64+0530 [API/3]      OUT App instance exited with guid 64db5b21-550a-47d8-8f98-e6325fa0c197 payload: {"cc_partition"=>"default", "droplet"=>"64db5b21-550a-47d8-8f98-e6325fa0c197", "version"=>"d60362d2-eb1b-4133-8e6e-c2882a366b5a", "instance"=>"1ad4621908254b0e8fc01e19c7250af4", "index"=>0, "reason"=>"CRASHED", "exit_status"=>127, "exit_description"=>"failed to accept connections within health check timeout", "crash_timestamp"=>1465663567} 2016-06-11T22:16:45.84+0530 [DEA/45]     OUT Starting app instance (index 0) with guid 64db5b21-550a-47d8-8f98-e6325fa0c197 2016-06-11T22:17:25.93+0530 [DEA/18]     OUT Starting app instance (index 0) with guid 64db5b21-550a-47d8-8f98-e6325fa0c197 2016-06-11T22:17:27.56+0530 [DEA/18]     ERR Instance (index 0) failed to start accepting connections 2016-06-11T22:17:27.57+0530 [API/2]      OUT App instance exited with guid 64db5b21-550a-47d8-8f98-e6325fa0c197 payload: {"cc_partition"=>"default", "droplet"=>"64db5b21-550a-47d8-8f98-e6325fa0c197", "version"=>"d60362d2-eb1b-4133-8e6e-c2882a366b5a", "instance"=>"bbf5d95c1cf147668459bbfd95fda8f0", "index"=>0, "reason"=>"CRASHED", "exit_status"=>127, "exit_description"=>"failed to accept connections within health check timeout", "crash_timestamp"=>1465663647} 2016-06-11T22:17:27.58+0530 [API/0]      OUT App instance exited with guid 64db5b21-550a-47d8-8f98-e6325fa0c197 payload: {"cc_partition"=>"default", "droplet"=>"64db5b21-550a-47d8-8f98-e6325fa0c197", "version"=>"d60362d2-eb1b-4133-8e6e-c2882a366b5a", "instance"=>"bbf5d95c1cf147668459bbfd95fda8f0", "index"=>0, "reason"=>"CRASHED", "exit_status"=>127, "exit_description"=>"failed to accept connections within health check timeout", "crash_timestamp"=>1465663647}

Sorry for the delay @imkernel. I pushed up a new branch and opened a PR here #3.
If you get the chance, take a look at that branch ('use-rustup'). If this works for you, I'll merge it into master.

Closing. Resolved by PR #3


Bayesian belief network algorithm

Can i implement Bayesian belief network,if so comment.

No algorithm for BBN is ready, but PR are welcome.


Fix "ArgumentOutOfRangeException" on InventoryItem DragDrop

Sometimes when an Inventory Item is dragged and dropped onto another Item it will throw an "ArgumentOutOfRangeException" on the following line:
https://github.com/Piggo41/PnP-Organizer/blob/dce33e42116fae0abe9611659da4e78803e3fefe/PnP Organizer/Views/Pages/InventoryPage.xaml.cs#L176

fixed


Fix the instantiation of ClientError

The previous code would throw an exception if it was executed. The ClientError class takes a dict as the first argument so passing a str gives an error like this:
...
  File "/home/foo/top-secret-work/moto/moto/redshift/models.py", line 478, in enable_snapshot_copy
    'SnapshotCopyGrantName is required for Snapshot Copy '
  File "/usr/local/lib/python3.7/site-packages/botocore/exceptions.py", line 396, in __init__
    error = error_response.get('Error', {})
AttributeError: 'str' object has no attribute 'get'

Coverage decreased (-0.2%) to 92.33% when pulling 0ded07ac643a52983808ca490c0d21ffd8e39846 on grahamlyons:bug-redshift-error-handling into ed861ecae1039a048a6350a4ff832ef094cdf2c2 on spulec:master.

This looks good, but Travis is failing. If we can get the tests passing, will be happy to merge.

@grahamlyons Your identification of a bug is correct, but your fix is not.  Instead of raising a ClientError in models.py, you can just do this:
raise InvalidParameterValueError(
    'SnapshotCopyGrantName is required for Snapshot Copy on KMS encrypted clusters.'
)

This has now been fixed by #3485, so I'll close this one.


What Kafka version is supported exactly? 0.8 doesn't seem to work.

I tried 0.8.0-beta1, 0.8.0 and 0.8.1 Kafkas, but none of them seem to work with Poseidon. Same error message:
[2014-04-21 14:27:45,526] ERROR Closing socket for /<IP_ADDRESS> because of error (kafka.network.Processor)
kafka.common.KafkaException: Wrong request type 768
	at kafka.api.RequestKeys$.deserializerForKey(RequestKeys.scala:53)
	at kafka.network.RequestChannel$Request.<init>(RequestChannel.scala:49)
	at kafka.network.Processor.read(SocketServer.scala:345)
	at kafka.network.Processor.run(SocketServer.scala:245)
	at java.lang.Thread.run(Thread.java:744)

Here is a snippet I use to send a message
require 'poseidon'

producer = Poseidon::Producer.new(["localhost:9092"], "my_test_producer")
messages = []
topic = "test"
messages << Poseidon::MessageToSend.new(topic, "Hello from Ruby producer")
producer.send_messages(messages)

Hi, I am facing a similar solution with ruby 2.2.2 and kafka 0.8.2
Could please elaborate how you solved the problem or what was the cause of the problem.


IO error : read timeout

After config Jenkins and test connection successful, but show "IO error ... read timeout" message

The problem with https connection. My URL is https://myciserver.com, but I see in log connection to  http://myciserver.com (port 80)

enter HttpConnection.open()
Open connection to myciserver.com:80
enter HttpConnection.closeSockedAndStreams()
Closing the connection.
enter HttpConnection.close()
enter HttpConnection.closeSockedAndStreams()
Method retry handler returned false. Automatic recovery will not be attempted
enter HttpConnection.releaseConnection()
Releasing connection back to connection manager.
enter HttpConnectionManager.releaseConnection(HttpConnection)
Freeing connection, hostConfig=HostConfiguration[host=http://myciserver.com]
enter HttpConnectionManager.ConnectionPool.getHostPool(HostConfiguration)
Adding connection at:<PHONE_NUMBER>647
Notifying no-one, there are no waiting threads
Set parameter http.socket.timeout = 10000
Set parameter http.connection.timeout = 10000
enter HttpClient.executeMethod(HttpMethod)
enter HttpClient.executeMethod(HostConfiguration,HttpMethod,HttpState)
enter HttpConnectionManager.getConnectionWithTimeout(HostConfiguration, long)
HttpConnectionManager.getConnection:  config = HostConfiguration[host=http://myciserver.com], timeout = 0
enter HttpConnectionManager.ConnectionPool.getHostPool(HostConfiguration)
enter HttpConnectionManager.ConnectionPool.getHostPool(HostConfiguration)
Getting free connection, hostConfig=HostConfiguration[host=http://myciserver.com]
Preemptively sending default basic credentials
Authenticating with BASIC @myciserver.com:80
enter HttpState.getCredentials(AuthScope)
enter BasicScheme.authenticate(Credentials, HttpMethod)
Credential charset not configured, using HTTP element charset
enter BasicScheme.authenticate(UsernamePasswordCredentials, String)
HttpMethodBase.addRequestHeader(Header)
Attempt number 1 to process request
enter HttpConnection.open()
Open connection to myciserver.com:80
enter HttpConnection.closeSockedAndStreams()
Closing the connection.
enter HttpConnection.close()
enter HttpConnection.closeSockedAndStreams()
I/O exception (java.net.ConnectException) caught when processing request: Connection refused
Connection refused

I got "Connection refused" because HTTP connection not available on my server