Adapter does not find any devices

Hey UncleSamSwiss
I did use a previous version of the adapter 1 week ago and did find my 3 ADS1115 properly. Today i tried to configure them. Then the adapter did not restart any more and stopped working. i reinstalled it, then it was in english before it was in german. When i hit the search devices it runs forever and does not find anything any more, but in the console my rspberry is still finding all of the ads1115.
thanks for your support

Can you please tell me which version of the adapter you have installed? I'm guessing it's an 1.0.x.
The English part is actually true: currently there is not yet a translation for 1.0.1; there will be once the official version is published.
Can you please set the log level of the adapter to "debug" and restart it. Then do the search in the adapter configuration. It should at least show the commands that are executed.

Hey UncleSamSwiss,
I have the same issue on my testsystem. It runs with Version 0.0.6. With the main systems it works also perfekt.
After the update to Version 1.1.0 on the test system doesn't find any devices. I2cdetect is working and can find all of them.
924.83 MB
System Betriebszeit
00:02:45
Node.js
v14.15.0 (Empfohlene Version v12.19.0)
NPM
6.14.8
Festplatte Größe
28.25 GB
MCP23017 5x used
ADS1115 1x used
I have no idea why its not working.
Kind regards Uwe

@UwesSmartHome Did you check the permissions? See here: https://github.com/UncleSamSwiss/ioBroker.i2c#access-right-issue
Please try running i2cdetect as the user running ioBroker (most probably iobroker, but please check with ps).

