text:
Crashes when building with Xcode 16 in release build config

When building my App with Xcode 16 in the release build config I get this error:
Crashed: WebArchiverWorkQueue (QOS: UNSPECIFIED)
EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x0000000114f10020

This error doesn't occur when building with Xcode 15.4, nor does it when using the debug build config.
Additionally, this error doesn't happen every time but only every 2nd app start on average (!!)
I have no idea what causes this issue nor if it will be fixed in a future version of Xcode. It took me quite a while to realize that these crashes were not related to my changes but to the version of Xcode used to build the app.
I post this here as an info for other people having the same issue.
If anyone finds a way on how to properly fix this for Xcode 16 – please let me know 🙏
Crashed: WebArchiverWorkQueue (QOS: UNSPECIFIED)
0  libsystem_platform.dylib       0xa84 _platform_memmove + 52
1  libxml2.2.dylib                0xf70 xmlBufAdd + 220
2  libxml2.2.dylib                0x11930 xmlParserInputBufferCreateMem + 96
3  libxml2.2.dylib                0x14b4 xmlCreateMemoryParserCtxt + 72
4  libxml2.2.dylib                0x2e74c htmlReadMemory + 60
5  myApp                        0xa4924 XMLDocument.__allocating_init(string:encoding:) + 130 (Document.swift:130)
6  myApp                        0xa3738 specialized static WebArchiver.extractHTMLReferences(from:includeJavascript:) + 86 (WebArchiver.swift:86)
7  myApp                        0xa0a60 closure #1 in static WebArchiver.archive(url:cookies:includeJavascript:skipCache:completion:) + 23 (WebArchive.swift:23)
8  myApp                        0xa0e30 partial apply for closure #1 in static WebArchiver.archive(url:cookies:includeJavascript:skipCache:completion:) + 4374859312 (<compiler-generated>:4374859312)
9  myApp                        0x9c844 closure #1 in ArchivingSession.load(url:fallback:expand:) + 51 (ArchivingSession.swift:51)
10 myApp                        0x9d480 partial apply for closure #1 in ArchivingSession.load(url:fallback:expand:) + 4374844544 (<compiler-generated>:4374844544)
11 myApp                        0x993f0 thunk for @escaping @callee_guaranteed @Sendable (@guaranteed Data?, @guaranteed NSURLResponse?, @guaranteed Error?) -> () + 4374828016 (<compiler-generated>:4374828016)
12 CFNetwork                      0x22b6c CFURLRequestSetMainDocumentURL + 3000
13 CFNetwork                      0x33d80 _CFNetworkErrorCopyLocalizedDescriptionWithHostname + 11944
14 Foundation                     0x51bfc __NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK__ + 24
15 Foundation                     0x63f74 -[NSBlockOperation main] + 104
16 Foundation                     0x3c1f4 __NSOPERATION_IS_INVOKING_MAIN__ + 24
17 Foundation                     0x4d5bc -[NSOperation start] + 788
18 Foundation                     0x50c48 __NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION__ + 24
19 Foundation                     0x5edf0 __NSOQSchedule_f + 184
20 libdispatch.dylib              0x12830 _dispatch_block_async_invoke2 + 148
21 libdispatch.dylib              0x3a30 _dispatch_client_callout + 20
22 libdispatch.dylib              0x6eec _dispatch_continuation_pop + 500
23 libdispatch.dylib              0x6558 _dispatch_async_redirect_invoke + 584
24 libdispatch.dylib              0x15164 _dispatch_root_queue_drain + 396
25 libdispatch.dylib              0x1596c _dispatch_worker_thread2 + 164
26 libsystem_pthread.dylib        0x1080 _pthread_wqthread + 228
27 libsystem_pthread.dylib        0xe5c start_wqthread + 8

btw. shout-out to @ernesto-elsaesser for creating this library. It's a nice little util and it has served me well in the last years 🙏

Thanks for the shoutout! :blush:
It looks like this happens deep inside the libxml2 buffer allocation code. Most likely the new OS generation broke some compatibility with libxml2, which is something Apple themselves had to fix. It might also be an issue with the way Fuzi calls libxml2, but that package hasn't been touched in the last 4 years and simple calls the libxml2 top-level API, so that seems unlikely.
However, looking at the code again, I think the HTML reference extraction should also be doable with some regex magic, just like for CSS. I am currently setting up Xcode 16 to do some testing, but I might just throw out the HTML parsing all together, as waiting for Apple to straighten out their release is no fun :)
Could you quickly check if the HTML documents of the URLs you are trying to archive are especially large?

I just released version 1.1.0 using XMLParser from Foundation instead of Fuzi / libxml2. Please let me know if that fixes the issue. I could not reproduce the Xcode 16 crash myself.

Hey thanks for looking into the issue 😃
I ran the app with release 1.1.0 and there are no crashes. When switching back to 1.0.1 the crashes re-appear.
Unfortunately, archiving images no longer works. I've looked at your changes but I couldn't identify what could have gone wrong.
Here's an URL that's not working: https://growlightmeter.com/guides/how-to-measure-light-with-photone/
Even with 1.0.1 the WebArchiver had "issues" when working with images that contain a srcset. It just archived the image that was in the src attribute but if the browser then would request another one, the image wasn't found (obviously). I worked around this by ensuring that the image linked in the src-tag matches the one the browser would request on a phone 😅 I guess fixing this would require the archiver to check first which image would be chosen by Safari (given Safari version and viewport size) and then archive this one.
Example:
<picture>
    <source srcset="/content/images/size/w600/format/webp/2024/09/how-to-measure-cover.jpeg 600w,
                /content/images/size/w1400/format/webp/2024/09/how-to-measure-cover.jpeg 1400w"
sizes="(max-width: 600px) 100vw, (max-width: 992px) 85vw, (max-width: 1200px) 70vw, (max-width: 1828px) 47vw, 870px" type="image/webp">

</picture>

@ernesto-elsaesser I've updated on which platforms the error occurs:
ERROR: With Xcode 16, release build config, using an iPhone X with iOS 16.7.10.
NO ERROR with either:

release building with Xcode 15.4
OR using the debug build config
OR when using an iPhone 16 with iOS 18.0.0

OK, so it was the combination of a new Xcode and an older phone / OS version. Something that Apple might not even care about, so dropping libxml2 was probably the right choice.
Regarding srcset attributes, that already goes into the direction of dynamic webpages. As I tried to explain in the README, attempting to trace all the possible resources a dynamic / responsive page might load just through static analysis of the sources (aka. some regexes) is really not feasible, and this packages certainly doesn't even try, but only covers the three very basics:

<link rel="stylesheet" href="...">

repo: ernesto-elsaesser/WebArchiver


text:
T480 Fixed with N24ET56W (1.31 ) BIOS ?

Hi,
I've recently updated BIOS on my T480 and i don't see any throttling-messages in "/var/log/messages" any more (and i was getting a lot of them). Also the throttling messages during system start are gone.
BIOS Information
Vendor: LENOVO
Version: N24ET56W (1.31 )
Release Date: 02/19/2020
BIOS Revision: 1.31
Firmware Revision: 1.20
I am on Fedora 31 and I've used fwupd for update.
Maybe someone could confirm this?

Maybe you can try to disable throttle fix (see README), reboot, and measure performance.

T480 on Ubuntu - not fixed with 1.31

source: gharchive/issue

authors: Hakun1n enzotar vrossum

repo: erpalma/throttled

license: MIT

license_type: permissive

license_source: github-api


text:
Add Carriage and Ferry Travel Overhaul

Request
There isn't a method to travel from Falkreath, Dawnstar and Morthal unless you have already been to where you want to go (fast travel).
Additional context
https://www.nexusmods.com/skyrimspecialedition/mods/8379
This mod adds more carriages and carriage stops as well as adds more ferries to use.

+1. Great for people that use survival mode that disables fast travel.

Not feeling that mod


text:
ioarena issues

I have tried to reproduce some tests mentioned in ReadMe with ioarena and it looks kind of broken right now.
Environment: Ubuntu 18 LTS on Azure 16 GiB RAM.

get test fails for big operations count. (Out of Memory?)

IOARENA (embedded storage benchmarking)

configuration:
  engine       = mdbx
  datadir      = ./_ioarena
  benchmark    = get
  durability   = lazy
  wal          = indef
  operations   = 10000000
  key size     = 16
  value size   = 32
  binary       = no
  batch length = 500
  continuous   = no

key-gen: using 24 bits, up to 10000000 keys
doer.0: {get}, key-space 0, key-sequence 0
error: key nAg5meqsPB4reia5 not found (get, #0, 0+0)
error: mdbx_txn_abort, MDBX_BAD_TXN: Transaction is not valid for requested operation, e.g. had errored and be must aborted, has a child, or is invalid (-30782)

set test in lazy mode seems doing a lot of fsync. giving numbers close 2k rps, while sync has 250 rps.

PS lmdb have same failure in first case, but works much better in second case giving 150k RPS.

Get through first issue. It seems both lmdb and mdbx becomes poisoned with data from previous run in get test. So workaround is to run set tests completely and then run get test.

IOarena intentionally does not implement "clean startup" in order to be able to use the DB state after previous runs, and this is used in many benchmark scenarios. So, "It's Not a Bug, It's a Feature" :)
In many cases LMDB and MDBX shows the same performance with differences mainly for four reasons:

MDBX_LIFORECLAIM may give significant (1.5-10 times) write-performance boost on systems with write-back disk cache.
MDBX spends slightly less CPU clock time on internal data processing (e.g. sorting and searching). Therefore, it faster (up to 20%) in data modification scenarios where disk I/O is not a bottleneck (otherwise the difference is not noticeable).
To avoid crashes and heisenbugs MDBX performs more checks for parameters and internal state. Therefore, MDBX is slower in some scenarios with little work inside the DB (i.e.getting the current record or read-only iterating).
Due to differences in operating modes: MDBX_NOSYNC_SAFE != MDB_NOSYNC, on Windows (MDBX uses LockFileEx()), on MacOS (MDBX uses fcntl(F_FULLFSYNC)).

Going back to your question about the 2K/150K RPS difference in the "lazy" mode:

In the IOarena source code you can see that in the "lazy" mode MDB_NOSYNC for LMDB but MDBX_SAFE_NOSYNC for MDBX are used. This explains the difference.
The reason for this difference (among other things) is to show how the durability guarantee affects speed, but not just the superiority of MDBX. However, you can made changes and compare performance in the modes you are interested in.
i.e. IOarena is a tool to play, you should known what you want to benchmark and how it really works.

Thank you for clear explanations. I read through header about MDBX_SAFE_NOSYNC vs MDBX_UTTERLY_NOSYNC and still do not get why MDBX_SAFE_NOSYNC seems to be blocked by flashes. Documentation seems to be more focused on higher memory usage related to this mode.
Running 'ioarena -D mdbx -B set -n 10000' with '-m sync' or '-m lazy' gives same performance showing each of operations was waiting for flush.

@azhmur, Suggest you should (re)check your source, changes, script, config, etc.., and then (re)run the benchmark.
For instance my local test:
$ ./@BUILD/src/ioarena -D mdbx -B set -n 100000 -m lazy
IOARENA (embedded storage benchmarking)

configuration:
  engine       = mdbx
  datadir      = ./_ioarena
  benchmark    = set
  durability   = lazy
  wal          = indef
  operations   = 100000
  key size     = 16
  value size   = 32
  binary       = no
  batch length = 500
  continuous   = no

key-gen: using 24 bits, up to 100000 keys
doer.0: {set}, key-space 0, key-sequence 0
     time | bench      rps      min       avg       rms       max       vol           #N
    0.975 |   set: 102.533K   5.084us   9.559us   9.634us 134.741us   4.922Mbps 100.000K
complete.

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> set(100000)
[ltn_from     ltn_to   ]       ops_count       %        p%
----------------------------------------------------------
[   5.000us,   5.999us ]              62   0.06%   0.0620%
[   6.000us,   6.999us ]             109   0.11%   0.1710%
[   7.000us,   7.999us ]            7365   7.37%   7.5360%
[   8.000us,   8.999us ]            2861   2.86%  10.3970%
[   9.000us,   9.999us ]           82926  82.93%  93.3230%
[  10.000us,  11.999us ]            3081   3.08%  96.4040%
[  12.000us,  13.999us ]            1482   1.48%  97.8860%
[  14.000us,  15.999us ]            1794   1.79%  99.6800%
[  16.000us,  17.999us ]             247   0.25%  99.9270%
[  18.000us,  19.999us ]              40   0.04%  99.9670%
[  20.000us,  24.999us ]              28   0.03%  99.9950%
[  25.000us,  29.999us ]               3   0.00%  99.9980%
[  50.000us,  59.999us ]               1   0.00%  99.9990%
[ 120.000us, 139.999us ]               1   0.00% 100.0000%
----------------------------------------------------------
total:       955.954ms            100000
min latency:   5.084us/op
avg latency:   9.559us/op
rms latency:   9.634us/op
max latency: 134.741us/op
 throughput: 102.551Kops/s

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> rusage
iops: read 0, write 16800, page 0
cpu: user 0.466845, system 0.508239
space: disk 64.007812, ram 0.006157

With the diff from IOarena master branch (167a5e0318d425a714a53430d702c84081e9e2d1):
diff --git a/runme.sh b/runme.sh
index f595e99..07d83ee 100755
--- a/runme.sh
+++ b/runme.sh
@@ -12,16 +12,16 @@ DIR=@BUILD
 echo "*** run cmake..."
 mkdir -p $DIR && \
 	(cd $DIR && cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo .. \
-	-DENABLE_ROCKSDB=ON \
-	-DENABLE_FORESTDB=ON \
-	-DENABLE_SOPHIA=ON \
-	-DENABLE_WIREDTIGER=ON \
+	-DENABLE_ROCKSDB=OFF \
+	-DENABLE_FORESTDB=OFF \
+	-DENABLE_SOPHIA=OFF \
+	-DENABLE_WIREDTIGER=OFF \
 	-DENABLE_LMDB=ON \
 	-DENABLE_MDBX=ON \
-	-DENABLE_LEVELDB=ON \
-	-DENABLE_SQLITE3=ON \
-	-DENABLE_VEDISDB=ON \
-	-DENABLE_IOWOW=ON \
+	-DENABLE_LEVELDB=OFF \
+	-DENABLE_SQLITE3=OFF \
+	-DENABLE_VEDISDB=OFF \
+	-DENABLE_IOWOW=OFF \
 	) || exit 1

 echo "*** run make..."
diff --git a/src/drivers/ia_mdbx.c b/src/drivers/ia_mdbx.c
index 96296ae..32212c4 100644
--- a/src/drivers/ia_mdbx.c
+++ b/src/drivers/ia_mdbx.c
@@ -52,7 +52,7 @@ static int ia_mdbx_open(const char *datadir) {
     modeflags = MDBX_LIFORECLAIM;
     break;
   case IA_LAZY:
-    modeflags = MDBX_SAFE_NOSYNC | MDBX_NOMETASYNC;
+    modeflags = MDBX_UTTERLY_NOSYNC | MDBX_NOMETASYNC;
     break;
   case IA_NOSYNC:
     modeflags = MDBX_WRITEMAP | MDBX_UTTERLY_NOSYNC;

Please forgive my ignorance. I was looking for some option in between of "we can write fast and loose everything" and "we syncing all writes and do it slowly". Like loose small amount of data, but not everything, while still having rather good update throughput. (fsync=off in WAL based systems) But it seems MDBX_SAFE_NOSYNC is close to MDBX_SAFE_SYNC in both performance and durability (at least on azure block device), while all less strict options are risking not only some updates will be lost, but total corruption.

Some points for clarity (with simplification):
The page dirty/altering rate will be the same for all "sync"-modes. This is true for (almost?) any page-based database. I.e. when we make some update of data, we alter (aka make dirty) some pages inside database. Further we should ever write those pages to the disk. If we don't have/use WAL then we should write all dirty pages on every commit.
Both in MDBX_SAFE_NOSYNC and MDBX_UTTERLY_NOSYNC modes MDBX make all such writes at every commit, but don't call fdatasync(). So I/O bandwidth generated by an application will be the same. However, it is a big difference how MDBX handle pages with previous data versions (i.e. already used pages):

In then MDBX_UTTERLY_NOSYNC mode MDBX overwrites any already used page which don't (and couldn't be) used  by some reader. When many transaction committed a lot of pages has overwrites many times (e.g. the top of b+tree). Such overwrites may be merged/eliminates by kernel, if filesystem was not configured to preserve write-order (aka data order) for user data.
On the other hand, any system failure after such write-reorder will cause (likely a whole) database corruption, since part of the pages that makes up the tree will be with invalid obsolete data that was written to these pages before the last version of the tree was formed.
In the MDBX_SAFE_NOSYNC mode MDBX allocated news pages instead of overwriting it. Thus MDBX as though preserve write-order from b+tree structure point of view, and in case of system failure only unsaved data will be lost. On the other hand, allocation new pages increase database size and/or process working set size and so on.

Some reference records on my old notebook:
$ make bench-quartet
sed \
	-e "s|@MDBX_GIT_TIMESTAMP@|2020-05-28T00:42:15+03:00|" \
	-e "s|@MDBX_GIT_TREE@|ae35484abbdb4a570e626294b65283e108c371cf|" \
	-e "s|@MDBX_GIT_COMMIT@|c9f461c4ebfdcff2fdbc3b2b76ec45de16d4a124|" \
	-e "s|@MDBX_GIT_DESCRIBE@|v0.7.0-135-gc9f461c4e|" \
	-e "s|\${MDBX_VERSION_MAJOR}|0|" \
	-e "s|\${MDBX_VERSION_MINOR}|7|" \
	-e "s|\${MDBX_VERSION_RELEASE}|0|" \
	-e "s|\${MDBX_VERSION_REVISION}|2077|" \
src/version.c.in > src/version.c
(echo '#define MDBX_BUILD_TIMESTAMP "2020-05-28T03:05:13+0300"' \
&& echo '#define MDBX_BUILD_FLAGS "-O2 -g -Wall -Werror -Wextra -Wpedantic -ffunction-sections -fPIC -fvisibility=hidden -std=gnu11 -pthread -Wno-error=attributes  -Wl,--gc-sections,-z,relro,-O1  -lrt "' \
&& echo '#define MDBX_BUILD_COMPILER "cc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0"' \
&& echo '#define MDBX_BUILD_TARGET "x86_64-linux-gnu"' \
&& echo '#define MDBX_BUILD_SOURCERY 2a89a807633ce0477483ede568478c8807b5f9041cdf1556e6ed18c2b2800e82_v0_7_0_135_gc9f461c4e' \
) > src/config.h
cc -O2 -g -Wall -Werror -Wextra -Wpedantic -ffunction-sections -fPIC -fvisibility=hidden -std=gnu11 -pthread -Wno-error=attributes  -DNDEBUG=1 '-DMDBX_CONFIG_H="config.h"' -DLIBMDBX_EXPORTS=1 -c src/alloy.c -o mdbx-dylib.o
cc -O2 -g -Wall -Werror -Wextra -Wpedantic -ffunction-sections -fPIC -fvisibility=hidden -std=gnu11 -pthread -Wno-error=attributes  mdbx-dylib.o -pthread -shared -Wl,--gc-sections,-z,relro,-O1  -lrt  -o libmdbx.so
LD_LIBRARY_PATH="./:${LD_LIBRARY_PATH}" ../ioarena/@BUILD/src/ioarena -D mdbx -B crud -m nosync -n 25000000 | tee bench-mdbx_25000000.txt | grep throughput && LD_LIBRARY_PATH="./:${LD_LIBRARY_PATH}" ../ioarena/@BUILD/src/ioarena -D mdbx -B get,iterate -m sync -r 4 -n 25000000 | tee -a bench-mdbx_25000000.txt | grep throughput || mv -f bench-mdbx_25000000.txt bench-mdbx_25000000.txt.error
 throughput: 109.899Kops/s
 throughput:  19.471Mops/s
 throughput:   1.482Mops/s
LD_LIBRARY_PATH="./:${LD_LIBRARY_PATH}" ../ioarena/@BUILD/src/ioarena -D lmdb -B crud -m nosync -n 25000000 | tee bench-lmdb_25000000.txt | grep throughput && LD_LIBRARY_PATH="./:${LD_LIBRARY_PATH}" ../ioarena/@BUILD/src/ioarena -D lmdb -B get,iterate -m sync -r 4 -n 25000000 | tee -a bench-lmdb_25000000.txt | grep throughput || mv -f bench-lmdb_25000000.txt bench-lmdb_25000000.txt.error
 throughput:  97.269Kops/s
 throughput:  20.585Mops/s
 throughput:   1.511Mops/s
LD_LIBRARY_PATH="./:${LD_LIBRARY_PATH}" ../ioarena/@BUILD/src/ioarena -D rocksdb -B crud -m nosync -n 25000000 | tee bench-rocksdb_25000000.txt | grep throughput && LD_LIBRARY_PATH="./:${LD_LIBRARY_PATH}" ../ioarena/@BUILD/src/ioarena -D rocksdb -B get,iterate -m sync -r 4 -n 25000000 | tee -a bench-rocksdb_25000000.txt | grep throughput || mv -f bench-rocksdb_25000000.txt bench-rocksdb_25000000.txt.error
 throughput:  40.953Kops/s
 throughput:   5.847Mops/s
 throughput: 116.550Kops/s
LD_LIBRARY_PATH="./:${LD_LIBRARY_PATH}" ../ioarena/@BUILD/src/ioarena -D wiredtiger -B crud -m nosync -n 25000000 | tee bench-wiredtiger_25000000.txt | grep throughput && LD_LIBRARY_PATH="./:${LD_LIBRARY_PATH}" ../ioarena/@BUILD/src/ioarena -D wiredtiger -B get,iterate -m sync -r 4 -n 25000000 | tee -a bench-wiredtiger_25000000.txt | grep throughput || mv -f bench-wiredtiger_25000000.txt bench-wiredtiger_25000000.txt.error
 throughput: 147.400Kops/s
 throughput:   2.422Mops/s
 throughput: 789.814Kops/s

authors: azhmur erthink

repo: erthink/libmdbx


text:
Update firstTexture

Is threre any way to update firstTexture  if it is already set and pafeFlip is doesn't done yet?
I try with getFirstPage().deleteAllTextures(); but it produces memory leak  and after many pafeFlip memory app increase a lot.

I think you can try
page.setFirstTexture(mBitmap);

It will set the first texture with given bitmap. If the page is not flipping, you can call PageFlip.drawPageFrame(); to update  screen after you set the first texture

Yes, that is what I have done. But, if I set First Texture before, I can't update it again by that way. So, when flip start, it shows the first image instead of the second one.

repo: eschao/android-PageFlip

license_source: bigquery


text:
Getting ERR_MODULE_NOT_FOUND

After adding to my Astro project, I get the following:
[vite] Error when evaluating SSR module ..(filepathOmitted)/astro.config.mjs: failed to import "remark-obsidian-callout"
|- Error [ERR_MODULE_NOT_FOUND]: Cannot find module '..(filepathOmitted)/node_modules/.pnpm/remark-obsidian-callout@1.4.0/node_modules/remark-obsidian-callout/dist/icons' imported from ..(filepathOmitted)/node_modules/.pnpm/remark-obsidian-callout@1.4.0/node_modules/remark-obsidian-callout/dist/index.js