Hi Samuel,
I did check again, here the debug logging, only all looks correct:
i2c.0 	2020-11-13 11:25:00.852 	info 	(4423) Using bus number: 1
i2c.0 	2020-11-13 11:25:00.754 	info 	(4423) starting. Version 1.1.0 in
/opt/iobroker/node_modules/iobroker.i2c, node: v14.15.0, js-controller:
3.1.6
I did check with user iobroker and pi.
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
pi 3273 0.0 0.3 8492 3636 pts/0 Ss 10:59 0:00 -bash
pi 4658 0.0 0.2 9788 2468 pts/0 R+ 11:29 0:00 ps u
In the end no change.
Regards Uwe
-----Original-Nachricht-----
Betreff: Re: [UncleSamSwiss/ioBroker.i2c] Adapter does not find any devices
(#53)
Datum: 2020-11-12T17:00:32+0100
Von: "Samuel Weibel"<EMAIL_ADDRESS>An: "UncleSamSwiss/ioBroker.i2c"<EMAIL_ADDRESS>@UwesSmartHome https://github.com/UwesSmartHome Did you check the
permissions? See here:
https://github.com/UncleSamSwiss/ioBroker.i2c#access-right-issue
Please try running i2cdetect as the user running ioBroker (most probably
iobroker, but please check with ps).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/UncleSamSwiss/ioBroker.i2c/issues/53#issuecomment-726169441
, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AK6QSJYOYZSWM33CNESJVFDSPQBBTANCNFSM4TFNBZPQ
.
[ { "@context": "http://schema.org", "@type": "EmailMessage",
"potentialAction": { "@type": "ViewAction", "target":
"https://github.com/UncleSamSwiss/ioBroker.i2c/issues/53#issuecomment-726169441",
"url":
"https://github.com/UncleSamSwiss/ioBroker.i2c/issues/53#issuecomment-726169441",
"name": "View Issue" }, "description": "View this Issue on GitHub",
"publisher": { "@type": "Organization", "name": "GitHub", "url":
"https://github.com" } } ]

Funny enough, in your debug log it doesn't show anything about a device search. Can you please check your browser console (Chrome: F12) if you see an error when pressing the "Search Devices" button.
Your ps doesn't show anything about ioBroker. If it is running, then please try with sudo ps aux | grep io.

Hello Samuel,
sudo ps aux | grep io
root 11 0.0 0.0 0 0 ? S 08:16 0:00 [migration/0]
root 14 0.0 0.0 0 0 ? S 08:16 0:00 [migration/1]
root 19 0.0 0.0 0 0 ? S 08:16 0:00 [migration/2]
root 24 0.0 0.0 0 0 ? S 08:16 0:00 [migration/3]
root 55 0.0 0.0 0 0 ? I< 08:16 0:00 [blkcg_punt_bio]
root 58 0.0 0.0 0 0 ? I< 08:16 0:00 [rpciod]
root 60 0.0 0.0 0 0 ? I< 08:16 0:00 [xprtiod]
root 62 0.0 0.0 0 0 ? I< 08:16 0:00 [nfsiod]
root 66 0.0 0.0 0 0 ? I< 08:16 0:00 [DWC Notificatio]
message+ 376 0.0 0.3 6560 2936 ? Ss 08:16 0:00 /usr/bin/dbus-daemon
--system --address=systemd: --nofork --nopidfile --systemd-activation
--syslog-only
iobroker 536 3.4 7.3<PHONE_NUMBER>8 ? Ssl 08:16 1:50 iobroker.js-controller
iobroker 557 0.4 7.3<PHONE_NUMBER>6 ? Sl 08:16 0:13 io.admin.0
iobroker 568 0.5 5.0<PHONE_NUMBER>2 ? Sl 08:16 0:17 io.rpi2.0
iobroker 626 0.2 4.9<PHONE_NUMBER>4 ? Sl 08:16 0:08 io.broadlink2.0
iobroker 641 0.4 5.4<PHONE_NUMBER>8 ? Sl 08:16 0:13 io.alexa2.0
iobroker 656 0.2 5.4<PHONE_NUMBER>4 ? Sl 08:16 0:09 io.web.0
iobroker 803 0.2 4.9<PHONE_NUMBER>4 ? Sl 08:16 0:09 io.panasonic-viera.0
iobroker 814 0.5 5.9<PHONE_NUMBER>6 ? Sl 08:16 0:18 io.yamaha.0
iobroker 832 0.3 5.7<PHONE_NUMBER>4 ? Sl 08:17 0:11 io.info.0
iobroker 851 0.3 5.1<PHONE_NUMBER>8 ? Sl 08:17 0:10 io.history.0
iobroker 876 0.5 5.9<PHONE_NUMBER>2 ? Sl 08:17 0:18 io.fritzdect.0
iobroker 1332 0.2 4.8<PHONE_NUMBER>6 ? Sl 08:17 0:07 io.keyble.0
iobroker 1352 0.6 5.4<PHONE_NUMBER>2 ? Sl 08:17 0:20 io.ble.0
iobroker 1368 0.2 4.7<PHONE_NUMBER>0 ? Sl 08:17 0:07 io.keyble.1
iobroker 1384 0.2 4.8<PHONE_NUMBER>0 ? Sl 08:17 0:07 io.i2c.0
iobroker 1399 0.2 4.7<PHONE_NUMBER>0 ? Sl 08:17 0:07 io.i2c.1
pi 3662 0.0 0.0 7360 484 pts/0 S+ 09:09 0:00 grep --color=auto io
pi@Raspberry4:~ $
Chromium shows, but again no search of devices
i2c.0 	2020-11-16 09:33:43.016 	info 	(4928) Using bus number: 1
i2c.0 	2020-11-16 09:33:42.915 	info 	(4928) starting. Version 1.1.0 in
/opt/iobroker/node_modules/iobroker.i2c, node: v14.15.0, js-controller:
3.1.6
i2c.0 	2020-11-16 09:33:42.556 	debug 	(4928) statesDB connected
i2c.0 	2020-11-16 09:33:42.554 	debug 	(4928) States connected to redis:
<IP_ADDRESS>:9000
i2c.0 	2020-11-16 09:33:42.536 	debug 	(4928) States create System PubSub
Client
i2c.0 	2020-11-16 09:33:42.530 	debug 	(4928) States create User PubSub
Client
i2c.0 	2020-11-16 09:33:42.515 	debug 	(4928) Redis States: Use Redis
connection: <IP_ADDRESS>:9000
i2c.0 	2020-11-16 09:33:42.510 	debug 	(4928) objectDB connected
i2c.0 	2020-11-16 09:33:42.497 	debug 	(4928) Objects connected to redis:
<IP_ADDRESS>:9001
i2c.0 	2020-11-16 09:33:42.464 	debug 	(4928) Objects client initialize lua
scripts
i2c.0 	2020-11-16 09:33:42.461 	debug 	(4928) Objects create User PubSub
Client
i2c.0 	2020-11-16 09:33:42.457 	debug 	(4928) Objects create System PubSub
Client
i2c.0 	2020-11-16 09:33:42.448 	debug 	(4928) Objects client ready ...
initialize now
i2c.0 	2020-11-16 09:33:42.365 	debug 	(4928) Redis Objects: Use Redis
connection: <IP_ADDRESS>:9001
host.Raspberry4 	2020-11-16 09:33:40.512 	info 	instance
system.adapter.i2c.0 started with pid 4928
host.Raspberry4 	2020-11-16 09:33:40.451 	info 	"system.adapter.i2c.0"
enabled
-----Original-Nachricht-----
Betreff: Re: [UncleSamSwiss/ioBroker.i2c] Adapter does not find any devices
(#53)
Datum: 2020-11-15T11:21:02+0100
Von: "Samuel Weibel"<EMAIL_ADDRESS>An: "UncleSamSwiss/ioBroker.i2c"<EMAIL_ADDRESS>Funny enough, in your debug log it doesn't show anything about a device
search. Can you please check your browser console (Chrome: F12) if you see
an error when pressing the "Search Devices" button.
Your ps doesn't show anything about ioBroker. If it is running, then please
try with sudo ps aux | grep io.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/UncleSamSwiss/ioBroker.i2c/issues/53#issuecomment-727546731
, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AK6QSJ7WJ7YF2P67PSIV4PLSP6TQJANCNFSM4TFNBZPQ
.
[ { "@context": "http://schema.org", "@type": "EmailMessage",
"potentialAction": { "@type": "ViewAction", "target":
"https://github.com/UncleSamSwiss/ioBroker.i2c/issues/53#issuecomment-727546731",
"url":
"https://github.com/UncleSamSwiss/ioBroker.i2c/issues/53#issuecomment-727546731",
"name": "View Issue" }, "description": "View this Issue on GitHub",
"publisher": { "@type": "Organization", "name": "GitHub", "url":
"https://github.com" } } ]

It seems i have the same issue. A click on Search Devices triggers nothing.
Log (Restarted Adapter, clicked Search Devices):
2020-11-17 21:52:25.737  - info: host.nuc instance system.adapter.i2c.0 started with pid 24628
2020-11-17 21:52:25.993  - debug: i2c.0 (24628) Redis Objects: Use Redis connection: <IP_ADDRESS>:9001
2020-11-17 21:52:26.013  - debug: i2c.0 (24628) Objects client ready ... initialize now
2020-11-17 21:52:26.015  - debug: i2c.0 (24628) Objects create System PubSub Client
2020-11-17 21:52:26.015  - debug: i2c.0 (24628) Objects create User PubSub Client
2020-11-17 21:52:26.016  - debug: i2c.0 (24628) Objects client initialize lua scripts
2020-11-17 21:52:26.022  - debug: i2c.0 (24628) Objects connected to redis: <IP_ADDRESS>:9001
2020-11-17 21:52:26.025  - debug: i2c.0 (24628) objectDB connected
2020-11-17 21:52:26.026  - debug: i2c.0 (24628) Redis States: Use Redis connection: <IP_ADDRESS>:9000
2020-11-17 21:52:26.031  - debug: i2c.0 (24628) States create User PubSub Client
2020-11-17 21:52:26.032  - debug: i2c.0 (24628) States create System PubSub Client
2020-11-17 21:52:26.040  - debug: i2c.0 (24628) States connected to redis: <IP_ADDRESS>:9000
2020-11-17 21:52:26.040  - debug: i2c.0 (24628) statesDB connected
2020-11-17 21:52:26.226  - info: i2c.0 (24628) starting. Version 1.1.0 in /opt/iobroker/node_modules/iobroker.i2c, node: v12.16.3, js-controller: 3.1.6
2020-11-17 21:52:26.248  - info: i2c.0 (24628) Using bus number: 5
2020-11-17 21:52:26.285  - silly: i2c.0 (24628) States system redis pmessage system.adapter.i2c.0.logLevel/system.adapter.i2c.0.logLevel:{"val":"silly","ack":true,"ts":1605646346242,"q":0,"from":"system.adapter.i2c.0","lc":1605646168981}
2020-11-17 21:52:35.114  - silly: i2c.0 (24628) States system redis pmessage *.logging/system.adapter.admin.0.logging:{"val":true,"ack":true,"ts":1605646355104,"q":0,"from":"system.adapter.admin.0","lc":1605646355104}
2020-11-17 21:52:35.117  - debug: i2c.0 (24628) system.adapter.admin.0: logging true
2020-11-17 21:52:35.114  - silly: i2c.0 (24628) States system redis pmessage *.logging/system.adapter.admin.0.logging:{"val":true,"ack":true,"ts":1605646355104,"q":0,"from":"system.adapter.admin.0","lc":1605646355104}
2020-11-17 21:52:35.117  - debug: i2c.0 (24628) system.adapter.admin.0: logging true

Firefox Developer Log
Should it be index.css.map?
Source-Map-Fehler: Error: request failed with status 404
Ressourcen-Adresse: https://<IP_ADDRESS>:8081/adapter/i2c/build/index.js
Source-Map-Adresse: /index.js.map

ps aux:
iobroker 24628  0.3  0.5<PHONE_NUMBER>8 ?        Sl   21:52   0:00 io.i2c.0

i2cdetect as iobroker
juergen@nuc:~/gas$ sudo -u iobroker i2cdetect -y 5
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
10: 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
20: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
30: 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f
40: 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f
50: 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f
60: 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
70: 70 71 72 73 74 75 76 77

Can i provide any mor information?

Hello Samuel,
now it is working.
I did the following staff: Backup from my Main System to the testsystem.
After that i did install the 1.1.0 Version from github direct. And now it
is working.
The main diferences is: The Versions:
Node.jsv10.17.0 (Es gibt eine neuere Version: v10.23.0 - Empfohlene Version
v12.19.1)NPM6.11.3
The nor working version I reported same day ago.
Kind regards Uwe
PS. I will test now on my Main System
-----Original-Nachricht-----
Betreff: Re: [UncleSamSwiss/ioBroker.i2c] Adapter does not find any devices
(#53)
Datum: 2020-11-17T21:59:32+0100
Von: "Jürgen Schmid"<EMAIL_ADDRESS>An: "UncleSamSwiss/ioBroker.i2c"<EMAIL_ADDRESS>It seems i have the same issue. A click on Search Devices triggers nothing.
Log (Restarted Adapter, clicked Search Devices):
2020-11-17 21:52:25.737 - info: host.nuc instance system.adapter.i2c.0 started with pid 24628 2020-11-17 21:52:25.993 - debug: i2c.0 (24628) Redis Objects: Use Redis connection: <IP_ADDRESS>:9001 2020-11-17 21:52:26.013 - debug: i2c.0 (24628) Objects client ready ... initialize now 2020-11-17 21:52:26.015 - debug: i2c.0 (24628) Objects create System PubSub Client 2020-11-17 21:52:26.015 - debug: i2c.0 (24628) Objects create User PubSub Client 2020-11-17 21:52:26.016 - debug: i2c.0 (24628) Objects client initialize lua scripts 2020-11-17 21:52:26.022 - debug: i2c.0 (24628) Objects connected to redis: <IP_ADDRESS>:9001 2020-11-17 21:52:26.025 - debug: i2c.0 (24628) objectDB connected 2020-11-17 21:52:26.026 - debug: i2c.0 (24628) Redis States: Use Redis connection: <IP_ADDRESS>:9000 2020-11-17 21:52:26.031 - debug: i2c.0 (24628) States create User PubSub Client 2020-11-17 21:52:26.032 - debug: i2c.0 (24628) States create System PubSub Client 2020-11-17 21:52:26.040 - debug: i2c.0 (24628) States connected to redis: <IP_ADDRESS>:9000 2020-11-17 21:52:26.040 - debug: i2c.0 (24628) statesDB connected 2020-11-17 21:52:26.226 - info: i2c.0 (24628) starting. Version 1.1.0 in /opt/iobroker/node_modules/iobroker.i2c, node: v12.16.3, js-controller: 3.1.6 2020-11-17 21:52:26.248 - info: i2c.0 (24628) Using bus number: 5 2020-11-17 21:52:26.285 - silly: i2c.0 (24628) States system redis pmessage system.adapter.i2c.0.logLevel/system.adapter.i2c.0.logLevel:{"val":"silly","ack":true,"ts":1605646346242,"q":0,"from":"system.adapter.i2c.0","lc":1605646168981} 2020-11-17 21:52:35.114 - silly: i2c.0 (24628) States system redis pmessage *.logging/system.adapter.admin.0.logging:{"val":true,"ack":true,"ts":1605646355104,"q":0,"from":"system.adapter.admin.0","lc":1605646355104} 2020-11-17 21:52:35.117 - debug: i2c.0 (24628) system.adapter.admin.0: logging true 2020-11-17 21:52:35.114 - silly: i2c.0 (24628) States system redis pmessage *.logging/system.adapter.admin.0.logging:{"val":true,"ack":true,"ts":1605646355104,"q":0,"from":"system.adapter.admin.0","lc":1605646355104} 2020-11-17 21:52:35.117 - debug: i2c.0 (24628) system.adapter.admin.0: logging true
Firefox Developer Log
Should it be index.css.map?
Source-Map-Fehler: Error: request failed with status 404 Ressourcen-Adresse: https://<IP_ADDRESS>:8081/adapter/i2c/build/index.js Source-Map-Adresse: /index.js.map
ps aux:
iobroker 24628 0.3 0.5<PHONE_NUMBER>8 ? Sl 21:52 0:00 io.i2c.0
i2cdetect as iobroker
juergen@nuc:~/gas$ sudo -u iobroker i2cdetect -y 5 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10: 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30: 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40: 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50: 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60: 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70: 70 71 72 73 74 75 76 77
Can i provide any mor information?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/UncleSamSwiss/ioBroker.i2c/issues/53#issuecomment-729210179
, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AK6QSJZO7MGHPGVCVM2LBT3SQLP2PANCNFSM4TFNBZPQ
.
[ { "@context": "http://schema.org", "@type": "EmailMessage",
"potentialAction": { "@type": "ViewAction", "target":
"https://github.com/UncleSamSwiss/ioBroker.i2c/issues/53#issuecomment-729210179",
"url":
"https://github.com/UncleSamSwiss/ioBroker.i2c/issues/53#issuecomment-729210179",
"name": "View Issue" }, "description": "View this Issue on GitHub",
"publisher": { "@type": "Organization", "name": "GitHub", "url":
"https://github.com" } } ]

Updated nodejs v12.16.1 to v12.19.1, js-controller 3.1.6. Reinstalled from github without success.

Hello,
I did find a workaround for the bug, not find any devices. The root cause is not really clear.
I works very well, after I did the following: I upgraded the Version 0.6 to 1.1.0 direct via Github.
The main difference is for my understanding the node.js version:
Node.js
v10.17.0  in the not working system it was v14.x
Kind regards Uwe

Updated to node: v14.15.1 without success
Removed i2c, Installied 0.0.6 (a 0.6 is not available), updated from github link
Nothing changed, still no message that a search is started or finished. Seems the ui component does not trigger a message

I send a message over script, but that does not trigger a search or even a log output which should happen:
 sendTo('i2c.0', 'search', 5 , (ret) => {
    log('Ret: ' + ret, 'info');
});

The adapter does not receive messages, can be reproduces with:

Set log level to silly
call iobroker message i2c.0 command message

A line in the log must appear, but does not.
Add the following to io-package.json in common
"messagebox": true,
"subscribe": "messagebox"

found: https://forum.iobroker.net/topic/4284/adapter-socket-probleme/4
now the button triggers a search

This is interesting, can you tell me which version of Admin and js-controller you are using? It seems they might be pretty old.

This will be fixed in the next version, but please consider updating to the latest version of js-controller.

js-controller: 3.1.6 latest
admin: 4.1.10 latest


afInput template overrides

In my application I use autoform/simple-schema/collection2. The schema defines a particular theme for a field (based on https://github.com/aldeed/meteor-autoform/issues/215)
Schemas.Animal = new SimpleSchema ({
	color: {
		type: String,
		label: 'Color',
		autoform: {
			template: 'color_typeahead'
		}
	},
...
})

and then I provided the afInput_color_typeahead template
<template name="afInput_color_typeahead">
	<input type="text" data-schema-key="{{this.name}}" name="{{this.name}}" class="{{this.cls}} form-control typeahead" value="{{this.value}}" autocomplete="off" spellcheck="off" data-source="color" placeholder="Enter Color" {{this.atts}}/>
</template>

and with the added sauce in the rendered callback for that template, it used to render the form element appropriately when I called {{>afQuickField name="color"}}
Then I upgraded to the latest versions of autoform/simple-schema and somewhere along the way my specific template is no longer called. I couldn't find anything in the Changelog.
Is this still supposed to work?

Either I goofed, or afInput_ changed to afInputText_ and I missed it. Either way, I was able to fix it by renaming my template override to afInputText_color_typeahead


[6971] Add Rake Task to Cleanup Stale Trainees

Context
Trello
It's been found that we have several hundred Trainees in register that are considered inactive, because they haven't signed in for over a year, or they've never signed in at all.
Changes proposed in this pull request
This adds a rake task that can be given a text file full of emails addresses and it will discard (soft delete) them. There's a small chance that some users will want their account reinstated so soft deletes are preferred.
Once this is merged, I can create the text file with the email addresses on production and run the rake task with the file from there.
Important business

[ ] Does this PR introduce any PII fields that need to be overwritten or deleted in db/scripts/sanitise.sql?
[ ] Does this PR change the database schema? If so, have you updated the config/analytics.yml file and considered whether you need to send 'import_entity' events?
[ ] Do we need to send any updates to DQT as part of the work in this PR?
[ ] Does this PR need an ADR?

NB: Please notify the #twd_data_insights team and ask for a review if new fields are being added to analytics.yml

Thanks for the review @Reyko, I committed your suggestions and looks like we have a green build 👍

@stevehook @Reyko Tom pointed out to me that we actually need to be discarding users and not trainees. Good job he checked! I've updated the task to do that and also made sure that any blank lines are discounted before running the query. That should address your concern about deleting users with null emails Steve. Let me know what you think.


runtime: nosplit stack overflow when building tests with -N -l

natively OSX go1.6rc2 darwin amd64
but trying to cross compile to GOOS=linux GOARCH=amd64
I've never seen this; not sure how serious it is.
$ make
go build  # succeeds, however:
go test -c -gcflags "-N -l" -v
# testmain
runtime.typedslicecopy: nosplit stack overflow
        584     assumed on entry to runtime.typedslicecopy (nosplit)
        448     after runtime.typedslicecopy (nosplit) uses 136
        440     on entry to runtime.cgoCheckSliceCopy (nosplit)
        376     after runtime.cgoCheckSliceCopy (nosplit) uses 64
        368     on entry to runtime.cgoCheckTypedBlock (nosplit)
        168     after runtime.cgoCheckTypedBlock (nosplit) uses 200
        160     on entry to runtime.cgoCheckBits (nosplit)
        24      after runtime.cgoCheckBits (nosplit) uses 136
        16      on entry to runtime.cgoIsGoPointer (nosplit)
        -32     after runtime.cgoIsGoPointer (nosplit) uses 48
runtime.sigtrampgo: nosplit stack overflow
        584     assumed on entry to runtime.sigtrampgo (nosplit)
        392     after runtime.sigtrampgo (nosplit) uses 192
        384     on entry to runtime.sigfwdgo (nosplit)
        288     after runtime.sigfwdgo (nosplit) uses 96
        280     on entry to runtime.dieFromSignal (nosplit)
        240     after runtime.dieFromSignal (nosplit) uses 40
        232     on entry to runtime.setsig (nosplit)
        40      after runtime.setsig (nosplit) uses 192
        32      on entry to runtime.funcPC (nosplit)
        0       after runtime.funcPC (nosplit) uses 32
        -8      on entry to runtime.add (nosplit)
runtime.cgocallback_gofunc: nosplit stack overflow
        584     assumed on entry to runtime.cgocallback_gofunc (nosplit)
        576     after runtime.cgocallback_gofunc (nosplit) uses 8
        568     on entry to runtime.cgocallbackg (nosplit)
        480     after runtime.cgocallbackg (nosplit) uses 88
        472     on entry to runtime.exitsyscall (nosplit)
        352     after runtime.exitsyscall (nosplit) uses 120
        344     on entry to runtime.exitsyscallfast (nosplit)
        184     after runtime.exitsyscallfast (nosplit) uses 160
        176     on entry to runtime.writebarrierptr (nosplit)
        128     after runtime.writebarrierptr (nosplit) uses 48
        120     on entry to runtime.cgoCheckWriteBarrier (nosplit)
        56      after runtime.cgoCheckWriteBarrier (nosplit) uses 64
        48      on entry to runtime.cgoIsGoPointer (nosplit)
        0       after runtime.cgoIsGoPointer (nosplit) uses 48
        -8      on entry to runtime.cgoInRange (nosplit)
make: *** [testbuild] Error 2
jaten@jatens-MacBook-Pro ~ $
jaten@jatens-MacBook-Pro ~ $ env|grep GO
GO15VENDOREXPERIMENT=1
GOARCH=amd64
GOOS=linux
GODEBUG=cgocheck=2
GOPATH=/Users/jaten
jaten@jatens-MacBook-Pro ~ $

It would be nicer if this didn't happen, but I think it's also OK for us to say "don't do that."  In particular, as far as I can tell, it doesn't happen with go build, only with go test.

I'm seeing the same thing using go version 1.6 (final, not rc), on windows/amd64, but not cross-compiling.
E:\go\src\github.com\docker\containerd\containerd [master +1 ~5 -0 !]> go build -gcflags "-N -l" -v
github.com/Sirupsen/logrus
github.com/docker/containerd
github.com/codegangsta/cli
github.com/golang/protobuf/proto
golang.org/x/net/internal/timeseries
golang.org/x/net/context
google.golang.org/grpc/codes
github.com/rcrowley/go-metrics
google.golang.org/grpc/grpclog
google.golang.org/grpc/naming
golang.org/x/net/http2/hpack
github.com/docker/containerd/specs
github.com/cloudfoundry/gosigar
github.com/docker/containerd/chanotify
golang.org/x/net/trace
google.golang.org/grpc/credentials
google.golang.org/grpc/metadata
golang.org/x/net/http2
github.com/docker/containerd/runtime
github.com/cyberdelia/go-metrics-graphite
google.golang.org/grpc/transport
google.golang.org/grpc
github.com/docker/containerd/api/grpc/types
github.com/docker/containerd/supervisor
github.com/docker/containerd/api/grpc/server
github.com/docker/containerd/containerd
# github.com/docker/containerd/containerd
runtime.typedslicecopy: nosplit stack overflow
        584     assumed on entry to runtime.typedslicecopy (nosplit)
        448     after runtime.typedslicecopy (nosplit) uses 136
        440     on entry to runtime.cgoCheckSliceCopy (nosplit)
        376     after runtime.cgoCheckSliceCopy (nosplit) uses 64
        368     on entry to runtime.cgoCheckTypedBlock (nosplit)
        168     after runtime.cgoCheckTypedBlock (nosplit) uses 200
        160     on entry to runtime.cgoCheckBits (nosplit)
        24      after runtime.cgoCheckBits (nosplit) uses 136
        16      on entry to runtime.cgoIsGoPointer (nosplit)
        -32     after runtime.cgoIsGoPointer (nosplit) uses 48
syscall.loadlibrary: nosplit stack overflow
        584     assumed on entry to syscall.loadlibrary (nosplit)
        536     after syscall.loadlibrary (nosplit) uses 48
        528     on entry to runtime.cgocall (nosplit)
        480     after runtime.cgocall (nosplit) uses 48
        472     on entry to runtime.exitsyscall (nosplit)
        352     after runtime.exitsyscall (nosplit) uses 120
        344     on entry to runtime.exitsyscallfast (nosplit)
        184     after runtime.exitsyscallfast (nosplit) uses 160
        176     on entry to runtime.writebarrierptr (nosplit)
        128     after runtime.writebarrierptr (nosplit) uses 48
        120     on entry to runtime.cgoCheckWriteBarrier (nosplit)
        56      after runtime.cgoCheckWriteBarrier (nosplit) uses 64
        48      on entry to runtime.cgoIsGoPointer (nosplit)
        0       after runtime.cgoIsGoPointer (nosplit) uses 48
        -8      on entry to runtime.cgoInRange (nosplit)
syscall.getprocaddress: nosplit stack overflow
        584     assumed on entry to syscall.getprocaddress (nosplit)
        536     after syscall.getprocaddress (nosplit) uses 48
        528     on entry to runtime.cgocall (nosplit)
        480     after runtime.cgocall (nosplit) uses 48
        472     on entry to runtime.exitsyscall (nosplit)
        352     after runtime.exitsyscall (nosplit) uses 120
        344     on entry to runtime.exitsyscallfast (nosplit)
        184     after runtime.exitsyscallfast (nosplit) uses 160
        176     on entry to runtime.writebarrierptr (nosplit)
        128     after runtime.writebarrierptr (nosplit) uses 48
        120     on entry to runtime.cgoCheckWriteBarrier (nosplit)
        56      after runtime.cgoCheckWriteBarrier (nosplit) uses 64
        48      on entry to runtime.cgoIsGoPointer (nosplit)
        0       after runtime.cgoIsGoPointer (nosplit) uses 48
        -8      on entry to runtime.cgoInRange (nosplit)
syscall.Syscall: nosplit stack overflow
        584     assumed on entry to syscall.Syscall (nosplit)
        528     after syscall.Syscall (nosplit) uses 56
        520     on entry to runtime.cgocall (nosplit)
        472     after runtime.cgocall (nosplit) uses 48
        464     on entry to runtime.exitsyscall (nosplit)
        344     after runtime.exitsyscall (nosplit) uses 120
        336     on entry to runtime.exitsyscallfast (nosplit)
        176     after runtime.exitsyscallfast (nosplit) uses 160
        168     on entry to runtime.writebarrierptr (nosplit)
        120     after runtime.writebarrierptr (nosplit) uses 48
        112     on entry to runtime.cgoCheckWriteBarrier (nosplit)
        48      after runtime.cgoCheckWriteBarrier (nosplit) uses 64
        40      on entry to runtime.cgoIsGoPointer (nosplit)
        -8      after runtime.cgoIsGoPointer (nosplit) uses 48
syscall.Syscall6: nosplit stack overflow
        584     assumed on entry to syscall.Syscall6 (nosplit)
        528     after syscall.Syscall6 (nosplit) uses 56
        520     on entry to runtime.cgocall (nosplit)
        472     after runtime.cgocall (nosplit) uses 48
        464     on entry to runtime.exitsyscall (nosplit)
        344     after runtime.exitsyscall (nosplit) uses 120
        336     on entry to runtime.exitsyscallfast (nosplit)
        176     after runtime.exitsyscallfast (nosplit) uses 160
        168     on entry to runtime.writebarrierptr (nosplit)
        120     after runtime.writebarrierptr (nosplit) uses 48
        112     on entry to runtime.cgoCheckWriteBarrier (nosplit)
        48      after runtime.cgoCheckWriteBarrier (nosplit) uses 64
        40      on entry to runtime.cgoIsGoPointer (nosplit)
        -8      after runtime.cgoIsGoPointer (nosplit) uses 48
syscall.Syscall9: nosplit stack overflow
        584     assumed on entry to syscall.Syscall9 (nosplit)
        528     after syscall.Syscall9 (nosplit) uses 56
        520     on entry to runtime.cgocall (nosplit)
        472     after runtime.cgocall (nosplit) uses 48
        464     on entry to runtime.exitsyscall (nosplit)
        344     after runtime.exitsyscall (nosplit) uses 120
        336     on entry to runtime.exitsyscallfast (nosplit)
        176     after runtime.exitsyscallfast (nosplit) uses 160
        168     on entry to runtime.writebarrierptr (nosplit)
        120     after runtime.writebarrierptr (nosplit) uses 48
        112     on entry to runtime.cgoCheckWriteBarrier (nosplit)
        48      after runtime.cgoCheckWriteBarrier (nosplit) uses 64
        40      on entry to runtime.cgoIsGoPointer (nosplit)
        -8      after runtime.cgoIsGoPointer (nosplit) uses 48
syscall.Syscall12: nosplit stack overflow
        584     assumed on entry to syscall.Syscall12 (nosplit)
        528     after syscall.Syscall12 (nosplit) uses 56
        520     on entry to runtime.cgocall (nosplit)
        472     after runtime.cgocall (nosplit) uses 48
        464     on entry to runtime.exitsyscall (nosplit)
        344     after runtime.exitsyscall (nosplit) uses 120
        336     on entry to runtime.exitsyscallfast (nosplit)
        176     after runtime.exitsyscallfast (nosplit) uses 160
        168     on entry to runtime.writebarrierptr (nosplit)
        120     after runtime.writebarrierptr (nosplit) uses 48
        112     on entry to runtime.cgoCheckWriteBarrier (nosplit)
        48      after runtime.cgoCheckWriteBarrier (nosplit) uses 64
        40      on entry to runtime.cgoIsGoPointer (nosplit)
        -8      after runtime.cgoIsGoPointer (nosplit) uses 48
syscall.Syscall15: nosplit stack overflow
        584     assumed on entry to syscall.Syscall15 (nosplit)
        528     after syscall.Syscall15 (nosplit) uses 56
        520     on entry to runtime.cgocall (nosplit)
        472     after runtime.cgocall (nosplit) uses 48
        464     on entry to runtime.exitsyscall (nosplit)
        344     after runtime.exitsyscall (nosplit) uses 120
        336     on entry to runtime.exitsyscallfast (nosplit)
        176     after runtime.exitsyscallfast (nosplit) uses 160
        168     on entry to runtime.writebarrierptr (nosplit)
        120     after runtime.writebarrierptr (nosplit) uses 48
        112     on entry to runtime.cgoCheckWriteBarrier (nosplit)
        48      after runtime.cgoCheckWriteBarrier (nosplit) uses 64
        40      on entry to runtime.cgoIsGoPointer (nosplit)
        -8      after runtime.cgoIsGoPointer (nosplit) uses 48
runtime.cgocallback_gofunc: nosplit stack overflow
        584     assumed on entry to runtime.cgocallback_gofunc (nosplit)
        576     after runtime.cgocallback_gofunc (nosplit) uses 8
        568     on entry to runtime.cgocallbackg (nosplit)
        480     after runtime.cgocallbackg (nosplit) uses 88
        472     on entry to runtime.exitsyscall (nosplit)
        352     after runtime.exitsyscall (nosplit) uses 120
        344     on entry to runtime.exitsyscallfast (nosplit)
        184     after runtime.exitsyscallfast (nosplit) uses 160
        176     on entry to runtime.writebarrierptr (nosplit)
        128     after runtime.writebarrierptr (nosplit) uses 48
        120     on entry to runtime.cgoCheckWriteBarrier (nosplit)
        56      after runtime.cgoCheckWriteBarrier (nosplit) uses 64
        48      on entry to runtime.cgoIsGoPointer (nosplit)
        0       after runtime.cgoIsGoPointer (nosplit) uses 48
        -8      on entry to runtime.cgoInRange (nosplit)
E:\go\src\github.com\docker\containerd\containerd [master +1 ~5 -0 !]>

@ianlancetaylor Is there a workaround to compile with debug symbols (gcflags -N -l) on using 1.6

Note that you don't need to set -N -l to get debug symbols.  Debug symbols are always provided.  -N and -l just disable some optimizations.  Could you explain more about why you use -N -l and what debugging deficiency you're seeing without them?

Even if you want to use those flags, it ought to work to install the runtime and syscall packages using the default options, and use the flags only for other packages.

Sorry, yes, I said "with debug symbols", but I actually meant "without optimizations". Obviously apart from the failing to compile with the above error, what I see is that when attempting to debug docker or containerd on Windows, that gdb64.exe, both directly or indirectly via LiteIDE simply doesn't trigger on breakpoints, or allow any debugging. I used to have this working, circa go 1.4.3 timeframe, maybe even 1.5.1. Note for the compile error, I might have found a workaround in https://github.com/golang/go/issues/12055
Set GOROOT_BOOTSTRAP=c:\go1.4.3
Set GO_GCFLAGS=-N
In c:\go\src make.bat

But unfortunately, still no breakpoints trigger.

That seems strange.  Breakpoints should still work.  Maybe if the breakpoint was in an inlined function or something it might not work, but I don't understand how they could be broken everywhere.
Can you give us some more instructions to reproduce?

Thanks @randall77. I'm actively trying to track this down. You're right the -N -l is a complete red herring. Apologies for derailing on that.
I've tried various versions of golang - 1.5.1, 1.5.3 and 1.6 (currently reverted back to 1.5.1). This is all on Windows.
Clone https://github.com/docker/docker to c:\go\src\github.com\docker\docker (e: drive in my case, I use a separate drive for the sources from the system drive)
From c:\go\src\github.com\docker\docker\docker, go build. This builds the 'client' binary (not the joint client and daemon binary).
In liteide, set a breakpoint (F9) on the very first line in func main(), if reexec.Init() {. Hit F5 (run) and the breakpoint triggers.

Repeat exactly the same, but this time, include the daemon code conditionally compiled in using go build -tags daemon. Same breakpoint, but it just doesn't trigger.

[Hopefully that will work, I've got some wrapper scripts which set up some autogen folders needed to compile, and a few utilities such as rsrc installed, so they may be needed. I'd need to sort out instructions for those probably.]

@randall77 Breakpoints haven't worked reliably since go1.2.3 when Ian specifically repaired them from 1.2.2. This has long been pretty trivial to reproduce by firing up gdb and setting some breakpoints, half of them generally will be missed.

(Moreover because gdb lies to you about variable values as well, c.f. https://github.com/golang/go/issues/6913, I've just gone completely over to printf debugging these days.)

@jhowardmsft I tried following your build instructions, but no luck:
c:\>git clone https://github.com/docker/docker c:\go\src\github.com\docker\docker
Cloning into 'c:\go\src\github.com\docker\docker'...
remote: Counting objects: 139081, done.
remote: Compressing objects: 100% (19/19), done.
remote: Total 139081 (delta 10), reused 3 (delta 3), pack-reused 139059
Receiving objects: 100% (139081/139081), 80.66 MiB | 311.00 KiB/s, done.
Resolving deltas: 100% (92826/92826), done.
Checking connectivity... done.

c:\>cd c:\go\src\github.com\docker\docker\docker

c:\go\src\github.com\docker\docker\docker>go build
common.go:8:2: cannot find package "github.com/Sirupsen/logrus" in any of:
        c:\users\alex\dev\go\src\github.com\Sirupsen\logrus (from $GOROOT)
        ($GOPATH not set)
docker.go:8:2: cannot find package "github.com/docker/docker/api/client" in any of:
        c:\users\alex\dev\go\src\github.com\docker\docker\api\client (from $GOROOT)
        ($GOPATH not set)
docker_windows.go:4:2: cannot find package "github.com/docker/docker/autogen/winresources" in any of:
        c:\users\alex\dev\go\src\github.com\docker\docker\autogen\winresources (from $GOROOT)
        ($GOPATH not set)
client.go:6:2: cannot find package "github.com/docker/docker/cli" in any of:
        c:\users\alex\dev\go\src\github.com\docker\docker\cli (from $GOROOT)
        ($GOPATH not set)
client.go:7:2: cannot find package "github.com/docker/docker/cliconfig" in any of:
        c:\users\alex\dev\go\src\github.com\docker\docker\cliconfig (from $GOROOT)
        ($GOPATH not set)
docker.go:10:2: cannot find package "github.com/docker/docker/dockerversion" in any of:
        c:\users\alex\dev\go\src\github.com\docker\docker\dockerversion (from $GOROOT)
        ($GOPATH not set)
common.go:11:2: cannot find package "github.com/docker/docker/opts" in any of:
        c:\users\alex\dev\go\src\github.com\docker\docker\opts (from $GOROOT)
        ($GOPATH not set)
client.go:8:2: cannot find package "github.com/docker/docker/pkg/mflag" in any of:
        c:\users\alex\dev\go\src\github.com\docker\docker\pkg\mflag (from $GOROOT)
        ($GOPATH not set)
docker.go:12:2: cannot find package "github.com/docker/docker/pkg/reexec" in any of:
        c:\users\alex\dev\go\src\github.com\docker\docker\pkg\reexec (from $GOROOT)
        ($GOPATH not set)
docker.go:13:2: cannot find package "github.com/docker/docker/pkg/term" in any of:
        c:\users\alex\dev\go\src\github.com\docker\docker\pkg\term (from $GOROOT)
        ($GOPATH not set)
client.go:9:2: cannot find package "github.com/docker/docker/utils" in any of:
        c:\users\alex\dev\go\src\github.com\docker\docker\utils (from $GOROOT)
        ($GOPATH not set)
common.go:13:2: cannot find package "github.com/docker/go-connections/tlsconfig" in any of:
        c:\users\alex\dev\go\src\github.com\docker\go-connections\tlsconfig (from $GOROOT)
        ($GOPATH not set)

c:\go\src\github.com\docker\docker\docker>

What am I doing wrong? Thank you.
Alex

Hi Alex - thanks for trying. The first issue here seems to be your GOPATH. It should be set to c:\go\src\github.com\docker\docker\vendor;c:\go. But I suspect then you'll hit either an 'autogen' or 'rsrc' issue. Probably autogen. Can you set your GOPATH as above and it should hopefully be fairly straightforward to get to the next step. But it will need you to run a bash script to generate the autogen folder and contents, so will require GitHub for Windows (2.7.x) installed with sh in your path.
From c:\go\src\github.com\docker\docker (only two dockers), run this script:
#!/usr/bin/env bash
set -e
VERSION=$(< ./VERSION)
if command -v git &> /dev/null && git rev-parse &> /dev/null; then
        GITCOMMIT=$(git rev-parse --short HEAD)
        if [ -n "$(git status --porcelain --untracked-files=no)" ]; then
                GITCOMMIT="$GITCOMMIT-dirty"
        fi
        BUILDTIME=$(date -u)
elif [ "$DOCKER_GITCOMMIT" ]; then
        GITCOMMIT="$DOCKER_GITCOMMIT"
fi
source hack/make/.go-autogen

Hopefully then the go build -tags daemon should get further when run from the GitHub.com\docker\docker\docker directory.
Sorry the instructions for building docker on Windows are so complex :(
Thanks,
John.

I should have added, another way to build is from c:\go\src\github.com\docker\docker, run sh hack/make.sh binary. That will build docker.exe into bundles\1.11.0-dev\docker.exe. And won't need the autogen part. But will need rsrc installed by the equivalent of these lines from Dockerfile.windows: https://github.com/docker/docker/blob/master/Dockerfile.windows#L94-96

Got little further, but still no cigar:
c:\go\src\github.com\docker\docker>sh c:\go\autogen.sh
hack/make/.go-autogen: line 53: rsrc: command not found

c:\go\src\github.com\docker\docker>

Alex

Hi Alex - that's that last piece above. Go install -v github.com/akavel/rsrc to build rsrc.exe. That then needs to be in your path.
Thanks
John

@jhowardmsft I can build the exe now, thank you. I can reproduce your problem with gdb.  It has dwarf info and all.
But go build -tags daemon imports some packages that use cgo (I can see github.com/mattn/go-sqlite3, but there might be others), therefore final executable has some cgo code in it.
We used to link all windows executables ourselves, but we had many unresolved issues with cgo. So starting from go1.5 we started to use external linker (gcc) to build cgo binaries. We have made everything work except dwarf generation (see #10776).
You can still use internal linker as in go1.4, but it is not default now. So you would have to say explicitly:
go build -v -tags daemon -ldflags "-linkmode=internal"

but, like I said before, there are some know issue with our internal linker.
I hope it helps.
Alex
PS: @glycerine sorry for hijacking your issue.

@alexbrainman Thank you so much for your help! Yes, I can confirm add ldflags makes it debuggable again which is good enough for my purposes. @glycerine Ditto to what Alex said - apologies for the hijack.

Issue doesn't seem related to cross compiling (I'm able to repro it natively on linux/amd64), or specific to linux/amd64 (I'm able to repro it cross-building for darwin/amd64 and darwin/386 too).

@mdempsky, I was just thinking if something was corrupting memory or the runtime's state was getting whack, all sorts of weird crashes become possible.

The problem here is that go tool dist statically determines the stack guard multiplier and stores it in src/runtime/internal/sys/zversion.go when you run make.bash. If GO_GCFLAGS contains -N when running make.bash, dist sets the multiplier to 2 so we can deal with larger nosplit stacks. But if you run make.bash normally and then try to re-build the runtime with -N (which is exactly what go test does), we get the default multiplier (1) and lots of nosplit stacks overflow.
I'm not sure what the right answer is here, but this seems more like a cmd/go problem to me than a runtime problem. Possibly go test shouldn't be rebuilding the runtime package, given that the runtime tests are actually in package runtime_test, not package runtime.

In general, go test must rebuild the package P even if
all the tests are in package P_test because it's possible
to extend or even significantly alter the package P with
test only package P source files (think. export_test.go).
Perhaps the correct solution is to make cmd/go override
const StackGuardMultiplier in runtime/internal/sys when
it's rebuilding runtime/internal/sys with -N -l (i.e. we can
make the const always generated by the build program
[either cmd/dist or cmd/go] at build time.) And arguably
that's what is the intended meaning of the constant.
Alternatively, I'm also wondering if we could introduce
a no_optimize build tag for this. But I can't think of any
other use of it.

Add -a to the command line and I think it will be OK. Not critical enough for Go 1.8.

In general, go test must rebuild the package P even if all the tests are in package P_test because it's possible to extend or even significantly alter the package P with test only package P source files (think. export_test.go).

Yes, you're right. I'd forgotten that the runtime does this.
Since -N is really a compiler flag, perhaps cmd/compile should be the thing that exposes the correct StackGuardMultiplier to the runtime. It could do that through a build tag, as you suggested, or by just injecting the symbol into runtime/internal/sys sort of like an intrinsic.
There's also the question of what should happen if you mix packages compiled with and without -N and whether -N should be part of the build signature. I think it's safe to mix packages as long as there are no "go:nosplit" functions in the user packages (auto-nosplit should be fine, since their bound is small and fixed) and user code can't directly call nosplit runtime functions with large frames (which I think is true). That's a lot of "if"s, and it's also strange that the same build command can result in different binaries depending on which packages are clean. To me, this indicates -N should be part of the build signature. I'm not sure if we do that for other flags.

It turns out this was fixed in 1.9. I believe f8b0231639 fixed it by ignoring -N when building the runtime.


feat: fetch dhcp leases from network-manager via dbus

I am not sure how to test this out since, currently, we have the lease file not managed by the network manager
so the agent-6 errors out that sztp_url don't exist,
I need to make the DHCP client connect to the DHCP server via network manager
I'm not sure how to do this.
Thoughts?
closes https://github.com/opiproject/sztp/issues/418

Please update https://github.com/opiproject/sztp/blob/main/scripts/run_agent.sh

so the bootstrapURL in  agent will now be a array of strings right?
type Agent struct {
	BootstrapURL  []string
        ...
}

so the bootstrapURL in agent will now be a array of strings right?
type Agent struct {
	BootstrapURL  []string
        ...
}

yep, and then run/daemon will loop of this array

I ran this and this is what I get
root@bf2:~/sztp# docker run --rm -it --privileged --network=host --mount type=bind,source=/var/run/dbus,target=/var/run/dbus,readonly  --mount type=bind,source=/mnt,target=/mnt --mount type=bind,source=/etc/ssh,target=/etc/ssh,readonly  --mount type=bind,source=/etc/os-release,target=/etc/os-release dbus /opi-sztp-agent daemon --bootstrap-trust-anchor-cert /mnt/opi.pem --device-end-entity-cert /mnt/nvidia_my_cert.pem --device-private-key /mnt/nvidia_private_key.pem --serial-number nvidia-serial-number
both '--bootstrap-url' and '--dhcp-lease-file' were not provided, trying to get the bootstrap URL via NetworkManager
2024/07/03 19:10:21 [INFO] Using user provides serial number: nvidia-serial-number
2024/07/03 19:10:21 lmao
2024/07/03 19:10:21 [INFO] Get the Bootstrap URL from DHCP client
2024/07/03 19:10:21 [Error] File  does not exist
2024/07/03 19:10:21 [INFO] Trying to get the URL from NetworkManager
2024/07/03 19:10:21 [INFO] sztp_redirect_url found:  []
2024/07/03 19:10:21 [INFO] failed to get Options property in DHCP4Config  / :  Object does not exist at path “/”
2024/07/03 19:10:21 [INFO] failed to get Options property in DHCP4Config  / :  Object does not exist at path “/”
2024/07/03 19:10:21 [ERROR]  sztp_redirect_urls not found in any active connection
2024/07/03 19:10:21 [ERROR]  sztp_redirect_urls not found in any active connection
2024/07/03 19:10:21 [INFO] Retrying in 5 seconds

as I said before this log is confusing, because of the logic to try leases files first, I think is wrong

2024/07/03 19:10:21 [INFO] Get the Bootstrap URL from DHCP client
2024/07/03 19:10:21 [Error] File  does not exist

especially that previous line says:
both '--bootstrap-url' and '--dhcp-lease-file' were not provided, trying to get the bootstrap URL via NetworkManager

not working

2024/07/03 19:10:21 [INFO] failed to get Options property in DHCP4Config  / :  Object does not exist at path “/”

But yea I'm not able to get the bootstrap url via the network manager dbus
Do you have an idea, am I doing anything wrong?

But yea I'm not able to get the bootstrap url via the network manager dbus
@glimchb do you have any idea, am I doing anything wrong?

if you take this code dbus.go:
package main

import (
    "fmt"
    "github.com/godbus/dbus/v5"
)

func main() {
    // Connect to the system bus
    conn, err := dbus.SystemBus()
    if err != nil {
        panic(fmt.Errorf("failed to connect to system bus: %v", err))
    }

    // Get NetworkManager object
    nm := conn.Object("org.freedesktop.NetworkManager", "/org/freedesktop/NetworkManager")

    // Get PrimaryConnection property from NetworkManager object
    var primaryConnPath dbus.ObjectPath
    err = nm.Call("org.freedesktop.DBus.Properties.Get", 0, "org.freedesktop.NetworkManager", "PrimaryConnection").Store(&primaryConnPath)
    if err != nil {
        panic(fmt.Errorf("failed to get PrimaryConnection property: %v", err))
    }

    // Get Active Connection object
    connActive := conn.Object("org.freedesktop.NetworkManager", primaryConnPath)

    // Get Dhcp4Config property from Active Connection object
    var dhcpPath dbus.ObjectPath
    err = connActive.Call("org.freedesktop.DBus.Properties.Get", 0, "org.freedesktop.NetworkManager.Connection.Active", "Dhcp4Config").Store(&dhcpPath)
    if err != nil {
        panic(fmt.Errorf("failed to get Dhcp4Config property: %v", err))
    }

    // Get Options property from DHCP4Config object
    dhcp := conn.Object("org.freedesktop.NetworkManager", dhcpPath)
    var options map[string]dbus.Variant
    err = dhcp.Call("org.freedesktop.DBus.Properties.Get", 0, "org.freedesktop.NetworkManager.DHCP4Config", "Options").Store(&options)
    if err != nil {
        panic(fmt.Errorf("failed to get Options property: %v", err))
    }

    // Print sztp_redirect_urls option
    sztpRedirectURLs := options["sztp_redirect_urls"].Value().(string)
    fmt.Println(sztpRedirectURLs)
}

and run it like this:
$ cd sztp-agent
$ docker run  --rm -it -v `pwd`:/app -w /app golang:alpine go get github.com/godbus/dbus/v5
$ docker run  --rm -it --privileged -v `pwd`:/app -v /var/run/dbus:/var/run/dbus -w /app golang:alpine go run dbus.go
go: downloading github.com/godbus/dbus/v5 v5.1.0
https://bootstrap:8080/restconf/operations/ietf-sztp-bootstrap-server:get-bootstrapping-data

it works...
so I suggest to start like this with this simple approach... and then the difference is loop over all active connections... vs single connection... try to see if you can start with working example and add tiny bits and see when it breaks..
don;t work with sztp code base, just create a small standalone dbus.go file and run it individually...

@bhoopesh369 can we split into 2 PRs?

one is just refactoring of get leases file functions into pkg folder ?
second is adding dbus ?

it will be easier for me to review and merge first PR asap... and then we can work on second one together...

@bhoopesh369 please check #438 .
I added proper logic imho to the discovery function.
I think the confusion before was due to mis-use of user given URL vs internal state of the agent...
Now I added one more string to be separate USER given URL
If missing - use DHCP discovery method...

I think when the client container starts, it runs dhclient -d -v, which sends DHCP discover messages over the opi network.
I think the connection is not managed by the network manager but rather by Docker’s internal networking.
Am I wrong here ? Wdyt

@bhoopesh369 can we split into 2 PRs?

one is just refactoring of getBootstrapURLsViaLeaseFile() function into dhcp folder ?
second is adding dbus ?

it will be easier for me to review and merge first PR asap... and then we can work on second one together...

Yea works ig

Am I wrong here ? Wdyt @glimchb

you are talking about CI
I'm talking about real hardware I tested this on... unrelated to CI and docker network - we will fix it separately

Yep, I get that
But like I have my environment set up in docker. Is there like a readme file for me to set this up in local?

Yep, I get that
But like I have my environment set up in docker. Is there like a readme file for me to set this up in local?

sure, https://github.com/opiproject/sztp/blob/main/scripts/run_agent.sh

Yep, I get that
But like I have my environment set up in docker. Is there like a readme file for me to set this up in local?

sure, https://github.com/opiproject/sztp/blob/main/scripts/run_agent.sh

I tried setting up the DHCP server and client in local in the host network
but nmcli doesnt show the options eventhough i have set the DHCP config file properly
is there any script or something to run them in local? (

Yep, I get that
But like I have my environment set up in docker. Is there like a readme file for me to set this up in local?

sure, https://github.com/opiproject/sztp/blob/main/scripts/run_agent.sh

I tried setting up the DHCP server and client in local in the host network but nmcli doesnt show the options eventhough i have set the DHCP config file properly is there any script or something to run them in local? (

@glimchb I had messaged you in slack 2 days before but didn't receive any response

@glimchb I had messaged you in slack 2 days before but didn't receive any response

i'm traveling, will read soon


[Grafana] Istio two bundled boards not loading

Description
Two of the Grafana dashboards that come bundled with the Grafana add-on, there are two that fail to load while the rest load and show metrics. The two that fail are: “Istio Service Dashboard” and “Istio Workload Dashboard”.
Expected Behavior
Boards and metrics should load and display.
Screenshots/Logs
https://user-images.githubusercontent.com/7570704/108917096-d8850b80-75f4-11eb-842a-ae2d285cec11.mov
Environment:

Meshery Version: v0.5.0-rc-3

@leecalcote I dont see any bug here. Could you confirm this again.
https://user-images.githubusercontent.com/44473939/109419168-297c7180-79f2-11eb-8bf7-296c034ff14b.mp4


[Metadata] Unpoison memory being returned from the metadata allocator

Call __asan_unpoison_memory_region() rather than __asan_poison_memory_region().  Otherwise ASAN reports an error on the first use of the memory.

@swift-ci please smoke test

Yeah, the memory was just allocated and should be unpoisoned before returning to permit use.  This looks right, thanks.


BadCommand when sending 2 commands

Describe the bug
sending single command (e.g "\x80\x00\x03") works fine (right output is set to right logic state) though sending multiple commands (e.g. "\x80\x00\x03\x80\x03\x03") results in "BadCommand" ("\xfa") response
To Reproduce
Steps to reproduce the behaviour:

open connection to FT4232H in MPSSE mode
write a sequence of 2 commands "Set Data bits LowByte (\x80)"
read content of input buffer
whole initialization can be found at: ftdi_test.py.txt
with results as below. Sending 2 commands in a sequence looks like is actually executing the first command (correct inputs are being set to proper logic state) and the other command triggers "Bad command":

Expected behaviour
commands are send and executed sequentially, afterwards read of input buffer returns no elements
Desktop (please complete the following information):

OS: Win10 64bit
python 3.9.6
ftd2xx.dll from "CDM v<IP_ADDRESS> WHQL Certified"
ftd2xx python library 1.1.2

Additional context
I know that my hardware setup is capable of receiving long command sequences because i was able to successfully perform I2c operations using same HW but on ubuntu with pyFtdi library. However I must run it on Win10_64 with ftd2xx.dll. At first glance it looks like dll problem and I will be also contacting FTDI about it though maybe one of you had similar problem. Please advise

In the mean time, I would suggest using a try/except where the bad command is handled by purge of the buffers and retrying the write.
I can't say that I have found an issue with the ftdi driver... However, that could explain some quirks that I had wrote off as bugs in the device firmware (and handled in the way mentioned above).

@forestomir  I have no insight into why it's not working with FTDI driver and works with PyFtdi. Couple of things to try:

May be try a different baud rate? If the hardware is marginal, may be some timings are off?
You can use PyFtdi on Windows apparently.

hello, I think I got to the bottom of the issue :) but from begining.
regarding PyFtdi. I tried to set it up on windows but the bottom line is that this project does not formally support Windows. Suggested workarounds are possible but are too complicated in my case since i need to run the final app on other users PCs with the least "developer tweaks". So I need to use ftd2xx.dll from official FTDI...
I played a little more with sending commands to ftdi. I focused on I2C applications using BDBUS0(TCK) as I2C clock, and BDBUS1(TDI) as I2C data output, BDBUS2(TDO) as I2C data input. As an experiment I tried to clock out any data so I send 0xAA with command:
ftdiHandle.write('\x11\x00\x00\xAA')
as result I got no BadCommand and on osciloscope I got 8 clock cycles but no data appeared (data line constantly Low). Then I send more data with
ftdiHandle.write('\x11\x01\x00\xAA\xAA')
as a result I got no BadCommand and on oscilloscope I got 10*8 clock cycles and some random data on SDA line (0x00 0x01 0x00 0x07 0xF8 0x00 0x3F 0x40 0x00)!!! So the data do appear bit with strange amount and value
so I tried different approach to sending commands:
ftdiHandle.write(chr(0x11))
ftdiHandle.write(chr(0x01))
ftdiHandle.write(chr(0x00))
ftdiHandle.write(chr(0xAA))
ftdiHandle.write(chr(0xAA))
and it works! On oscilloscope I see 2*8 clock cycles and data line contains two 0xAA
It looks like the problem is with sending string of '\x11\x00\x00\xAA' to ftd2xx.dll. This data (apparently) are not being seen by dll as array of 4 bytes but rather as a memory space that might have been padded by Windows with random data. This might be related with function "write" at ftd2xx.py that converts the string to be passed to dll by reference
def write(self, data):
...."""Send the data to the device. Data must be a string representing the
....bytes to be sent"""
....w = _ft.DWORD()
....call_ft(_ft.FT_Write, self.handle, data, len(data), c.byref(w))
....return w.value
This is just suggestion, I am not an expert on that. Anyway, for me I will just send bytes one by one and that will work for me. Hope this helps to contribute to the project

@forestomir Thanks for digging into this. I think write expects a bytes object and not a string. I think I might add some type annotations there to make it clear. Please try  ftdiHandle.write(b'\x11\x01\x00\xAA\xAA')

@forestomir Thanks for digging into this. I think write expects a bytes object and not a string. I think I might add some type annotations there to make it clear. Please try  ftdiHandle.write(b'\x11\x01\x00\xAA\xAA')

Beat me to it. Yes, python 3 strings won't work correctly.


kubearmor/kubearmor-relay stopping abruptly

Bug Report
It is found that the logs/telemetry from kubearmor-relay are abruptly stopped once in while.
The root-cause of the problem is not known yet.
Following are the observations (attached below is a screenshot):

Observed failure to send a log in kubearmor GRPC server
Observed in one case that the NodeIP (of kubearmor node/pod) is empty on kubearmor-relay
WatchLogs() no more working but WatchAlerts() keeps working fine.

General Information

Environment description (GKE, VM-Kubeadm, vagrant-dev-env, minikube, microk8s, ...)
GKE-COS

Kernel version (run uname -a)
NA

Orchestration system version in use (e.g. kubectl version, ...)
k8s 1.22

To Reproduce
We do not have exact steps to reproduce the issue. However, the issue springs up when karmor log is started-stopped while connecting to kubearmor-relay.
Expected behavior
It is expected that log/telemetry keeps working regardless of failures on karmor, kubearmor-relay or kubearmor itself.
Screenshots

Another instantiation of the same problem (reproduced in the same env):

CC: @nam-jaehyun


adding failoverDelay cluster parameter to wait for a given number of seconds before triggering a failover

This PR adds a feature to add a delay before triggering a failover. It introduces a new failoverDelay parameter to the Cluster spec.
The approach is to check for the delay when running updateTargetPrimaryFromPods in the cluster reconciler and to continue reconcilation loop as usual if the primary is unhealthy but failoverDelay has not passed. To check failover delay I added a currentPrimaryFailingSince property on the cluster status, this property holds a timestamp of the first time the primary was considered unhealthy. As soon as the current primary is considered healthy again in a reconciliation loop, this timestamp is unset.
I'm not entirely sure of all the impacts it could have of continuing reconciliation loop if primary is unhealthy but from the different manual tests I've done it seems fine. I've added some basic unit tests to confirm the behaviour and confirm this is not a breaking change.
#507

@francoispqt there's some test that aren't passing, can you please fix so we can run the E2E test?

I've squashed commits. All tests that are allowed to run are passing now.

Any update on this please?
Thanks :pray:

@francoispqt in the community meeting we were talking about this PR and we were wondering if you finish to work on it and if you will agree on joining in the next community meeting to talk about it?

@sxd I'd be happy to talk about it during the nex community meeting, where can I find the schedule for these meetings?
I will add a e2e test to make the PR complete. I'd like your point of view on one thing. Should we requeue after the time left on the failover delay if we don't requeue after a certain time during a loop that sets the CurrentPrimaryFailingSince? Doing it would be to make sure a reconcilation loop would triggers when the delay passes to effectively start a failover.

@francoispqt You can find the schedule here: https://github.com/cloudnative-pg/cloudnative-pg/blob/main/CONTRIBUTING.md#meetings I may not be there for that meeting (I'll try) but I'm pretty sure that @leonardoce and @phisco will want to hear from you.
And yes, we should requeue to make sure the trigger will happen after the delay has finished

@francoispqt any news?

work will continue on #1366 (easier to run tests)

Closed by df820b7bd3d665ac0a9bf95fd12a653ef54fbe4f


refactor(config): call Error as constructor, not function

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
339

Relevant Lines:
339

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
339

Relevant Lines:
339

💛  - Coveralls


zero-shot推理

Describe the bug
更新了cosyvoice2.0的代码后，zero-shot推理时，模型为CosyVoice2-0.5B，推理正常，但是改成之前的CosyVoice-300M，就报如下的错误：
  File "/mnt/lustre/wangweifei/repository/tts/CosyVoice/cosyvoice/cli/cosyvoice.py", line 81, in inference_zero_shot     for model_output in self.model.tts(**model_input, stream=stream, speed=speed):   File "/mnt/lustre/wangweifei/repository/tts/CosyVoice/cosyvoice/cli/model.py", line 191, in tts     this_tts_speech = self.token2wav(token=this_tts_speech_token,   File "/mnt/lustre/wangweifei/repository/tts/CosyVoice/cosyvoice/cli/model.py", line 104, in token2wav     tts_mel, flow_cache = self.flow.inference(token=token.to(self.device),   File "/mnt/lustre/wangweifei/repository/miniconda3/envs/AudioPipeline/lib/python3.9/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context     return func(*args, **kwargs)   File "/mnt/lustre/wangweifei/repository/tts/CosyVoice/cosyvoice/flow/flow.py", line 137, in inference     feat, flow_cache = self.decoder(   File "/mnt/lustre/wangweifei/repository/miniconda3/envs/AudioPipeline/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1532, in _wrapped_call_impl     return self._call_impl(*args, **kwargs)   File "/mnt/lustre/wangweifei/repository/miniconda3/envs/AudioPipeline/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1541, in _call_impl     return forward_call(*args, **kwargs)   File "/mnt/lustre/wangweifei/repository/miniconda3/envs/AudioPipeline/lib/python3.9/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context     return func(*args, **kwargs)   File "/mnt/lustre/wangweifei/repository/tts/CosyVoice/cosyvoice/flow/flow_matching.py", line 68, in forward     return self.solve_euler(z, t_span=t_span, mu=mu, mask=mask, spks=spks, cond=cond), flow_cache   File "/mnt/lustre/wangweifei/repository/tts/CosyVoice/cosyvoice/flow/flow_matching.py", line 113, in solve_euler     dphi_dt = self.forward_estimator(   File "/mnt/lustre/wangweifei/repository/tts/CosyVoice/cosyvoice/flow/flow_matching.py", line 132, in forward_estimator     return self.estimator.forward(x, mask, mu, t, spks, cond)   File "/mnt/lustre/wangweifei/repository/tts/CosyVoice/cosyvoice/flow/decoder.py", line 253, in forward     attn_mask = add_optional_chunk_mask(x, mask_down.bool(), False, False, 0, self.static_chunk_size, -1)   File "/mnt/lustre/wangweifei/repository/miniconda3/envs/AudioPipeline/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1709, in __getattr__     raise AttributeError(f"'{type(self).__name__}' object has no attribute '{name}'") AttributeError: 'ConditionalDecoder' object has no attribute 'static_chunk_size'

+1

+1

+1

+1

大佬解决了吗

没有解决

枫秋落叶
@.***

------------------ 原始邮件 ------------------
发件人: @.>;
发送时间: 2024年12月17日(星期二) 下午3:16
收件人: @.>;
抄送: @.>; @.>;
主题: Re: [FunAudioLLM/CosyVoice] zero-shot推理 (Issue #718)
大佬解决了吗
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>


New Dashboard: Change the order of To-Dos

Motivation
In the new dashboard, the order of the the To-Do items need to be changed, from an impact perspective.
Proposed Solution
The order as decided upon in the Service-Team meeting today:

Broken links
Outdated paged
Pages with low HIX score
Unread Feedback
Pages pending approval
Automatically saved pages

@vthejay Thanks for reporting the issue! :+1:
A few small suggestions for the future:

The two topics are different from each other since the "review" wording impacts other places of the CMS as well, not only the dashboard. Thus it makes sense to open a new issue for it (I opened #2554).
Please write the issue description in English, when quoting parts of the CMS UI, then please change your UI language to "English" in the user settings.
If neither the bug nor the feature request seem appropriate, please just select the one that fits better (in this case, the improvement of an existing feature is more similar to a feature request than to a bug) and delete all parts of the issue template that are not needed for this issue (e.g. the "description of the bug", "steps to reproduce" etc.). Also, remove any labels that were automatically applied by the template if they don't fit (like the "bug" label in this case).


Today's Drop - Genera

same date/time on different drops:

dates not considering timezone, correct one for me would be 13:00

mint phase says open, even tho its not:

no testing round this time?

no testing round this time?

Lol we can do

no testing round this time?

Lol we can do

😄 let me know, when/how

I think done or solved meanwhile?

I think done or solved meanwhile?

let's see when new drop hits the drop page, let me change the issue name

Correct on Canary


init without composer

Someone who do not use composer for their project yet require cron parser to implement functionality.
can import the library by
require_once './cron-expression/src/cron_expression_init.php';

:-1:

I don't think this is necessary, but also this isn't something that I want to have to support. Maybe others will find it useful though, so thanks for sharing.


Draft: multiboot2: builder: allow to add custom tags

Allow the builder to use custom tags. The challenge here was that TagTrait is not object safe, so having Vec<dyn TagTrait> is not an option.
This closes #168.
Steps to Undraft
The builder allows to set multiple SMBios Tags but the BootInformation only allows to get one.. which one is correct?

@YtvwlD Hey, could you help me please to figure out what's right? When you added the builder originally, you added the ability to add multiple SmBios tags. However, the boot information only allows to get a single SmBios tag. Which is correct?

I didn't see any limitation to a single tag in the spec. And I thought it would make sense to provide all available SMBIOS (major) versions.
So, from the perspective of a bootloader: If I get both SMBIOS 2 and SMBIOS 3 from the firmware, I can put each of them in a tag and pass both to the operating system.

I don't have a test setup to reproduce having SMBIOS tags. For simplicity, I restrict it to one tag for now for consistency. Otherwise, I'd need something like a SMBIosTagIterator.
I create a follow-up ticket tho.


Update to cardano-node 1.35-rc2

Overview

Updates dependencies to target cardano-node 1.35-rc2
Adds support to make the wallet mostly work in Babbage
Rework of nix setup: we now derive nix files from cabal.project rather than the weird stack.yaml-based approach we had before.

Detailed todo-list

[x] Get nix happy with the new dependencies
[x] Make cabal build all work with modulo warnings
[x] Update to more recent revisions

[x] Fix compilation in tests again

[x] Make cabal build all work with no warnings

[x] Fix puzzling persistent TH name shadowing warnings -> fixed by sam?

[x] Ensure existing tests pass

[x] unit
[x] Look closer at balanceTx golden unit failure after first seeing if balanceTx integration tests pass on both alonzo and Babbage
[x] Integration (on alonzo like on master)

[x] Was blocked by readTVar, fixed with https://github.com/input-output-hk/io-sim/pull/6#pullrequestreview-994757891
[x] Fix failures relating to Babbage era -> fixed with a hack https://github.com/input-output-hk/cardano-wallet/pull/3280/commits/9e2568e8058e2e4b995363805f4381ce9976108c
[x] Fix cardano-wallet-core Aeson failures

[x] More closely review code-changes
[x] Clean up git commit history

[x] Flatten merge commits
[x] Squash back-and-forth nix and revision changes
[x] Rebase off master

[ ] Ensure revisions in stack.yaml and cabal.project are updated consistently

Alternatively remove stack.yaml and ensure ./nix/regenerate.sh still works and that we know how to update sha256map.nix — #3328 but without the sha256map.nix

[x] Ensure CI is completely green: Hydra jobset, ADP-1888

There may be CI specific problems with nix, windows and more (there probably are)
[x] fix hydra wine TH error e.g. $(TH.lift =<< TH.runIO (readFile "app/foo.txt"))
- seems relevant https://github.com/input-output-hk/haskell.nix/pull/1508
- seems gone now
[x] Ambiguous module name https://hydra.iohk.io/build/15469467

https://input-output-rnd.slack.com/archives/C48HA39RS/p1654388106509579
Bumping Haskell.nix again should help?
Didn't seem like it worked...
https://input-output-rnd.slack.com/archives/CAP8NM7N0/p1654828014483969

[x] Remove-iserv problem https://hydra.iohk.io/build/15604435

Update from Hamish https://input-output-rnd.slack.com/archives/CAP8NM7N0/p1655213059547499?thread_ts=1654828014.483969&cid=CAP8NM7N0

[x] Docs shell - we don't need explicit emanote input in nix config
[x] Profiled shell:  recursionzmschemeszm5zi2zi2zi2zm6NC6xZZx2tI3826DrVhqI9v_DataziFunctorziFoldableziTH_zdfMakeBaseFunctorNamezuzdcmakeBaseFunctor_closure https://hydra.iohk.io/build/15694577/nixlog/2/tail
[x] musl cli goldens https://hydra.iohk.io/build/15694618/nixlog/82
[x] `hie-bios: hie-bios: this operation requires -fexternal-interpreter
[x] Ambiguous module name 'Options.Applicative': in HLS - now we at least have an ugly -XPackageImport workaround.

[x] Update node revision in readme.md

Things we need eventually, but not strictly for this PR

Update to final 1.35 tag once it is released - can be done in separate PR
Run existing integration tests on both Alonzo and Babbage eras in CI
Depend on cardano-addresses with aeson2 support merged, tagged and released
Depend on a cardano-sl-x509 where aeson 2 support is merged to master
Consider appropriateness Tx deserialisation hack https://github.com/input-output-hk/cardano-wallet/pull/3280/commits/9e2568e8058e2e4b995363805f4381ce9976108c

Moved to jira tasks in https://input-output.atlassian.net/browse/ADP-1538
Comments
Includes #3258, #3293

Issue Number
ADP-1744

I think it would be good to have #3328 or something similar before merging. @sevanspowell could you have a look? Any objections / thoughts?

I think it would be good to have https://github.com/input-output-hk/cardano-wallet/pull/3328 or something similar before merging for the sake of removing stack.yaml and having an easy way of updating the sha256 hashes — @sevanspowell objections, thoughts or do you see another way?

No objection! Nice work :partying_face: I've merged #3328.

bors r+

bors r+

bors r+


Chapter 32 objects analog to mathlib

A bunch of def / lemmata regarding directed_simple_graphs (support neighbors darts) added.
A bunch of def / lemmata regarding directed_simple_graphs.directed_walk added.
Trying to move to "trail" and "path".
Very analogous to mathlib.

Unfortunately, I did not not manage to get rid of the previous commits.

Great, I will merge it now and make some corrections/additions later


[Bug] When I open discord it doesnt works it infinitely loading in the bottom right

Describe the Bug

To Reproduce

Expected Behavior

Screenshots

Discord Version

Additional Context

there are issues with BD at the current moment,
I would suggest to try reinstalling. If not you're just gonna have to wait until an update is pushed.
Ref #600

Try to install BetterDiscord using this new beta installer: https://github.com/BetterDiscord/Installer

had the problem with the beta as well on ptb

Remove your plugins and try again

Remove your plugins and try again

just installed it for the first time, no plugins

Can you ensure these folders exist:
~/Library/Application Support/BetterDiscord
~/Library/Application Support/BetterDiscord/data
~/Library/Application Support/BetterDiscord/data/plugins
~/Library/Application Support/BetterDiscord/themes
And can you check console for errors?

~/Library/Application Support/BetterDiscord does exist, but is lowercase (betterdiscord), and data/plugins does not exist

Your terminal shows you are actually in the data folder

Your terminal shows you are actually in the data folder

the betterdiscord/plugins folder does exist though, if thats what you meant
as for errors in the console

I think I misunderstood your comment here:

and data/plugins does not exist

The path should be ~/Library/Application Support/BetterDiscord/plugins not ~/Library/Application Support/BetterDiscord/data/plugins as I said in https://github.com/rauenzi/BetterDiscordApp/issues/609#issuecomment-811511348

Are you injecting anything else into Discord? I see an error in your screenshot for inject.js which does not exist in BD. It also is attempting to use sessionStorage which BD does not use. It seems something is interfering with BD's attempt to remove the CSP.

I had attempted to install the old version of betterdiscord, with lots of errors (in case that could affect it). I'm not injecting anything else myself, but my school district injects a script to delete all aspects of the site if they want to block it (in this case, the site is blocked during the school day)

Then it seems your school's script is breaking things. I would suggest using a personal computer.

That isn't really an option for me, is there any other way?

this happened as well

this happened as well

This is unrelated to BD and is actually expected. They are warnings, not errors.

this happened as well

This is unrelated to BD and is actually expected. They are warnings, not errors.

i see. do you know if there is any way to get it working without using another computer?

An update on this:
I used powercord for a little while so I knew that it was possible to use client mods on my device. After some more research, it was rather the proxy that caused issues. Since I knew that powercord's solution for CSP worked, I took the source code for that and put it into BD, which enabled it to finish loading. However, this wasn't a complete fix. A bunch of requests are failing for some reason, but all of the ones that were broken with the old code are working now.  Many BD aspects, such as emojis, public servers, and updates do not load as well. Also, DevTools does not open, no matter what I try, and the window is buggy sometimes (won't close when I click the button to close the window, etc.).


Enhancement: Types

The project looks neat. Have you considered adding types and turning this into a Typescript project instead?

no, it's a cloudflare worker. typescript would just increase the difficulty of using it.


fix(coverage): Trying to fix the code coverage checking

It's maybe just configuration

Current coverage is 95.83% (diff: 100%)

Merging #50 into develop will not change coverage

@@            develop        #50   diff @@
==========================================
  Files             4          4
  Lines            96         96
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits             92         92
  Misses            4          4
  Partials          0          0

Powered by Codecov. Last update fb18b43...9b49bbb


About cuda

Hi!
When I run train.py, it occured:
Traceback (most recent call last):
File "train.py", line 148, in
fakes, _ = G(reals, target_labels)
File "/home/rain/software/anaconda3/lib/python3.6/site-packages/torch/nn/modules/module.py", line 489, in call
result = self.forward(*input, **kwargs)
File "/home/rain/nlp/etrump/txt2img/SAGAN_celeba/sagan.py", line 95, in forward
y = self.AMN(x, a)
File "/home/rain/software/anaconda3/lib/python3.6/site-packages/torch/nn/modules/module.py", line 489, in call
result = self.forward(*input, **kwargs)
File "/home/rain/nlp/etrump/txt2img/SAGAN_celeba/sagan.py", line 83, in forward
x = torch.cat((x, a), dim=1)
RuntimeError: Expected object of backend CUDA but got backend CPU for sequence element 1 in sequence argument at position #1 'tensors'
Can you help me with it?
Thank you so much!

Hi @Decalogue,
The error occurred in labels.to(device).type_as(reals). The tensors were moved to the GPU but they were moved back to the CPU as the type changed afterward. It is supposed to be labels.type_as(reals).to(device).
The scripts were updated in 3d7ac558ac00bd790fa03f205a173566ca89060c. You're able to get it updated by git pull.
Sorry for my late reply and thank you for reporting this! Please let me know if you have other questions.

Thank you so much!


Publish to terraform registry

Publishing the repo to terraform registry will ease its consumption with terraform 0.13+ by automatically terraform init.
It seems the current binaries are not yet signed using a PGP key in
https://github.com/orange-cloudfoundry/credhub_exporter/blob/004469d1df31975c289fb2e796042c907efad5f9/.github/workflows/main.yml#L53-L61
Hashicorp documents an associated github workflow at https://github.com/hashicorp/terraform-provider-scaffolding/blob/039701380520da13917a1163c87d3848c4b609fd/.github/workflows/release.yml#L33-L49
Additional steps seem documented at https://www.terraform.io/docs/registry/providers/publishing.html#publishing-to-the-registry

sorry for the noise, this is a duplicate of https://github.com/orange-cloudfoundry/terraform-provider-credhub/issues/11


App needs to be multi-threaded, locking the UI thread due to background operations is unprofessional

The ReddCoin Core wallet displays 'Not Responding' far too often in Windows.
The app should be refactored to move slow operations into a separate runspace, lagging the UI like this will reduce user trust.

Wait for the Bitcoin 0.15 based version - Reddcoin Fast :)

@1RedOne point noted
Working to bring the pertinent upstream components to improve the user experience
Closing issue


Build breaks when a Pebblekit file is added to a Rocky.js project

In a Rocky.js project on on beta.cloudpebble.net, adding a Pebblekit JS file to the project breaks the build.
Steps to reproduce:

Create a new Rocky project on cloudpebble (beta)
Create a watch-side rocky file, put a comment in it and save
Build - it succeeds
Create a phone-side pebblekit, put a comment in it and save
Build - fails

What should happen:

Build succeeds

What happens:

Build fails

Log:
Setting top to                           : /tmp/tmpk9_QTS
Setting out to                           : /tmp/tmpk9_QTS/build
Checking for program node,nodejs         : /app/.heroku/node/bin/node
Found Pebble SDK for diorite in:         : /app/sdk3/pebble/diorite
Checking for program gcc,cc              : arm-none-eabi-gcc
Checking for program ar                  : arm-none-eabi-ar
Found Pebble SDK for chalk in:           : /app/sdk3/pebble/chalk
Checking for program gcc,cc              : arm-none-eabi-gcc
Checking for program ar                  : arm-none-eabi-ar
Found Pebble SDK for basalt in:          : /app/sdk3/pebble/basalt
Checking for program gcc,cc              : arm-none-eabi-gcc
Checking for program ar                  : arm-none-eabi-ar
'configure' finished successfully (0.102s)
Waf: Entering directory `/tmp/tmpk9_QTS/build'
[ 3/59] message_key_header:  -> build/include/message_keys.auto.h
[ 2/59] message_key_definitions:  -> build/src/message_keys.auto.c
[ 3/59] message_key_json:  -> build/js/message_keys.json
[ 6/59] diorite | appinfo.auto.c:  -> build/diorite/appinfo.auto.c
[ 6/59] diorite | subst: ../../app/sdk3/pebble/common/pebble_app.ld.template -> build/diorite/pebble_app.ld.auto
[ 6/59] diorite | appinfo.json:  -> build/appinfo.json
[ 7/59] diorite | rocky.c: ../../app/sdk3/pebble/common/include/rocky.c -> build/diorite/src/rocky.c
[ 9/59] diorite | lint_js: src/rocky/index.js
[ 9/59] diorite | c: build/src/message_keys.auto.c -> build/src/message_keys.auto.c.8.o
[10/59] diorite | merge_js: src/rocky/index.js ../../app/sdk3/pebble/common/include/rocky.js -> build/resources/rocky-app.js
[11/59] diorite | reso: build/resources/rocky-app.js -> build/diorite/resources/rocky-app.js.JS_SNAPSHOT.reso
[12/59] diorite | resource_ball: build/diorite/resources/rocky-app.js.JS_SNAPSHOT.reso -> build/diorite/system_resources.resball
[13/59] diorite | generate_resource_id_header: build/diorite/system_resources.resball -> build/diorite/src/resource_ids.auto.h
[15/59] diorite | generate_pbpack: build/diorite/system_resources.resball -> build/diorite/app_resources.pbpack
[15/59] diorite | generate_resource_id_definitions: build/diorite/system_resources.resball -> build/diorite/src/resource_ids.auto.c
[16/59] diorite | c: build/diorite/src/rocky.c -> build/diorite/src/rocky.c.8.o
[18/59] diorite | c: build/diorite/appinfo.auto.c -> build/diorite/appinfo.auto.c.8.o
[18/59] diorite | c: build/diorite/src/resource_ids.auto.c -> build/diorite/src/resource_ids.auto.c.8.o
[19/59] diorite | cprogram: build/diorite/src/rocky.c.8.o build/diorite/appinfo.auto.c.8.o build/diorite/src/resource_ids.auto.c.8.o build/src/message_keys.auto.c.8.o -> build/diorite/pebble-app.elf

========== Lint Results: index.js ==========

Everything looks AWESOME!

[22/59] chalk | subst: ../../app/sdk3/pebble/common/pebble_app.ld.template -> build/chalk/pebble_app.ld.auto
[23/59] chalk | appinfo.auto.c:  -> build/chalk/appinfo.auto.c
[23/59] chalk | rocky.c: ../../app/sdk3/pebble/common/include/rocky.c -> build/chalk/src/rocky.c
[26/59] chalk | c: build/src/message_keys.auto.c -> build/src/message_keys.auto.c.16.o
[27/59] chalk | reso: build/resources/rocky-app.js -> build/chalk/resources/rocky-app.js.JS_SNAPSHOT.reso
[28/59] chalk | resource_ball: build/chalk/resources/rocky-app.js.JS_SNAPSHOT.reso -> build/chalk/system_resources.resball
[31/59] chalk | generate_pbpack: build/chalk/system_resources.resball -> build/chalk/app_resources.pbpack
[31/59] chalk | generate_resource_id_definitions: build/chalk/system_resources.resball -> build/chalk/src/resource_ids.auto.c
[31/59] chalk | generate_resource_id_header: build/chalk/system_resources.resball -> build/chalk/src/resource_ids.auto.h
[32/59] chalk | c: build/chalk/src/rocky.c -> build/chalk/src/rocky.c.16.o
[33/59] chalk | c: build/chalk/appinfo.auto.c -> build/chalk/appinfo.auto.c.16.o
[34/59] chalk | c: build/chalk/src/resource_ids.auto.c -> build/chalk/src/resource_ids.auto.c.16.o
[35/59] chalk | cprogram: build/chalk/src/rocky.c.16.o build/chalk/appinfo.auto.c.16.o build/chalk/src/resource_ids.auto.c.16.o build/src/message_keys.auto.c.16.o -> build/chalk/pebble-app.elf
[37/59] basalt | subst: ../../app/sdk3/pebble/common/pebble_app.ld.template -> build/basalt/pebble_app.ld.auto
[38/59] basalt | appinfo.auto.c:  -> build/basalt/appinfo.auto.c
[39/59] basalt | rocky.c: ../../app/sdk3/pebble/common/include/rocky.c -> build/basalt/src/rocky.c
[40/59] basalt | c: build/src/message_keys.auto.c -> build/src/message_keys.auto.c.24.o
[43/59] basalt | reso: build/resources/rocky-app.js -> build/basalt/resources/rocky-app.js.JS_SNAPSHOT.reso
[45/59] merge_js: src/pkjs/something.js build/js/message_keys.json ../../app/sdk3/pebble/common/include/safe.js ../../app/sdk3/pebble/common/include/message.js -> build/pebble-js-app.js
[45/59] diorite | pebble-app.raw.bin: build/diorite/pebble-app.elf -> build/diorite/pebble-app.raw.bin
[46/59] chalk | pebble-app.raw.bin: build/chalk/pebble-app.elf -> build/chalk/pebble-app.raw.bin
Waf: Leaving directory `/tmp/tmpk9_QTS/build'
Build failed
Traceback (most recent call last):
  File "/app/sdk3/pebble/.waf-1.7.11-f3ed116f7ca483b2fb7db4d89665f500/waflib/Task.py", line 123, in process
    ret=self.run()
  File "/app/sdk3/pebble/.waf-1.7.11-f3ed116f7ca483b2fb7db4d89665f500/waflib/Task.py", line 47, in run
    return m1(self)
  File "/app/sdk3/pebble/.waf-1.7.11-f3ed116f7ca483b2fb7db4d89665f500/waflib/extras/process_js.py", line 114, in run
    bld.fatal("\n\nJS entry file '{}' not found in JS source files '{}'. We expect to find ""a javascript file here that we will execute directly when your app launches.""\n\nIf you are an advanced user, you can supply the 'js_entry_file' ""parameter to 'pbl_bundle' in your wscript to change the default entry point."" Note that doing this will break CloudPebble compatibility.".format(js_entry_file,js_nodes))
  File "/app/sdk3/pebble/.waf-1.7.11-f3ed116f7ca483b2fb7db4d89665f500/waflib/Context.py", line 219, in fatal
    raise self.errors.ConfigurationError(msg,ex=ex)
ConfigurationError:

JS entry file 'src/pkjs/index.js' not found in JS source files '[/tmp/tmpk9_QTS/src/pkjs/something.js, /tmp/tmpk9_QTS/build/js/message_keys.json, /app/sdk3/pebble/common/include/safe.js, /app/sdk3/pebble/common/include/message.js]'. We expect to find a javascript file here that we will execute directly when your app launches.

If you are an advanced user, you can supply the 'js_entry_file' parameter to 'pbl_bundle' in your wscript to change the default entry point. Note that doing this will break CloudPebble compatibility.

This is caused by CloudPebble naming the file app.js, which is wrong — rename it to index.js and it'll work.
(We will, of course, fix the default.)

The filename doesn't seem to matter. I just tried in a fresh project project adding a pebblekit file called "kit.js" and it results in failed builds. Renaming it to other things doesn't help, but deleting it does.

The name must be index.js. kit.js is not index.js.

Thanks @Katharine, as you say that does fix it. I guess I had pebble.js on the brain with the app.js. Close as PEBCAC? :)


get cluster from class name

Hi,
I'm trying to implement a "create class if not exists" function in this form:
try:
cluster_id = client.command("create class {0} extends V".format(class_name))
except:
cluster_id = ????
I can't find a way to get the supported cluster list of a class, tried client.command("info class {0}".format(class_name)) and return this exception:
pyorient.exceptions.PyOrientCommandException: com.orientechnologies.orient.core.command.OCommandExecutorNotFoundException - Cannot find a command executor for the command request: sql.info class
is there a way to retrive the cluster list having a class name?
p.s: also, commands "classes" and "browse class xyz" returns the same error..

Hi @Hrabal ,
sure you can.
With db_open message you obtain an Information object
assert isinstance( client.db_open( "GratefulDeadConcerts", "admin", "admin" ), pyorient.Information )

or you can use the db_reload command to obtain the same info.
Take a look to this:
https://github.com/mogui/pyorient/blob/master/pyorient/messages/cluster.py#L243
You can access to the ID by the name
Information.get_class_position( 'className' )

or to the name from it's ID
Information.get_class_name( 11 )

Thanks @Ostico
The Information object seems gold!
I'll search in the code for some other goodies regarding db classes handling.
btw: I've made a "opening object" based on the OrientDb class, so I can use "with OpenDb() as db: du stuff"... There is already an object in pyorient with methods enter and exit?
I'm sure if there is I't better of mine :)
Grazie

Hi @Hrabal , not at the moment, if you implemented some kind of useful stuffs, send me a pull request with some test also, i will try them and hopefully i will merge :smile:

#101 should make this more easy :)
and I'm opening this #102 cause the opening object it's interesting


[Documentation] ISM Actions

Hey All,
It's come to our attention that the Index Policy Actions documentation needs to be clarified.
The ISM actions will execute synchronously even if there is a timeout specified. The timeout acts as a circuit breaker rather than a buffer period between actions as implied by the current documentation.
https://github.com/opensearch-project/index-management/blob/6141c3c6fec9fe4c0c7bf7[…]arch/indexmanagement/indexstatemanagement/ManagedIndexRunner.kt
Documentation should be upgraded to reflect this.

Fixed with #412


[4.6/master] rate-limit: increase JVM memory and enable fork mode for unit tests

Enables forkmode for surefire plugin and increases memory opts for JVM
for rate-limit tests. This tries to fix intermittent Jenkins failures
which look like:
multipleClientsCanAccessWithoutBlocking(org.apache.cloudstack.ratelimit.ApiRateLimitTest):
unable to create new native thread

@bhaisaab How can I help testing this? Also, your branch mentions 4.6 but the PR is made against master branch. Is that correct? Just checking ;-)

@remibergsma thanks, not sure why this happened again. This was supposed to be for 4.6, will recreate a new PR. I'm not sure on how to test it, it's just that Jenkins build sometimes fails (if you'd google you may see some old failures); this was mainly for 4.5 but I thought the config changes (the JAVA_OPTS and surefire config changes) might be useful for 4.6+

@remibergsma okay, I found what Github did in my case: when you select the second branch dropdown while create a PR it resets the first dropdown branch to master
Here's the 4.6 based PR https://github.com/apache/cloudstack/pull/1175


Feature Request: /ping

Added here https://github.com/0PandaDEV/Nextron/commit/ed590c9913a50e8517a8de84f5a5cd1561e5e61c


Add RootModel to pydantic?

update by @samuelcolvin: yes we should add this, but it needs to significantly rework BaseModel to use a core schema which is just the inner type. This might require some changes to pydantic-core.

Initial Checks

[X] I have searched Google & GitHub for similar requests and couldn't find anything
[X] I have read and followed the docs and still think this feature is missing

Description
__root__ Has been removed, but it is easier to use.
So, should we consider providing a convenience class (named RootModel) to pydantic to make it easier for users?
class RootModel(BaseModel):
    @root_validator(pre=True)
    def populate_root(cls, _values):
        return {"root": _values}

    @model_serializer(mode="wrap")
    def _serialize(self, _handler, _info):
        data = _handler(self)
        if _info.mode == "json":
            return data["root"]
        else:
            return data

    @classmethod
    def model_modify_json_schema(cls, json_schema):
        metadata = {"title": cls.model_config.get("title", None) or cls.__name__, "description": getdoc(cls) or None}
        metadata = {k: v for k, v in metadata.items() if v is not None}
        return {**json_schema["properties"]["root"], **metadata}

from pydantic import BaseModel, RootModel

class Sellout(BaseModel):
    a: str
    b: int

class SelloutList(RootModel):
    root: List[Sellout]

class SelloutDict(RootModel):
    root: Dict[str, Sellout]

Affected Components

[ ] Compatibility between releases
[ ] Data validation/parsing
[ ] Data serialization - .model_dump() and .model_dump_json()
[ ] JSON Schema
[ ] Dataclasses
[ ] Model Config
[ ] Field Types - adding or changing a particular data type
[ ] Function validation decorator
[ ] Generic Models
[ ] Other Model behaviour - model_construct(), pickling, private attributes, ORM mode
[ ] Plugins and integration with other tools - mypy, FastAPI, python-devtools, Hypothesis, VS Code, PyCharm, etc.

Does anyone have objections to this API? If not, I think we could work toward implementing.
@samuelcolvin @commonism @Jerry-Ma

I'm pro adding it, but I don't want this API with a dict, it should work more like AnalysedType internally.
In particular __init__ should take a single value, and the SchemaValidator/Serialiser should be for the actual type which root if annotated with.

It works, it's the only option so far, I use it.
Happy to evaluate any alternatives.

Great to have it here as a snippet, but if we add RootModel to pydantic (and I think we should), it should be implemented in the most efficient way.

Related https://github.com/pydantic/pydantic/issues/3852

First part of this - what's required in pydantic-core is done in https://github.com/pydantic/pydantic-core/pull/592.
The rest it still to do

RootModel should inherit from BaseModel
Ideally RootModel would be generic thus:
class RootModel(BaseModel, Generic[T]):
    root: T

    def __init__(self, data: T):
        ...

    def model_dump(self, ...) -> T | dict[str, Any]:
        ...

But if the generic thing clashes with BaseModel generics, we can skip that for now. We use T | dict[str, Any] since model_dump will return a dict when T is a BaseModel or dataclass.
The following method (at least) will need to be changed:

__init__ signature __init__(self, data: Any)
model_dump returns just self.root with the arguments applied
dict must return {'__root__': self.model_dump(...)} to match V1
anything else??

Does subclass of BaseModel as a root type make sense? It seems just the same as a standalone BaseModel subclass.

I think so because a lot of logic will be reused.
I think start that way, and we can change later if it stops making sense.


"View" button on the projects page

Bug Description:
The anchor tag for the "View" button on the projects page is currently blank. Since we are taking the twitter handle of the project maintainer, it should be having the twitter handle.
Steps to Reproduce:
Steps to reproduce the behavior:

Go to  the Projects page on the website.
Click on the view button on any project card.
The View will not take the user anywhere.

Expected Behaviour:

The View button should take the  user to the maintainer's twitter profile.

No, the view should take you to the live site. The URL of the live site will be behind to route you to where the site is.

The issue should be that the view does not route you to the live site.

Yeah in that case I should close this issue since we are not taking the deployed project link.


immediate improvements

merge in all recent branch changes

[x] tests first :)

[x] fix messy imports. simply prepend the current location to sys.path, and delete all the importerror checks

[x] LightGBM

[x] training_params

[ ] keras

[ ] make sure we support regression here
[ ] it's ok to note that we don't support multiclass classification yet

Fix or remove flaky tests
rip out ensembling.
reduce the complexity in perform_grid_search_by_model_names

[ ] this probably means explicitly reducing the types of use cases we support. i'm totally ok with that to get simpler code
[ ] we will have to be careful about naming things. i think that how we name things in predictor shouldn't matter, since we only export the final trained pipeline.
[ ] create a test where we load in a trained pipeline from v1.9.6, and use it to get predictions, to see if things break our pre-existing trained models, even if we don't break our public-facing API.
[ ] better test coverage for new cases (lightGBM, keras, error handling, etc.)

finally, at the very end, look into doing ensembling again :) make sure to support our v4 plan outlined recently.

done.


How to SAVE a trained model with SB3?

Hi AI4Finance,
When going through the code in the tutorials, I found that ElegantRL trained models and saved simultaneously, but SB3 did not.
I want to reuse the models trained by SB3 without re-training, which is too time consuming.
Thanx.

# Instantiate the agent
model = DQN("MlpPolicy", env, verbose=1)
# Train the agent and display a progress bar
model.learn(total_timesteps=int(2e5), progress_bar=True)
# Save the agent
model.save("dqn_lunar")
del model  # delete trained model to demonstrate loading

This takes 5 seconds to search. Basic Usage: Training, Saving, Loading


Small fixes to test support

Add be_true_or_false test method.
Provide workaround of issue #742 for test/support/spec_helper/fs.rb

I'll have to look at this myself. This appears to be the GC collecting something that it shouldn't be, causing a segfault. Debugging these is usually a massive pain in the neck, so it may take me a bit of time.

I believe I fixed the GC issue. I will work on making the gc_lint.rb script a bit smarter so it can detect this sort of thing. (BTW, this was just a bug lurking until the exact right set of circumstances arose... you just got lucky.)


Matching Html request

Simple save button added per request, stats rolls added, added hit location roll to simple weapon roll, cleaned up roll template

Closing request upon discovering issues with html


Icons: Add readme and preview

Important changes are in readme.md and build.js only, everything else is generated.

This Pull Request meets the following criteria:

[x] Tests have been added/adjusted for my new feature
[x] New Components are registered in index.js of my project

What about adding a preview for the actual React components, using Storybook?

I think that if we add a storybook to the icons package, nobody will ever run it. And I don't think we want to add icons to the storybook of balkan-ui package, because it is a different package.

@VaclavSir Fair enough


Restart button to go back to homepage options

Hello,
You can add this line :
<button id="link-home" class="btn-back">Back</button>
above this line :

in index.html

Hi. I haven't had a chance to check back yet but I think more than adding the button, this issue is more about resetting state, e.g. the variables set based on the options you choose at the beginning.
I won't be able to really work on this again until after Easter, but I can always spare a few minutes to check a pull request if you/anyone would like to make one! :)


Expose views as well for event callback with support for iteration natively in JS

Done, using get callback interceptor from v8