Solution
I changed the icons import to have the .js extension at line 19 here.
That seems to solve the errors around the icons file.
After that, I got an additional error around mdast-util-to-string
[vite] Error when evaluating SSR module /src/utils/remark-reading-time.mjs: failed to import "mdast-util-to-string"
|- Error: Cannot find module 'mdast-util-to-string' imported from...

If you pnpm add mdast-util-to-string to the astro project, then it seems to resolve the issue. But I've noticed this on other remark plugins as well. Not sure if you want to add that to the docs... or if moving the dependency to the project instead of devDependency will fix this.
Evironment:
pnpm: 8.15.5
node: 22.9.0
astro: 4.14.5
remark-obsidian-callout: 1.4.0
Replication
I tried this on a fresh install using this theme:
pnpm dlx create-astro --template kirontoo/astro-theme-cody
That isolates the .js extension issue, as mdast-util-to-string was already to the package.json of that template.

Thanks for raising the issue.
I will check it myself when got time.

I have issue creating a minimal astro project right now because of the CLI failed to support socks5 proxy.
I will get back to this later

You're right. By looking at the code, we do miss this mdast-util-to-string.
I will fix this and release a new version.

v1.5.0 does not fix this issue.

There is a working version here: https://github.com/TotallyInformation/remark-obsidian-callout-fixed

There is a working version here: https://github.com/TotallyInformation/remark-obsidian-callout-fixed

Thanks. I forgot that.
Will publish a new release to fix it.

Shall be fixed now via https://github.com/escwxyz/remark-obsidian-callout/commit/cf9b5a39fe39e0f97a5bd50d8d89b5e580faa616

authors: TotallyInformation escwxyz mj-meyer

repo: escwxyz/remark-obsidian-callout


text:
Multiple modules in single file are not loaded into gradualizer_db

In Elixir there is possibility that multiple modules are present in the same file. This poses a problem because not all data for modules is loaded into gradualizer_db. Using functions such as code.load_binary/3 will only allow elixir/erlang to upload file into VM memory but not in gradualizer
Minimal code example to reproduce, both modules in same files:
defmodule TypeDef do
  @type t() :: integer()
end

defmodule FunDef do
  @spec f() :: TypeDef.t()
  def f(), do: 1
end

When we call mix gradient or gradient escript we get result:
test/examples/dependent_modules.ex: Undefined remote type TypeDef.t/0 on line 6
Total errors: 1

Expected behaviour: No errors found

This should already be taken care of in #121.

authors: erszcz luk-pau-es

repo: esl/gradient


text:
no-missing-import does not work with "paths" from "tsconfig.json"

In a monorepo, you typically use the "paths" option inside of the "tsconfig.json" file to make your individual packages aware of each other like this:
tsconfig.json
{
    "paths": {
      "foo": ["packages/foo/src/index.ts"],
      "bar": ["packages/bar/src/index.ts"],
    },
}

However, this triggers false positives for no-missing-import.

Any updates on this?

🤔 I have not had this issue in my monorepos, could you make a small reproduction repository?

Here are a couple of screenshots from a yarn v3 repo:

I have not needed the "paths" property at all for importing files, I have only needed this for importing additional types that I don't directly import, eg in another package:

I think I found the issue, it turns out that when the depended upon package is not built (at least once) then the file shows up as missing!

authors: Zamiell scagood wdzeng

repo: eslint-community/eslint-plugin-n


text:
Support for TypeScript 5.x

Bug Report
Eslint-plugin-functional support only 4.x version of typescript.
Expected behavior
No conflicts running npm install with typescript 5.x verxion.
Actual behavior
Console error:
npm ERR! Found: typescript@5.0.2
npm ERR! node_modules/typescript
npm ERR!   typescript@"^5.0.2" from the root project
npm ERR!   peerOptional typescript@">=4.0.2" from eslint-plugin-functional@5.0.6
npm ERR!   node_modules/eslint-plugin-functional
npm ERR!     dev eslint-plugin-functional@"^5.0.6" from the root project
npm ERR!   4 more (fork-ts-checker-webpack-plugin, is-immutable-type, ...)
npm ERR!

Steps to reproduce

use eslint-plugin-functional@5.0.6
use typescript@5.x
run npm install

I can't recreate this error.
TypeScript 5 should just work with this plugin.
In our package.json file, we specify that typescript >=4.0.2 is required as an optional peer dependency, and typescript@5.0.2 meets this requirement.
Maybe the issue you are having is with one of the other packages you are using. If you still think this plugin is responsible, could you please provide a minimal repo example?

My bad, you are right, it's work correctly. The problem was in react-scripts that i used together with eslint-plugin-functional.
npm ERR! Could not resolve dependency:
npm ERR! peerOptional typescript@"^3.2.1 || ^4" from react-scripts@5.0.1
npm ERR! node_modules/react-scripts
npm ERR!   react-scripts@"^5.0.1" from the root project
npm ERR!   peer react-scripts@"*" from @craco/craco@5.9.0
npm ERR!   node_modules/@craco/craco
npm ERR!     @craco/craco@"^5.5.0" from craco@0.0.3
npm ERR!     node_modules/craco
npm ERR!       craco@"^0.0.3" from the root project

authors: DiggesT RebeccaStevens


text:
Unable to build rust-esp32-std-demo using Docker and cargo

Hello!
I seem unable to build rust-esp32-std-demo using the Docker image espressif/idf-rust-examples:latest (image ID 562dd6cc6e54) using cargo. The issue seems to be related to PlatformIO. Builds using idf.py build work fine.
The host machine is an Intel-Mac running macOS Big Sur v11.2.3.
Suggestions?
Relevant logs:
docker run -it espressif/idf-rust-examples
Detecting the Python interpreter
Checking "python" ...
Python 3.8.10
"python" has been detected
Adding ESP-IDF tools to PATH...
Not using an unsupported version of tool xtensa-esp32-elf found in PATH: esp-2021r1-8.4.0.
Using Python interpreter in /opt/esp/python_env/idf5.0_py3.8_env/bin/python
Checking if Python packages are up to date...
Python requirements from /opt/esp/idf/requirements.txt are satisfied.
Added the following directories to PATH:
  /opt/esp/idf/components/esptool_py/esptool
  /opt/esp/idf/components/espcoredump
  /opt/esp/idf/components/partition_table
  /opt/esp/idf/components/app_update
  /opt/esp/tools/xtensa-esp32-elf/esp-2021r2-8.4.0/xtensa-esp32-elf/bin
  /opt/esp/tools/xtensa-esp32s2-elf/esp-2021r2-8.4.0/xtensa-esp32s2-elf/bin
  /opt/esp/tools/xtensa-esp32s3-elf/esp-2021r2-8.4.0/xtensa-esp32s3-elf/bin
  /opt/esp/tools/riscv32-esp-elf/esp-2021r2-8.4.0/riscv32-esp-elf/bin
  /opt/esp/tools/esp32ulp-elf/2.28.51-esp-20191205/esp32ulp-elf-binutils/bin
  /opt/esp/tools/esp32s2ulp-elf/2.28.51-esp-20191205/esp32s2ulp-elf-binutils/bin
  /opt/esp/tools/cmake/3.20.3/bin
  /opt/esp/tools/openocd-esp32/v0.10.0-esp32-20211111/openocd-esp32/bin
  /opt/esp/python_env/idf5.0_py3.8_env/bin
  /opt/esp/idf/tools
Done! You can now compile ESP-IDF projects.
Go to the project directory and run:

  idf.py build

==============================================================================
=           Docker image with ESP-IDF, Rust compiler and examples            =
=              https://github.com/espressif/rust-esp32-example               =
==============================================================================

Available examples:

* "cargo-first" approach
  `` ``` ``sh
    cd /opt/rust-esp32-std-demo
    cargo +esp build --release
    espflash /dev/ttyUSB0 target/xtensa-esp32-espidf/release/rust-esp32-std-demo
    cargo pio espidf monitor -e release /dev/ttyUSB0
  `` ``` ``

* "idf.py-first" approach - integration via CMake files
  `` ``` ``sh
    cd /opt/rust-esp32-example
    idf.py build
  `` ``` ``
root@918e12cae58c:/opt# cd rust-esp32-std-demo
root@918e12cae58c:/opt/rust-esp32-std-demo# export set RUST_BACKTRACE=1 && cargo +esp build --release
warning: unused config key `unstable.configurable-env` in `/opt/rust-esp32-std-demo/.cargo/config.toml`
warning: unused config key `unstable.extra-link-arg` in `/opt/rust-esp32-std-demo/.cargo/config.toml`
   Compiling compiler_builtins v0.1.49
   Compiling core v0.0.0 (/opt/rustup/toolchains/esp/lib/rustlib/src/rust/library/core)
   Compiling libc v0.2.103
   Compiling cc v1.0.69
   Compiling std v0.0.0 (/opt/rustup/toolchains/esp/lib/rustlib/src/rust/library/std)
   Compiling libc v0.2.109
   Compiling memchr v2.4.1
   Compiling proc-macro2 v1.0.33
   Compiling unicode-xid v0.2.2
   Compiling syn v1.0.82
   Compiling cfg-if v1.0.0
   Compiling cc v1.0.72
   Compiling log v0.4.14
   Compiling autocfg v1.0.1
   Compiling serde_derive v1.0.130
   Compiling serde v1.0.130
   Compiling fnv v1.0.7
   Compiling once_cell v1.8.0
   Compiling ryu v1.0.6
   Compiling spin v0.5.2
   Compiling untrusted v0.7.1
   Compiling regex-syntax v0.6.25
   Compiling serde_json v1.0.72
   Compiling version_check v0.9.3
   Compiling anyhow v1.0.51
   Compiling tinyvec_macros v0.1.0
   Compiling glob v0.3.0
   Compiling crossbeam-utils v0.8.5
   Compiling matches v0.1.9
   Compiling lazy_static v1.4.0
   Compiling adler v1.0.2
   Compiling ppv-lite86 v0.2.15
   Compiling gimli v0.26.1
   Compiling unicode-width v0.1.9
   Compiling bitflags v1.3.2
   Compiling percent-encoding v2.1.0
   Compiling same-file v1.0.6
   Compiling unicode-bidi v0.3.7
   Compiling ansi_term v0.12.1
   Compiling vec_map v0.8.2
   Compiling termcolor v1.1.2
   Compiling rustc-demangle v0.1.21
   Compiling bindgen v0.57.0
   Compiling humantime v2.1.0
   Compiling strsim v0.8.0
   Compiling shlex v0.1.1
   Compiling itoa v0.4.8
   Compiling peeking_take_while v0.1.2
   Compiling lazycell v1.3.0
   Compiling zero v0.1.2
   Compiling either v1.6.1
   Compiling chunked_transfer v1.4.0
   Compiling base64 v0.13.0
   Compiling rustc-hash v1.1.0
   Compiling remove_dir_all v0.5.3
   Compiling unicode-segmentation v1.8.0
   Compiling shlex v1.1.0
   Compiling futures-core v0.3.18
   Compiling strsim v0.10.0
   Compiling ident_case v1.0.1
   Compiling az v1.2.0
   Compiling async-trait v0.1.51
   Compiling paste v1.0.6
   Compiling heapless v0.7.8
   Compiling unwind v0.0.0 (/opt/rustup/toolchains/esp/lib/rustlib/src/rust/library/unwind)
   Compiling libloading v0.7.2
   Compiling cmake v0.1.46
   Compiling backtrace v0.3.63
   Compiling ring v0.16.20
   Compiling miniz_oxide v0.4.4
   Compiling num-traits v0.2.14
   Compiling thread_local v1.1.3
   Compiling rustc-std-workspace-core v1.99.0 (/opt/rustup/toolchains/esp/lib/rustlib/src/rust/library/rustc-std-workspace-core)
   Compiling nom v5.1.2
   Compiling tinyvec v1.5.1
   Compiling clang-sys v1.3.0
   Compiling textwrap v0.11.0
   Compiling form_urlencoded v1.0.1
   Compiling walkdir v2.3.2
   Compiling addr2line v0.17.0
   Compiling xmas-elf v0.8.0
   Compiling heck v0.3.3
   Compiling unicode-normalization v0.1.19
   Compiling getrandom v0.2.3 (https://github.com/esp-rs-compat/getrandom.git#b8cb133e)
   Compiling atty v0.2.14
   Compiling dirs-sys v0.3.6
   Compiling which v3.1.1
   Compiling which v4.2.2
   Compiling remove_dir_all v0.7.0
   Compiling aho-corasick v0.7.18
   Compiling bstr v0.2.17
   Compiling object v0.27.1
   Compiling quote v1.0.10
   Compiling alloc v0.0.0 (/opt/rustup/toolchains/esp/lib/rustlib/src/rust/library/alloc)
   Compiling cfg-if v0.1.10
   Compiling rand_core v0.6.3
   Compiling clap v2.34.0
   Compiling dirs v4.0.0
   Compiling idna v0.2.3
   Compiling regex v1.5.4
   Compiling rustc-std-workspace-alloc v1.99.0 (/opt/rustup/toolchains/esp/lib/rustlib/src/rust/library/rustc-std-workspace-alloc)
   Compiling panic_abort v0.0.0 (/opt/rustup/toolchains/esp/lib/rustlib/src/rust/library/panic_abort)
   Compiling webpki v0.22.0
   Compiling sct v0.7.0
   Compiling cexpr v0.4.0
   Compiling rand_chacha v0.3.1
   Compiling url v2.2.2
   Compiling globset v0.4.8
   Compiling env_logger v0.8.4
   Compiling darling_core v0.13.0
   Compiling panic_unwind v0.0.0 (/opt/rustup/toolchains/esp/lib/rustlib/src/rust/library/panic_unwind)
   Compiling std_detect v0.1.5 (/opt/rustup/toolchains/esp/lib/rustlib/src/rust/library/stdarch/crates/std_detect)
   Compiling hashbrown v0.11.0
   Compiling webpki-roots v0.22.1
   Compiling rustls v0.20.2
   Compiling rand v0.8.4
   Compiling ignore v0.4.18
   Compiling strum_macros v0.21.1
   Compiling thiserror-impl v1.0.30
   Compiling derivative v2.2.0
   Compiling ureq v2.3.1
   Compiling darling_macro v0.13.0
   Compiling tempfile v3.2.0
   Compiling globwalk v0.8.1
   Compiling strum v0.21.0
   Compiling thiserror v1.0.30
   Compiling proc_macro v0.0.0 (/opt/rustup/toolchains/esp/lib/rustlib/src/rust/library/proc_macro)
   Compiling darling v0.13.0
   Compiling nb v1.0.0
   Compiling void v1.0.2
   Compiling cache-padded v1.1.1
   Compiling waker-fn v1.1.0
   Compiling byteorder v1.4.3
   Compiling parking v2.0.0
   Compiling futures-io v0.3.18
   Compiling pin-project-lite v0.2.7
   Compiling fastrand v1.5.0
   Compiling event-listener v2.5.1
   Compiling display-interface v0.4.1
   Compiling async-task v4.0.3
   Compiling base64 v0.12.3
   Compiling slab v0.4.5
   Compiling atomic-waker v1.0.0
   Compiling mutex-trait v0.2.0
   Compiling byte-slice-cast v0.3.5
   Compiling cty v0.2.2
   Compiling stable_deref_trait v1.2.0
   Compiling micromath v1.1.1
   Compiling toml v0.5.8
   Compiling enumset_derive v0.5.5
   Compiling socket2 v0.4.2 (https://github.com/esp-rs-compat/socket2#7217ebe8)
   Compiling nb v0.1.3
   Compiling concurrent-queue v1.2.2
   Compiling hash32 v0.2.1
   Compiling no-std-net v0.5.0
   Compiling futures-lite v1.12.0
   Compiling async-lock v2.4.0
   Compiling http-auth-basic v0.1.3
   Compiling embedded-graphics-core v0.3.3
   Compiling cstr_core v0.2.4
   Compiling float-cmp v0.8.0
   Compiling cargo_toml v0.9.2
   Compiling proc-macro-crate v1.1.0
   Compiling enumset v1.0.8
   Compiling polling v2.1.0 (https://github.com/esp-rs-compat/polling#260dded7)
   Compiling embedded-hal v0.2.6
   Compiling async-channel v1.6.1
   Compiling async-executor v1.4.1
   Compiling embedded-graphics v0.7.1
   Compiling embuild v0.25.4
   Compiling num_enum_derive v0.5.4
   Compiling async-io v1.6.0
   Compiling display-interface-i2c v0.4.0
   Compiling display-interface-spi v0.4.1
   Compiling ili9341 v0.5.0 (https://github.com/yuri91/ili9341-rs#8aeefc4a)
   Compiling blocking v1.1.0
   Compiling st7789 v0.6.1
   Compiling num_enum v0.5.4
   Compiling ssd1306 v0.7.0
   Compiling esp-idf-sys v0.27.0
   Compiling esp-idf-hal v0.27.0
   Compiling esp-idf-svc v0.32.3
   Compiling rust-esp32-std-demo v0.20.6 (/opt/rust-esp32-std-demo)
   Compiling async-fs v1.5.0
   Compiling async-net v1.6.1
   Compiling embedded-svc v0.15.3
   Compiling smol v1.2.5 (https://github.com/esp-rs-compat/smol#b9a770e7)
error: failed to run custom build command for `esp-idf-sys v0.27.0`

Caused by:
  process didn't exit successfully: `/opt/rust-esp32-std-demo/target/release/build/esp-idf-sys-4c914487a370c77f/build-script-build` (exit status: 1)
  --- stdout
  Installer version: 1.0.2
  Platform: Linux-5.10.47-linuxkit-x86_64-with-glibc2.29
  Python version: 3.8.10 (default, Sep 28 2021, 16:10:42)
  [GCC 9.3.0]
  Python path: /opt/esp/python_env/idf5.0_py3.8_env/bin/python3
  Creating a virtual environment at /root/.platformio/penv
  Updating Python package manager (PIP) in a virtual environment
  PIP has been successfully updated!
  Virtual environment has been successfully created!
  Installing PlatformIO Core
  Collecting platformio
    Downloading platformio-5.2.4.tar.gz (219 kB)
    Preparing metadata (setup.py): started
    Preparing metadata (setup.py): finished with status 'done'
  Collecting bottle==0.12.*
    Using cached bottle-0.12.19-py3-none-any.whl (89 kB)
  Collecting click!=8.0.2,<9,>=8
    Using cached click-8.0.3-py3-none-any.whl (97 kB)
  Collecting colorama
    Using cached colorama-0.4.4-py2.py3-none-any.whl (16 kB)
  Collecting marshmallow<4,>=2
    Using cached marshmallow-3.14.1-py3-none-any.whl (47 kB)
  Collecting pyelftools<1,>=0.27
    Using cached pyelftools-0.27-py2.py3-none-any.whl (151 kB)
  Collecting pyserial==3.*
    Using cached pyserial-3.5-py2.py3-none-any.whl (90 kB)
  Collecting requests==2.*
    Using cached requests-2.26.0-py2.py3-none-any.whl (62 kB)
  Collecting semantic_version==2.8.*
    Using cached semantic_version-2.8.5-py2.py3-none-any.whl (15 kB)
  Collecting tabulate==0.8.*
    Using cached tabulate-0.8.9-py3-none-any.whl (25 kB)
  Collecting zeroconf==0.37.*
    Downloading zeroconf-0.37.0-py3-none-any.whl (105 kB)
  Collecting aiofiles==0.8.*
    Downloading aiofiles-0.8.0-py3-none-any.whl (13 kB)
  Collecting ajsonrpc==1.*
    Using cached ajsonrpc-1.2.0-py3-none-any.whl (22 kB)
  Collecting starlette==0.17.*
    Using cached starlette-0.17.1-py3-none-any.whl (58 kB)
  Collecting uvicorn==0.16.*
    Downloading uvicorn-0.16.0-py3-none-any.whl (54 kB)
  Collecting wsproto==1.0.*
    Using cached wsproto-1.0.0-py3-none-any.whl (24 kB)
  Collecting charset-normalizer~=2.0.0
    Using cached charset_normalizer-2.0.9-py3-none-any.whl (39 kB)
  Collecting urllib3<1.27,>=1.21.1
    Using cached urllib3-1.26.7-py2.py3-none-any.whl (138 kB)
  Collecting certifi>=2017.4.17
    Using cached certifi-2021.10.8-py2.py3-none-any.whl (149 kB)
  Collecting idna<4,>=2.5
    Using cached idna-3.3-py3-none-any.whl (61 kB)
  Collecting anyio<4,>=3.0.0
    Using cached anyio-3.4.0-py3-none-any.whl (78 kB)
  Collecting h11>=0.8
    Using cached h11-0.12.0-py3-none-any.whl (54 kB)
  Collecting asgiref>=3.4.0
    Using cached asgiref-3.4.1-py3-none-any.whl (25 kB)
  Collecting ifaddr>=0.1.7
    Using cached ifaddr-0.1.7-py2.py3-none-any.whl (10 kB)
  Collecting sniffio>=1.1
    Using cached sniffio-1.2.0-py3-none-any.whl (10 kB)
  Building wheels for collected packages: platformio
    Building wheel for platformio (setup.py): started
    Building wheel for platformio (setup.py): finished with status 'done'
    Created wheel for platformio: filename=platformio-5.2.4-py3-none-any.whl size=344394 sha256=e08ce5c25916b31c0479140b215d83dc9897e657b1a1122bf75fbc3947cf894d
    Stored in directory: /root/.cache/pip/wheels/c7/5f/eb/2b681c5612c9a8ace53548f7febbd3edd52d6522ebfe2aafcc
  Successfully built platformio
  Installing collected packages: sniffio, idna, urllib3, ifaddr, h11, click, charset-normalizer, certifi, asgiref, anyio, zeroconf, wsproto, uvicorn, tabulate, starlette, semantic-version, requests, pyserial, pyelftools, marshmallow, colorama, bottle, ajsonrpc, aiofiles, platformio
  Successfully installed aiofiles-0.8.0 ajsonrpc-1.2.0 anyio-3.4.0 asgiref-3.4.1 bottle-0.12.19 certifi-2021.10.8 charset-normalizer-2.0.9 click-8.0.3 colorama-0.4.4 h11-0.12.0 idna-3.3 ifaddr-0.1.7 marshmallow-3.14.1 platformio-5.2.4 pyelftools-0.27 pyserial-3.5 requests-2.26.0 semantic-version-2.8.5 sniffio-1.2.0 starlette-0.17.1 tabulate-0.8.9 urllib3-1.26.7 uvicorn-0.16.0 wsproto-1.0.0 zeroconf-0.37.0

  PlatformIO Core has been successfully installed into an isolated environment `/root/.platformio/penv`!

  The full path to `platformio.exe` is `/root/.platformio/penv/bin/platformio`

  If you need an access to `platformio.exe` from other applications, please install Shell Commands
  (add PlatformIO Core binary directory `/root/.platformio/penv/bin` to the system environment PATH variable):

  See https://docs.platformio.org/page/installation.html#install-shell-commands

  Found compatible PlatformIO Core 5.2.4 -> /root/.platformio/penv/bin/platformio

  --- stderr
  Error: Compatible PlatformIO Core not found.
  Reason: PlatformIO Core was installed using another platform `Linux-5.11.0-1021-azure-x86_64-with-glibc2.29`. Your current platform: Linux-5.10.47-linuxkit-x86_64-with-glibc2.29
  Error: invalid type: null, expected a string at line 1 column 9390

  Stack backtrace:
     0: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
     1: <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual
     2: embuild::pio::Pio::json
     3: embuild::pio::Pio::frameworks
     4: embuild::pio::Resolver::resolve_platform_all
     5: embuild::pio::Resolver::resolve
     6: build_script_build::build_driver::build
     7: build_script_build::main
     8: core::ops::function::FnOnce::call_once
     9: std::sys_common::backtrace::__rust_begin_short_backtrace
    10: std::rt::lang_start::{{closure}}
    11: std::rt::lang_start_internal
    12: std::rt::lang_start
    13: main
    14: __libc_start_main
    15: _start

This is fixed in the meantime.

Thank you @ivmarkov . Closing. Feel free to reopen if issue is still present.

@georgik what I meant is that the issue is fixed in esp-idf-sys since some time, but I have no idea if we have updated the docker images since then, sorry for the confusion.

@akselbor The image was updated with 1.58.0.0. Please pull new latest.
Note: I've noticed that --features "native" is not mentioned in the motd file.
Nevertheless, CI is passing with the latest version.

authors: akselbor georgik ivmarkov

repo: esp-rs/rust-build


text:
ERROR: .espressif\python_env\idf5.2_py3.10_env\Scripts\python.exe doesn't exist! (IDFGH-13578)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
5.2.0
Operating System used.
Windows
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
CMD
What is the expected behavior?
For export.bat to run without error
What is the actual behavior?
I am running install.bat all and that completes without error. It creates a venv of .espressif\python_env\idf5.2_py3.8_env and when I run export.bat I get the following error.
Checking if Python packages are up to date...
ERROR: .espressif\python_env\idf5.2_py3.10_env\Scripts\python.exe doesn't exist! Please run the install script or "idf_tools.py install-python-env" in order to create it

it's looking for a completely different version of python. I am not sure why this is happening.
Steps to reproduce.
clone the IDF repo.
checkout version 5.2
run install.bat
run export.bat
Build or installation Logs.
No response
More Information.
No response

Thanks for reporting.

Could you check please the environment variables set in you Windows? Do you have IDF_PYTHON_ENV_PATH or other ESP-IDF variables defined?

no variables set for esp idf
run install.bat
run export.bat

Did you run these in sequence in the same terminal?
Yes I ran the batch files in that order.

Is the terminal a clean one before running install.bat or you are running this in an already active ESP-IDF environment (started with an ESP-IDF shortcut or export.bat already run in it)?

This is a clean shell and both scripts are being run from the same shell. No active IDF environments.

Hi @kdschlosser,
it's strange that there are 2 pythons detected, I can think of a few things to check:

What happens when you delete the .espressif\python_env and re-run the install script?
What happens when you delete the .espressif\python_env and run the advised command python.exe idf_tools.py install-python-env?
What gives you command where python.exe in your CMD? Does this change after running the install script?

It seems that the system is confused about what is the default Python version.
To resolve the issue, my suggestion is to either reinstall the Python versions or install a newer version and set it as the default during installation.
Few notes to installing Python on Windows:

Do you recall how you installed the Python versions? I strongly recommend using the official Python installer: https://www.python.org/downloads/windows/
Python versions installed from Windows Microsoft Store cause issues sometimes. Especially when installed with other Python versions.

I have the Microsoft Store disabled. Though when I do the where python.exe I get this as the return...
C:\Python38\python.exe
C:\Users\********\AppData\Local\Microsoft\WindowsApps\python.exe

I tried to get the version from the last entry but I get an error saying the version doesn't exist.
I have Python installed, 3.8, 3.10 and 3.11 and all 3 were installed using the Python installation utility and not from the Microsoft store.

What happens when you delete the .espressif\python_env and re-run the install script?

It recreates the same environment

What happens when you delete the .espressif\python_env and run the advised command python.exe idf_tools.py install-python-env?

it creates the same environment
If I specify the full path to my python 3.10 installation and run idf_tools it creates the environment it is looking for when the failure occurs.
I think I figured out what is going on.. The install script is creating the environment based off what is returned from where. and I find that to be rather foolish. Firstly there should be a parameter that can be passed to the install.bat script so the python path can be user set.... The issue is I have an alias set up using DOSKEY that points python to my 3.10 installation. The export.bat script doesn't use where when running whatever python script it is running to set up the environment. It is blindly making a call to the shell to run python not knowing what version is actually going to get used. If where is going to be the way the install script picks which Python to use then where should also get run to collect the python executable that is going to be used when running the python script from export.bat.
Personally I feel where should not be used at all for any portion of this. What should be done is a simple registry lookup for Python installations and the one that should get used is the one that is the highest version that the ESP-IDF is able to run with. I am using this logic to make that decision. People tend to install things in the order in which they are released. As a new version comes out they install it. so you would have lower version of Python installed first. When a new path is added to the PATH environment variable how is it typically done? Well it can either be prepended or it can be appended. Appending is a whole lot easier to do in just about every programming language that is written and that is usually what gets done. The results of running where is then going to list the oldest versions first yes? Yup... What versions of python are the most likely to get uninstalled from a users PC?? The oldest ones.. So why on earth would the install script use where to determine which python to use?
this regkey gives the different installed python versions along with their installation path. it even tells you what features are installed with that version so you can check to see if the needed parts are installed for python to run. Things like pip which are fairly important to have and if the installation doesn't have it installed then why even bother using it?
/HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore

Here is a batch file script that queries the registry and collects the highest version of Python that is installed onto the system. I am sure it could be written better as I am not a window batch file expert or anything like that. There should also be a check in there to see if the executable even exists prior to setting it as the one that has been found. There also needs to be a check to see if anything has been found. But it gives the basic idea and this is what should be in both the install.bat and also the export.bat files for selecting the version of python to use. Even where will report erroneous paths to the python executable so a check for the existence of the executable should ALWAYS be done.
@echo off
setlocal
setlocal enabledelayedexpansion

set "_version_major=0"
set "_version_minor=0"
set _found_python_path=""

for /f "tokens=1" %%a in ('REG QUERY HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore /s /f InstallPath ^| findstr "HKEY_LOCAL_MACHINE"') do (
  set _python_reg=%%a

  for /f "tokens=3" %%b in ('REG QUERY !_python_reg! /v ExecutablePath') do (
    set _python_path=%%b
  )

  for /f "tokens=5 delims=\" %%v in ("%%a") Do (
    set _version=%%v

    for /f "tokens=1,2 delims=." %%p in ("%%v") Do (
      set "_major=%%p"
      set "_minor=%%q"

      IF !_major! gtr !_version_major! (
        set "_version_major=%%p"
        set "_version_minor=%%q"
        set _found_python_path=!_python_path!
      ) ELSE (
        IF !_major!==!_version_major! IF !_minor! gtr !_version_minor! (
          set "_version_major=%%p"
          set "_version_minor=%%q"
          set _found_python_path=!_python_path!
        )
      )
    )
  )
)
echo !_found_python_path!
endlocal

The above is a better way to collect the executable location for python. It will not get screwed up by something like an alias being set.

another note is any time a subprocess is started from inside of a python script to run another session of python the fill path to the running python executable of python should be given. this is easily gotten from sys.executable passing python only as the executable name can and will cause problems if there are any aliases in place. Never rely on thing being how you would think they would be. Always write code that removed the possibility of variations and providing FULL paths to an executable and not relying on things being in the PATH is the ONLY way to be 100% sure.

Hello @kdschlosser ,
I'm not using Windows, so I can't confirm this, but I think batch files run in a separate context, and doskey macros don't carry over between different contexts or sessions.
https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/doskey

To run a macro, type the macro name at the command prompt, starting at the first position. If the macro was defined with $* or any of the batch parameters $1 through $9, use a space to separate the parameters. You cannot run a doskey macro from a batch program.

In my opinion, what's happening is that while install.bat runs in a different context, the doskey macro isn't visible, so python.exe points to your 3.8 version. This means the virtual environment is installed with this Python version.
However, export.bat runs in the current cmd.exe context, where your doskey macro is available and points to Python 3.10.
This is just my guess what might be happening and I of course may be wrong. Also this doesn't solve the problem you are seeing, I'm just trying to understand how this situation can happen.
Thank you

Hi @kdschlosser
I am glad you find a way to make it work.
I understand your view on finding and using the latest version of Python. It's important to consider that there are numerous use cases for Python, and developers may require different versions for specific purposes. Thus, they may implement various ways to invoke particular versions. Understanding the diverse needs of users,  we use the most common method to detect Python.
To fix your problem, I can recommend two solutions:

Set up our IDF_PYTHON_ENV_PATH environmental variable after you create the required python version directory .espressif\python_env\idf5.2_py3.10_env. This ensures that the ESP-IDF finds the Python environment you want to use every run.
Use our ESP-IDF Tools Installer. You can choose to download or use existing ESP-IDF version, and all the required tools with python virtual environment are set up automatically.

batch files run in the same context as the command shell they were launched from and the command they run also run in that same cmd shell unless they explicitly start a new one.
right in the export.bat file there are doskey commands to map python source files to python

My apologies for the noise. I didn't realize that export.bat is actually executed on Windows rather than sourced as it is on Linux. Thank you

@kdschlosser Did the suggestion of @mfialaf about setting that environment variable or using the Windows installer helped you to resolve the issue?

I'm closing this for inactivity.

authors: Alvin1Zhang dobairoland fhrbata kdschlosser mfialaf

repo: espressif/esp-idf


text:
Linking error with conflicting _raise_r definitions (IDFGH-1807)

Using latest master (a7e8d87d3e5ccc9e5ffcd701a1bac587ba4f43ea), and running updated toolchain (that was installed via ./install.sh), I now got this linking error:
/Users/cyril/.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld: /Users/cyril/.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/lib/libc_nano.a(lib_a-raise.o): in function `_raise_r':
/builds/idf/crosstool-NG/.build/HOST-x86_64-apple-darwin12/xtensa-esp32-elf/src/newlib/newlib/libc/signal/raise.c:65: multiple definition of `_raise_r'; /Users/cyril/esp/project/build/newlib/libnewlib.a(syscalls.o):/Users/cyril/esp/esp-idf/components/newlib/syscalls.c:31: first defined here

This is fixed for me by:
diff --git a/components/newlib/syscalls.c b/components/newlib/syscalls.c
index c3da628..3a04b84 100644
--- a/components/newlib/syscalls.c
+++ b/components/newlib/syscalls.c
@@ -27,6 +27,7 @@ int _system_r(struct _reent *r, const char *str)
     return -1;
 }

+int _raise_r(struct _reent *r, int sig) __attribute__((weak));
 int _raise_r(struct _reent *r, int sig)
 {
     abort();

Typically, since I can't change the implementation in the cross compiler, I'm saying that the second one in newlib is a weak symbol, and this will be replaced by the one in the cross compiler.
Since you've passed your build tests on your side (I guess), this means that you don't have such symbol in your cross compiler toolchain. If I just remove it, it would break on your side (in that case, the symbol will be missing for you).
Ideally, the cross compiler toolchain should not contain such symbol, but that's not something we can fix in this repository.

Thanks for reporting the issue. Would you please help provide more details as suggested in the issue template? Information like elf, sdk configuration, backtrace, log outputs, commit ID, hardware and etc. would help us debug further. Thanks. @X-Ryl669

Environment

Development Kit:      [ESP32-Wrover-Kit|ESP32-DevKitC|ESP32-PICO-Kit|ESP32-LyraT|ESP32-LyraTD-MSC|none]

Kit version (for WroverKit/PicoKit/DevKitC): [v1|v2|v3|v4]

Module or chip used:  [ESP32]

IDF version (run git describe --tags to find it): see commit id in first post

Build System:         [Make]

Compiler version (run xtensa-esp32-elf-gcc --version to find it): xtensa-esp32-elf-gcc (crosstool-NG esp32-2019r1) 8.2.0

Operating System:     [macOS]

Power Supply:         [USB|external 5V]

Fixed in https://github.com/espressif/esp-idf/commit/08286ac20f28a58fffe7acacc34c3566dededdef.


text:
esp_eth: InstrFetchProhibited (IDFGH-2365)

latest master (9dbb7526c5d140b22529a1cfb0b4b46a0ab288aa).

Guru Meditation Error: Core  0 panic'ed (InstrFetchProhibited). Exception was unhandled.
Core 0 register dump:
PC      : 0x3d52dc03  PS      : 0x00060830  A0      : 0x80138391  A1      : 0x3ffbee80
A2      : 0x3f80a314  A3      : 0x3fff3868  A4      : 0x00000001  A5      : 0x3fff3868
A6      : 0x40136320  A7      : 0x3fff38fc  A8      : 0x801612ee  A9      : 0x3ffbee50
0x40136320: eth_check_link_timer_cb at /Users/szmodz/xxx/esp-idf/components/esp_eth/src/esp_eth.c:152
A10     : 0x40162a70  A11     : 0x3fff3868  A12     : 0x00000001  A13     : 0x3fff3868
0x40162a70: ethernetif_init at /Users/szmodz/xxx/esp-idf/components/lwip/port/esp32/netif/ethernetif.c:194
A14     : 0x00000000  A15     : 0x02100000  SAR     : 0x0000000f  EXCCAUSE: 0x00000014
EXCVADDR: 0x3d52dc00  LBEG    : 0x40085e31  LEND    : 0x40085e65  LCOUNT  : 0xffffffff
0x40085e31: memcpy at /builds/idf/crosstool-NG/.build/HOST-x86_64-apple-darwin12/xtensa-esp32-elf/src/newlib/newlib/libc/machine/xtensa/memcpy.S:291
0x40085e65: memcpy at /builds/idf/crosstool-NG/.build/HOST-x86_64-apple-darwin12/xtensa-esp32-elf/src/newlib/newlib/libc/machine/xtensa/memcpy.S:324
Backtrace: 0x3d52dc00:0x3ffbee80 |<-CORRUPTED

sorry, it's something else probably.


text:
[TW#15175] flash read err, 1000

Hi,
Already read the issue #117 related to this issue.
But with the help of this I,am not able to get rid of this err,
With the help of msys32 must working ok because I can disable in the menu the "Security features and  " which i did.
When I want to run espefuse.py burn_efuse FLASH_CRYPT_CNT  in the directory where espsecure.py and esptool.py are situated I get the measage "Theofast@Theofast-PC MINGW32 ~/esp-idf/components/esptool_py/esptool
$ espsecure.py burn_efuse FLASH_CRYPT_CNT
-bash: espsecure.py: command not found
Where do I go wrong?
Make menuconfig in folder blink in esp folder.
I,am working with a esp32-vroom-32
The problem I have is that the esp wil not hold data in his nvs memory.
Any help is appreciated.
Kind regards,
Theo

Hi,
this error is related to a missing espsecure.py script.
Two ways to resolve the problem (if this is the only problem):

Add the path to the PATH variable: export PATH=$PATH:/home//esp-idf/components/esptool_py
Call the script differently: $ **./**espsecure.py burn_efuse FLASH_CRYPT_CNT

There was another issue if you have further problems: #113
Best regards

Hi Benjamin,
Thanks for your reply.
To the best of my knowledge I made a script. With the following text...
export PATH="C:/msys32/home/Theo/esp-idf/components/esptool_py/esptool"
I named the script export_idf_flash_path.sh   properties mentioned Shell Script (.sh)
Unfortunately it didn,t work.
in this folder "esptool"  there are esptool,espefuse,espsecure python files among others.
I  still get the same measage   -bash: espsecure.py: command not found
I do realise it is very difficult on distance to see what is going wrong.
Where can I read the docs. which explain the making of the script? Maybe this will help.
As far as I know f.i. installing the esp-idf do not mention making a script neither nor in the issues. So I,am a bit confused.
Dealing with this error is advisable to read the docs. in order to understand what is flash encription.
Like to hear.
Kind regards
ps. I remain looking for a methode to solve this flash read err, 1000

Try to call the script from the esp-idf/components/esptool_py/esptool path with following command:
python ./espsecure.py
If you get something like "usage: espsecure [-h] ...."
than at least the script is working and you can continue with removing the secure boot (see other issues).
If there is something like "Python: command not found", you have to install python in a correct way (I cannot assist you on this topic, I don't use msys/cygwin).
Best regards

Hi, Benjamin,
Thanks for your swift reply.
I indeed checked the above mentioned test and is posifive.
I do get the conformation that the script is running.
$ python ./espsecure.py
usage: espsecure [-h]
{digest_secure_bootloader,generate_signing_key,sign_data,verify   _signature,extract_public_key,digest_private_key,generate_flash_encryption_key,d   ecrypt_flash_data,encrypt_flash_data}
...
espsecure: error: too few arguments
As far as I understand and know I realy lack of python program skills. Sorry by that.
Howe ever I,am using this esp32 chip in the internet radio ( which I like very much ) with the err it is not possible to read the SD card most probably caused by the flash err.
So I now will go on further with your proposal for cont. with removing the secure boot........
Thanks
Keep my result posted.
Kind regards,
Theo
ps. my guide is the espressif idf programming guide
What is the diff between  msys2 and mingw32

Hi,
After further tests and RTFM I experienced that when I use "" python ./espefuse.py --port COM14 summary
It connects to the esp32 and give this as output...
Theofast@Theofast-PC MINGW32 ~/esp-idf/components/esptool_py/esptool
$ python ./espefuse.py --port COM14 summary
espefuse.py v2.1
Connecting........_
Security fuses:
FLASH_CRYPT_CNT        Flash encryption mode counter                     = 0 R/W (0x0)
FLASH_CRYPT_CONFIG     Flash encryption config (key tweak bits)          = 0 R/W (0x0)
CONSOLE_DEBUG_DISABLE  Disable ROM BASIC interpreter fallback            = 0 R/W (0x0)
ABS_DONE_0             secure boot enabled for bootloader                = 0 R/W (0x0)
ABS_DONE_1             secure boot abstract 1 locked                     = 0 R/W (0x0)
JTAG_DISABLE           Disable JTAG                                      = 0 R/W (0x0)
DISABLE_DL_ENCRYPT     Disable flash encryption in UART bootloader       = 0 R/W (0x0)
DISABLE_DL_DECRYPT     Disable flash decryption in UART bootloader       = 0 R/W (0x0)
DISABLE_DL_CACHE       Disable flash cache in UART bootloader            = 0 R/W (0x0)
BLK1                   Flash encryption key
= 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R/W
BLK2                   Secure boot key
= 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R/W
BLK3                   Variable Block 3
= 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R/W
Efuse fuses:
WR_DIS                 Efuse write disable mask                          = 0 R/W (0x0)
RD_DIS                 Efuse read disablemask                            = 0 R/W (0x0)
CODING_SCHEME          Efuse variable block length scheme                = 0 R/W (0x0)
KEY_STATUS             Usage of efuse block 3 (reserved)                 = 0 R/W (0x0)
Config fuses:
XPD_SDIO_FORCE         Ignore MTDI pin (GPIO12) for VDD_SDIO on reset    = 0 R/W (0x0)
XPD_SDIO_REG           If XPD_SDIO_FORCE, enable VDD_SDIO reg on reset   = 0 R/W (0x0)
XPD_SDIO_TIEH          If XPD_SDIO_FORCE & XPD_SDIO_REG, 1=3.3V 0=1.8V   = 0 R/W (0x0)
SPI_PAD_CONFIG_CLK     Override SD_CLK pad (GPIO6/SPICLK)                = 0 R/W (0x0)
SPI_PAD_CONFIG_Q       Override SD_DATA_0 pad (GPIO7/SPIQ)               = 0 R/W (0x0)
SPI_PAD_CONFIG_D       Override SD_DATA_1 pad (GPIO8/SPID)               = 0 R/W (0x0)
SPI_PAD_CONFIG_HD      Override SD_DATA_2 pad (GPIO9/SPIHD)              = 0 R/W (0x0)
SPI_PAD_CONFIG_CS0     Override SD_CMD pad (GPIO11/SPICS0)               = 0 R/W (0x0)
DISABLE_SDIO_HOST      Disable SDIO host                                 = 0 R/W (0x0)
Identity fuses:
MAC                    MAC Address                                       = 22:00:cc:00:cc:00 R/W
CHIP_VERSION           Chip version                                      = 0 R/W (0x0)
CHIP_PACKAGE           Chip package identifier                           = 0 R/W (0x0)
Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V).
Which looks to me all ok. all zero,s   " 0 "
Remains the err. flash read err, 1000 after 2nd start of the esp32?????
Keep surging.
Regards,
Theo

If you have flash read err, 1000 error continuously after reset, please check that you don't have any external signals connected to SPI flash pins of the ESP32 (pins 6-11). If you don't have anything connected to these pins, it means that your SPI flash chip may have been damaged.

Hi, @igrr
Ok, I will check.
Question if I made a encrypt summary I read all figures 0 "zero" expect the mac.adres from the chip
is this correct?
Kind regards,
Theo
ps. above reply from Benjamin realy helped my to find my way

MAC address value in espefuse.py summary looks incorrect. Unless you have modified the output for presentation purposes, MAC address of an ESP32 should start with one of prefixes listed here.

In addition to what @igrr says, because FLASH_CRYPT_CNT and ABS_DONE_0 efuses are both 0 this suggests that secure boot and flash encryption were never enabled and are not currently enabled. Unless you turned these options on in menuconfig and manually & explicitly flashed a bootloader, that's the case (they don't accidentally get turned on.)
For this reason, I do not recommend trying to burn any flash encryption efuses in this case, as you will enable (rather than disable) flash encryption!
If you can explain some more about your hardware setup, etc. then we may be able to help you diagnose the underlying problem. (As @igrr says, the MAC value looks very unusual and incorrect.)

Hi,
@iggr  the mac adres I did myself .
@projectgus  Also many thanks for reply.
I made a drawing howe I connect the radio/esp32
This is the ESP32 internet radio from ED Zelf  ( very nice project )
Enclosed you will find the drawing

From a powersupply 230/50Hz sec. 6VDC 400mA ( regilated I feeding a 3.3 volt regulator on the 3.3 volt side about 1160 micro Farad elco capacitors. I have the ideer the power supply is ok.
Draw about 250 milli amps@3,3 volt
Indeed I hesistate to burn efuses.
Because the summary showed all 0  zero,s  which must be ok.
The mac adres is changed by myself. ( security)
I suffer from the "flash read err, 1000 " which after upload is not present only after I started the radio by the on/off switch the error ocure.
Which on his turn do not tart the SD card.
This ESP32 devboard I played with several scketches for gaining some experience. Like simple server. etc.
A second radio with a similair setup and  out of the box ESP32 give no problem.
So either a HW or Sw fault I,am looking for.
Software is most likely out of suspection.
HW bad powersupply or firmware setting corrupt must be the problem.
Like to hear.
Theo

Hi,
In addition to former meassage I enclose debug list from start-up esp32
first start after update of the software from the default page (NVS)
second start after start  by means of push the EN button on devkit board
First the SD card is accessible.
Second start SD card not accessible and flash read err, 1000 error.
ESP32 reset met html page config.txt
ESP32 opstart na reset with EN.txt

https://github.com/espressif/esp-idf/issues/113#issuecomment-268698113
https://github.com/espressif/esp-idf/issues/113#issuecomment-303186904
Both your logs say

D: Locate mp3 files on SD, may take a while...
D: 11 tracks on SD

Hi, @-negativekelvin
Cool to notice.
Apart from this sd card can`t be read with the flash read err,1000 after startup with poweron.
I will make a new printout.
So # 113 deals also with this flash read err. I will read carefully.
Btw I,am redesighn my pcb to by shure to work with a spoton powersupply.
Kind regards,
Theo

Are you able to remove the DEVKIT V1 board from the rest of the hardware entirely, and see if it programs & boots successfully connected with only USB connected?

Hi, all
In reaction of your all reply,s I report as follow, after exchange my esp32 devboard it is defenetely a hardware fault in my pcb.
I changed a "good" esp32 into my faulty radio and the fault remains.
I inserted my "faulty" esp32 into my good radio and the fault was not noticed.
So I have a seriuos hardware fault in my radio.
Last weekend I already cleared up my wiring and checked the pcb for faults visual no adnormalities found.
So I have a job to do.
Hopefully this takes away some smoke around the flash read err, 1000 error.
Keep you posted.
All I do realy appreciate the contribution in reply on my post.
Kind regards,
Theo
Again I like to mention the wonderfull project EdZelf has made where I use my ESP32
@projectgus yes I am able to just single test my both ESP32 and they where possible to program.
@-negativekelvin again I tested the printout and the same result however the flash fault and SD card was read It is not possible from http and the display mentioned sd card mount failed.

Hi,
After  further testing and fault finding I concluded that a micro SD card from 1G is the faulty part.
I placed a new 4G micro SD card in the SD adapter and tested both radio,s correct functioning.
I noticed during testing that my ceramic capaciters in my powersupply do there work.
Before my LD33CV I soldered a 470nF and after a 100nF capaciter. Glitsing which happened plugging the USB plug is not anylonger noticed.
All of you who contribute to this issue many thanks.
Kind regards,
Theo
I closed this issue

Although this is a solved issue, it is worth mentioning here another variant, for those coming here via Google.
If you plug your ESP32 into a board that you made, and you see the 'flash read err, 1000', but it works fine when you unplug it from your board, then here is a case which would trigger this:
Basically, if you have a tiny solder bridge between GND and one of the FLASH pins (GPIO6, 7, 8, 9, 10, 11), this will happen.
To solve it inspect your board with a magnifying glass carefully.

authors: benjaminaigner igrr ilioss kbahey negativekelvin projectgus


text:
Memory corruptions and leaks

Due to a coverity software pass, I saw those critical issues. Those patches fix tow "leaks" and one "memory corruption".

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Quentin Thérond seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Hello, I accepted CLA and I add my e-mail addr.

Thanks very much for sending these @Mras2an and sorry for the slow reply.
I've cherry-picked these into our review & merge queue with one minor modification (null-check around workbuf is redundant as free(NULL) is valid.)

Cherry-picked as b4857fc, thanks!

source: gharchive/pull-request

authors: CLAassistant Mras2an projectgus


text:
Start web server on ETH_GOT_IP, not just STA_GOT_IP (TZ-988)

Fixes https://github.com/espressif/esp-thread-br/issues/76

@jeremyherbert Thanks for the contribution!

authors: chshu jeremyherbert

repo: espressif/esp-thread-br


text:
messagesoverlay - Fix handlers being restored incorrectly if message removed

When GB removes a message the swipe/drag/touch handlers of the currently running app were not restored correctly.

Thanks!

authors: gfwilliams halemmerich

repo: espruino/BangleApps


text:
[WIP] feat: program registry

Updates to latest base, that means adapting to two major changes: https://github.com/essential-contributions/essential-base/pull/229 and https://github.com/essential-contributions/essential-base/pull/236

[x] Program registry contract and program deployment
[x] Tests
[ ] Refactor into modules for easier readability

Like the contract registry contract, the program registry contract only has storage and no logic in the predicate for now. Related and next steps: #48, https://github.com/essential-contributions/essential-base/issues/190 and https://github.com/essential-contributions/essential-base/issues/221
Closes #148

One rename left after latest commit:

[ ] Rename all mentions of dec_vars in db to predicate_data

One rename left after latest commit:

[ ]  Rename all mentions of dec_vars in db to predicate_data

perfect, this will unblock me nicely.

authors: nfurfaro supiket

repo: essential-contributions/essential-node


text:
Add a license

Incredibly impressive work!
I am assuming that you're planning for this dashboard to be open source. If that is true, could you go ahead and add a license?
Thank you

Can't believe I missed that 😅
It's definitely open source. I will be adding MIT license soon.

Yay! Thank you
On Wed, Jun 24, 2020, 21:18 Estevan Maito notifications@github.com wrote:

Closed #1 https://github.com/estevanmaito/windmill-dashboard/issues/1.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/estevanmaito/windmill-dashboard/issues/1#event-3478956185,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACQTMUI6K6AEPV2UIJRFPLRYJGO7ANCNFSM4OGZUFFA
.

authors: bojanz estevanmaito

repo: estevanmaito/windmill-dashboard


text:
🛑 App is down

In 72f3883, App (https://app.estii.com) was down:

HTTP code: 500
Response time: 104 ms

Resolved: App is back up in 55843fb after 5 minutes.

repo: estii/upptime


text:
Take secrets from environment

I'd love to deploy this on heroku, but I don't want to commit secrets (conduit cert, slack token) to the git repository. It'd be great to have them read from the environment.

This has always been supported, but it wasn't documented. I've added an example to the README.

Oh awesome! Thanks :)

authors: etcinit nornagon

repo: etcinit/phabulous

license: mit


text:
feat(nx-plugin): Use specific polyfills instead of all

We're currently using the "all" polyfill-io featureset and the following is logged to the console:

Using the all alias with polyfill.io is a very bad idea. In a future version of the service, all will deliver the same behaviour as default, so we recommend using default instead.

I've attempted to determine a reasonable set of what polyfills we are likely to need and set them explicitly

In retrospect, https://github.com/Financial-Times/polyfill-service-url-builder would probably be more bulletproof and be a lower maintenance burden. I'd need to investigate how to integrate with Vite - might need to actually call js-features-analyser directly under the hood with the raw bundle(s). If we don't have time to do it before this gets merged, should file an issue about it

I've now implemented the plugin to autogenerate the polyfill-io URL. I'll update the PR description to reflect the current state here

repo: eternagame/workspace-helpers


text:
change fired twice

It seems the change event is firing twice under certain circumstances. _setDate() calls setValue(), which fires change here; and then later fires change itself here.

Fixed #1337

authors: acrobat mattdeclaire

repo: eternicode/bootstrap-datepicker


text:
Fix python3.12 build

update cpython to 0.7.2
(version that includes https://github.com/dgrunwald/rust-cpython/pull/295 with python3.12 support)
update flapigen to 0.6.1
(removes git dependency in Cargo.lock)

Second commit updating flapigen is mostly for nixpkgs purposes.
Because otherwise there is no way to build etebase-py without vendoring full Cargo.lock in nixpkgs.
Fixes #50

Thanks a lot!

@tasn could you cut a release for this?

authors: Xiretza ghpzin tasn

repo: etesync/etebase-py


text:
schemas: add missing launchers upcrun and upcxx-run

ReFrame 3 upstreamed support for UPC and UPC++ launchers from Berkeley Lab. This PR fixes a missed change to the launcher schemes. Without this, tests which request the upcrun or upcxx-run launchers will fail because ReFrame cannot find them in this list.

Can I test this patch?

Codecov Report

Merging #1393 into master will increase coverage by 0.08%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1393      +/-   ##
==========================================
+ Coverage   91.66%   91.75%   +0.08%
==========================================
  Files          83       83
  Lines       12673    12712      +39
==========================================
+ Hits        11617    11664      +47
+ Misses       1056     1048       -8

Impacted Files
Coverage Δ

reframe/core/meta.py
96.77% <0.00%> (-3.23%)
:arrow_down:

reframe/core/schedulers/__init__.py
98.83% <0.00%> (ø)

reframe/frontend/cli.py
78.15% <0.00%> (+0.17%)
:arrow_up:

reframe/core/schedulers/slurm.py
57.54% <0.00%> (+1.72%)
:arrow_up:

unittests/test_schedulers.py
93.82% <0.00%> (+2.00%)
:arrow_up:

Continue to review full report at Codecov.

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

ok to test

authors: bcfriesen codecov-commenter jenkins-cscs vkarak

repo: eth-cscs/reframe


text:
Some errors

Running the latest CLI with local geth on Ubuntu sporadically shows some errors I do not know what to do with it:
(node:20910) UnhandledPromiseRejectionWarning: Error: [0x64aac3e55c93ae66a76e73ceaf96ff33d0ab01c0] Unrecognized temporal unit: 0
at TxRequest.now (/home/master/eac/cli-master/node_modules/eac.js-lib/lib/txRequest/txRequest.js:96:11)
at TxRequest.inFreezePeriod (/home/master/eac/cli-master/node_modules/eac.js-lib/lib/txRequest/txRequest.js:113:28)
at Router. (/home/master/eac/cli-master/node_modules/@ethereum-alarm-clock/timenode-core/built/src/Router/Router.js:74:33)
at Generator.next ()
at /home/master/eac/cli-master/node_modules/@ethereum-alarm-clock/timenode-core/built/src/Router/Router.js:7:71
at new Promise ()
at __awaiter (/home/master/eac/cli-master/node_modules/@ethereum-alarm-clock/timenode-core/built/src/Router/Router.js:3:12)
at Router.freezePeriod (/home/master/eac/cli-master/node_modules/@ethereum-alarm-clock/timenode-core/built/src/Router/Router.js:73:16)
at Router. (/home/master/eac/cli-master/node_modules/@ethereum-alarm-clock/timenode-core/built/src/Router/Router.js:155:36)
at Generator.next ()
at /home/master/eac/cli-master/node_modules/@ethereum-alarm-clock/timenode-core/built/src/Router/Router.js:7:71
at new Promise ()
at __awaiter (/home/master/eac/cli-master/node_modules/@ethereum-alarm-clock/timenode-core/built/src/Router/Router.js:3:12)
at Router.route (/home/master/eac/cli-master/node_modules/@ethereum-alarm-clock/timenode-core/built/src/Router/Router.js:152:16)
at TimeNodeScanner. (/home/master/eac/cli-master/node_modules/@ethereum-alarm-clock/timenode-core/built/src/Scanner/CacheScanner.js:28:29)
at Generator.next ()
(node:20910) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
(node:20910) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
(node:20910) UnhandledPromiseRejectionWarning: Error: [0x64aac3e55c93ae66a76e73ceaf96ff33d0ab01c0] Unrecognized temporal unit: 0
at TxRequest.now (/home/master/eac/cli-master/node_modules/eac.js-lib/lib/txRequest/txRequest.js:96:11)
at TxRequest.inFreezePeriod (/home/master/eac/cli-master/node_modules/eac.js-lib/lib/txRequest/txRequest.js:113:28)
at Router. (/home/master/eac/cli-master/node_modules/@ethereum-alarm-clock/timenode-core/built/src/Router/Router.js:74:33)
at Generator.next ()
at /home/master/eac/cli-master/node_modules/@ethereum-alarm-clock/timenode-core/built/src/Router/Router.js:7:71
at new Promise ()
at __awaiter (/home/master/eac/cli-master/node_modules/@ethereum-alarm-clock/timenode-core/built/src/Router/Router.js:3:12)
at Router.freezePeriod (/home/master/eac/cli-master/node_modules/@ethereum-alarm-clock/timenode-core/built/src/Router/Router.js:73:16)
at Router. (/home/master/eac/cli-master/node_modules/@ethereum-alarm-clock/timenode-core/built/src/Router/Router.js:155:36)
at Generator.next ()
at /home/master/eac/cli-master/node_modules/@ethereum-alarm-clock/timenode-core/built/src/Router/Router.js:7:71
at new Promise ()
at __awaiter (/home/master/eac/cli-master/node_modules/@ethereum-alarm-clock/timenode-core/built/src/Router/Router.js:3:12)
at Router.route (/home/master/eac/cli-master/node_modules/@ethereum-alarm-clock/timenode-core/built/src/Router/Router.js:152:16)
at TimeNodeScanner. (/home/master/eac/cli-master/node_modules/@ethereum-alarm-clock/timenode-core/built/src/Scanner/CacheScanner.js:28:29)
at Generator.next ()
(node:20910) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 4)
(node:20910) UnhandledPromiseRejectionWarning: Error: [0x64aac3e55c93ae66a76e73ceaf96ff33d0ab01c0] Unrecognized temporal unit: 0
at TxRequest.now (/home/master/eac/cli-master/node_modules/eac.js-lib/lib/txRequest/txRequest.js:96:11)
at TxRequest.inFreezePeriod (/home/master/eac/cli-master/node_modules/eac.js-lib/lib/txRequest/txRequest.js:113:28)
at Router. (/home/master/eac/cli-master/node_modules/@ethereum-alarm-clock/timenode-core/built/src/Router/Router.js:74:33)
at Generator.next ()
at /home/master/eac/cli-master/node_modules/@ethereum-alarm-clock/timenode-core/built/src/Router/Router.js:7:71
at new Promise ()
at __awaiter (/home/master/eac/cli-master/node_modules/@ethereum-alarm-clock/timenode-core/built/src/Router/Router.js:3:12)
at Router.freezePeriod (/home/master/eac/cli-master/node_modules/@ethereum-alarm-clock/timenode-core/built/src/Router/Router.js:73:16)
at Router. (/home/master/eac/cli-master/node_modules/@ethereum-alarm-clock/timenode-core/built/src/Router/Router.js:155:36)
at Generator.next ()
at /home/master/eac/cli-master/node_modules/@ethereum-alarm-clock/timenode-core/built/src/Router/Router.js:7:71
at new Promise ()
at __awaiter (/home/master/eac/cli-master/node_modules/@ethereum-alarm-clock/timenode-core/built/src/Router/Router.js:3:12)
at Router.route (/home/master/eac/cli-master/node_modules/@ethereum-alarm-clock/timenode-core/built/src/Router/Router.js:152:16)
at TimeNodeScanner. (/home/master/eac/cli-master/node_modules/@ethereum-alarm-clock/timenode-core/built/src/Scanner/CacheScanner.js:28:29)
at Generator.next ()
(node:20910) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 6)
(node:20910) UnhandledPromiseRejectionWarning: Error: no suitable peers available
at Object.InvalidResponse (/home/master/eac/cli-master/node_modules/web3/lib/web3/errors.js:38:16)
at Object. (/home/master/eac/cli-master/node_modules/web3/lib/web3/requestmanager.js:86:36)
at /home/master/eac/cli-master/node_modules/web3-providers-ws/src/index.js:121:44
at Array.forEach ()
at W3CWebSocket.WebsocketProvider.connection.onmessage (/home/master/eac/cli-master/node_modules/web3-providers-ws/src/index.js:98:36)
at W3CWebSocket._dispatchEvent [as dispatchEvent] (/home/master/eac/cli-master/node_modules/yaeti/lib/EventTarget.js:107:17)
at W3CWebSocket.onMessage (/home/master/eac/cli-master/node_modules/web3-providers-ws/node_modules/websocket/lib/W3CWebSocket.js:234:14)
at WebSocketConnection. (/home/master/eac/cli-master/node_modules/web3-providers-ws/node_modules/websocket/lib/W3CWebSocket.js:205:19)
at WebSocketConnection.emit (events.js:180:13)
at WebSocketConnection.emit (domain.js:421:20)
at WebSocketConnection.processFrame (/home/master/eac/cli-master/node_modules/web3-providers-ws/node_modules/websocket/lib/WebSocketConnection.js:552:26)
at /home/master/eac/cli-master/node_modules/web3-providers-ws/node_modules/websocket/lib/WebSocketConnection.js:321:40
at process._tickCallback (internal/process/next_tick.js:112:11)
(node:20910) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 7)
(node:20910) UnhandledPromiseRejectionWarning: Error: no suitable peers available
at Object.InvalidResponse (/home/master/eac/cli-master/node_modules/web3/lib/web3/errors.js:38:16)
at Object. (/home/master/eac/cli-master/node_modules/web3/lib/web3/requestmanager.js:86:36)
at /home/master/eac/cli-master/node_modules/web3-providers-ws/src/index.js:121:44
at Array.forEach ()
at W3CWebSocket.WebsocketProvider.connection.onmessage (/home/master/eac/cli-master/node_modules/web3-providers-ws/src/index.js:98:36)
at W3CWebSocket._dispatchEvent [as dispatchEvent] (/home/master/eac/cli-master/node_modules/yaeti/lib/EventTarget.js:107:17)
at W3CWebSocket.onMessage (/home/master/eac/cli-master/node_modules/web3-providers-ws/node_modules/websocket/lib/W3CWebSocket.js:234:14)
at WebSocketConnection. (/home/master/eac/cli-master/node_modules/web3-providers-ws/node_modules/websocket/lib/W3CWebSocket.js:205:19)
at WebSocketConnection.emit (events.js:180:13)
at WebSocketConnection.emit (domain.js:421:20)
at WebSocketConnection.processFrame (/home/master/eac/cli-master/node_modules/web3-providers-ws/node_modules/websocket/lib/WebSocketConnection.js:552:26)
at /home/master/eac/cli-master/node_modules/web3-providers-ws/node_modules/websocket/lib/WebSocketConnection.js:321:40
at process._tickCallback (internal/process/next_tick.js:112:11)
(node:20910) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 8)
(node:20910) UnhandledPromiseRejectionWarning: Error: no suitable peers available
at Object.InvalidResponse (/home/master/eac/cli-master/node_modules/web3/lib/web3/errors.js:38:16)
at Object. (/home/master/eac/cli-master/node_modules/web3/lib/web3/requestmanager.js:86:36)
at /home/master/eac/cli-master/node_modules/web3-providers-ws/src/index.js:121:44
at Array.forEach ()
at W3CWebSocket.WebsocketProvider.connection.onmessage (/home/master/eac/cli-master/node_modules/web3-providers-ws/src/index.js:98:36)
at W3CWebSocket._dispatchEvent [as dispatchEvent] (/home/master/eac/cli-master/node_modules/yaeti/lib/EventTarget.js:107:17)
at W3CWebSocket.onMessage (/home/master/eac/cli-master/node_modules/web3-providers-ws/node_modules/websocket/lib/W3CWebSocket.js:234:14)
at WebSocketConnection. (/home/master/eac/cli-master/node_modules/web3-providers-ws/node_modules/websocket/lib/W3CWebSocket.js:205:19)
at WebSocketConnection.emit (events.js:180:13)
at WebSocketConnection.emit (domain.js:421:20)
at WebSocketConnection.processFrame (/home/master/eac/cli-master/node_modules/web3-providers-ws/node_modules/websocket/lib/WebSocketConnection.js:552:26)
at /home/master/eac/cli-master/node_modules/web3-providers-ws/node_modules/websocket/lib/WebSocketConnection.js:321:40
at process._tickCallback (internal/process/next_tick.js:112:11)
(node:20910) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 9)
(node:20910) UnhandledPromiseRejectionWarning: Error: no suitable peers available
at Object.InvalidResponse (/home/master/eac/cli-master/node_modules/web3/lib/web3/errors.js:38:16)
at Object. (/home/master/eac/cli-master/node_modules/web3/lib/web3/requestmanager.js:86:36)
at /home/master/eac/cli-master/node_modules/web3-providers-ws/src/index.js:121:44
at Array.forEach ()
at W3CWebSocket.WebsocketProvider.connection.onmessage (/home/master/eac/cli-master/node_modules/web3-providers-ws/src/index.js:98:36)
at W3CWebSocket._dispatchEvent [as dispatchEvent] (/home/master/eac/cli-master/node_modules/yaeti/lib/EventTarget.js:107:17)
at W3CWebSocket.onMessage (/home/master/eac/cli-master/node_modules/web3-providers-ws/node_modules/websocket/lib/W3CWebSocket.js:234:14)
at WebSocketConnection. (/home/master/eac/cli-master/node_modules/web3-providers-ws/node_modules/websocket/lib/W3CWebSocket.js:205:19)
at WebSocketConnection.emit (events.js:180:13)
at WebSocketConnection.emit (domain.js:421:20)
at WebSocketConnection.processFrame (/home/master/eac/cli-master/node_modules/web3-providers-ws/node_modules/websocket/lib/WebSocketConnection.js:552:26)
at /home/master/eac/cli-master/node_modules/web3-providers-ws/node_modules/websocket/lib/WebSocketConnection.js:321:40
at process._tickCallback (internal/process/next_tick.js:112:11)
(node:20910) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 10)

[0x64aac3e55c93ae66a76e73ceaf96ff33d0ab01c0] Unrecognized temporal unit: 0
at TxRequest.now (/home/master/eac/cli-master/node_modules/eac.js-lib/lib/txRequest/txRequest.js:96:11)
at TxRequest.inFreezePeriod (/home/master/eac/cli-master/node_modules/eac.js-lib/lib/txRequest/txRequest.js:113:28)

Already fixed this in one instance in ethereum-alarm-clock/eac.js-lib#46 but it looks like I missed it here in the TxRequest.inFreezePeriod(). Fix incoming ASAP and included in Friday's release.
UnhandledPromiseRejectionWarning: Error: no suitable peers available

This looks like to me that you are having a networking problem where your node cannot connect to peers. What is your network environment like? Can you see if your node was disconnecting from peers?

The peer error may rely to the geth,  which is running in light mode. since te is no timestamp in the error messages, I cannot crosscheck the geth log.

@TheNextLevel The first error of unrecognized temporal unit is patched by ethereum-alarm-clock/eac.js-lib#51
The other error is likely due to your Geth node. We should have timestamps in the logs (it keeps getting added in and taken out apparently) so I'll make sure it's added back in again.
Closing this as resolved.

authors: TheNextLevel lsaether

repo: ethereum-alarm-clock/cli


text:
Improve event typing and update web3 for the web3-1.0.0 target

Hey @krzkaczor , this is a great project! I had a go at improving the types for events, so that event listeners/event callbacks have properly typed params:

While I was at it, I updated the web3 version; the biggest change here is probably the BigNumber change in web3: https://github.com/ethereum/web3.js/issues/2570
Changes

Upgrade the web3-1.0.0 target's web3 version to the latest beta (54)
Adjust test setup and assertions to reflect web3 changes
Parse event inputs in order to improve the typing of contract events for the web3-1.0.0 target
Update existing types to reflect updated web3 (e.g. EstimateGasOptions)

Let me know what you think. Cheers!

Pull Request Test Coverage Report for Build 202

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

Totals

Change from base Build 201:
0.0%

Covered Lines:
393

Relevant Lines:
428

💛  - Coveralls

Merged! sorry that it took so long!

authors: JamesLefrere coveralls krzkaczor

repo: ethereum-ts/TypeChain


text:
Update Go bindings example

We recently updated the interface a little. This updates the example to reflect that.

LGTM!


text:
Not receiving ENS bid refund?

Hello, I have recently revealed some bids however my refund is not showing up in my wallet. Can someone please help me understand how I can verify if everything is working correctly? Where would I see the transaction of the refund in etherscan?
For example, last night I bid 1.01 ETH on Lamborghini using public address 0x1AFf1E0f1D5F76f92145a278D8C31AF9aDe783dd and I lost the bid because someone else bid much more. I revealed my bid in time (tx hash 0xe49ebce337dd097f1e449483344693710f0eebd3d0967a5af7b078b1df9f926f) however I am not seeing the refund in my wallet. I have waited many hours so I don't think its because it hasn't confirmed yet.
I now realize this may have happened many times and I am afraid I may have lost more ETH than just this one transaction. Can anyone help explain the situation?
Thanks so much.

The transaction you linked is for startAuctionsAndBid, not unsealBid.
Once you have the actual reveal tx, go to etherscan and check that transaction's "Internal Transactions" and "Event Logs" tabs.
You're probably confused due to the same reason I outlined in a comment to another issue.

Suggest closing as invalid.

authors: mrocklop veox

repo: ethereum/ens