-
-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The azure-core-cpp 1.11.0 update broke tiledb #228
Comments
cc @conda-forge/gdal this breaks libgdal. Does anyone know if patching tiledb to add a azure-core-cpp<1.11 pin (https://github.com/conda-forge/conda-forge-repodata-patches-feedstock) is the best way forward to resolve this short term? (or mark that latest release of azure-core-cpp as broken?) |
I'm ok with this until we figure out a better pin for tiledb. |
Opened a PR for that at conda-forge/admin-requests#911 |
Thanks, we will take a look ASAP. (cc @KiterLuc @teo-tsirpanis) |
Looking at the azure-core-cpp 1.11.0 changelog and comparing to the error message, I don't see anything obvious that should have broken libtiledb. The only item I see that looks somewhat related is:
since the traceback includes various calls to |
Stumbled over this problem yesterday... Thanks for being on top of this that fast from the packaging side. Anyone reaching out to https://github.com/TileDB-Inc/TileDB for advice? |
Hello @AchimGaedkeLynker , we over at TileDB are aware. @ihnorton and @jdblischak are working on this from ourside. The |
@Shelnutt2 - thanks a lot - yeah, yesterday I had trouble to pin-point the failure due to similar reasons/considerations till I actually pulled All good on my side. I can confirm that avoiding azure-core-cpp 1.11.0 "solves the problem". |
I've submitted the repodata patch in conda-forge/conda-forge-repodata-patches-feedstock#639. Please review to expedite the process |
Is the problem with azure-core-cpp 1.11.0, tiledb, and gdal specific to linux architectures? Only the linux-* binaries were marked as broken in conda-forge/admin-requests#911. Thus the non-linux binaries of the recently built 2.18.4 are linked against azure-core-cpp 1.11.0, which is complicating my repodata patch in conda-forge/conda-forge-repodata-patches-feedstock#639 I see two potential solutions:
Another option which I don't recommend would be to patch the repodata to install azure-core-cpp 1.10 when they were built against 1.11, but that seems dangerous to me. |
@jorisvandenbossche you only marked the linux conda binaries as broken. Do you have evidence that geopandas/libgdal/tiledb are able to use azure-core-cpp 1.11 on osx and windows? I see that gdal-feedstock builds libgdal for osx-64, osx-arm64, and win-64. These currently install with azure-core-cpp 1.11.0, eg
|
We've addressed this Issue from the conda side:
xref: conda-forge/admin-requests#911 (comment) Progress to enable libtiledb compatibility with azure-core-cpp 1.11+ will take place upstream in the source repo |
Hi, I just saw our CI fails because of the new patch of azure-core-cpp 1.11.0. A MRE: import geodatasets as gds
import geopandas as gpd
file = gds.get_path('geoda airbnb')
gpd.read_file(file) Will output a segmentation fault. ❯ mamba list | grep -e tiledb -e azure-core-cpp
azure-core-cpp 1.11.0 h91d86a7_1 conda-forge
tiledb 2.19.1 h4386cac_0 conda-forge |
@hoxbro Thanks for reporting! I see what happened. We made the max_pin more strict for azure-core-cpp 1.11, but this wasn't backported to 1.10. Thus tiledb 2.19.1 was built against 1.10.3 but allows installing with 1.11.0. I'll submit a patch today to fix this. I apologize for the inconvenience |
There is absolutely no need to apologize; thank you for the quick response. |
Also, the short-term solution to immediately fix the problem is to pin |
Quick update. I now have evidence that this is a linux-only problem. In our nightly conda builds, the segmentation fault with azure-core-cpp 1.11.0 only occured on the linux-* architectures TileDB-Inc/conda-forge-nightly-controller#44 |
@jdblischak and sorry about not answering your question about that before. I did not have any evidence, apart from that our CI of geopandas (which covers all main platforms) was only failing for linux, so that was the reason I was assuming only linux was affected. That seems to be confirmed by your observation as well. |
Have we opened an issue to https://github.com/Azure/azure-sdk-for-cpp? |
by not identifying /vsi file systems it doesn't handle Relates to conda-forge/tiledb-feedstock#228
by not identifying /vsi file systems it doesn't handle Relates to conda-forge/tiledb-feedstock#228
Somewhat related: improvement in GDAL to not trigger TileDB when not needed: OSGeo/gdal#9170 |
@jdblischak It seems that conda-forge/azure-core-cpp-feedstock#12 did not solve the issue and caused new environments to segfault again - https://github.com/geopandas/geodatasets/actions/runs/7734545137/job/21088724150 |
That was only the first step. The second step is to send a repodata patch, which I will do this morning. For immediate green CI, please pin |
The second (and with any luck final) step is conda-forge/conda-forge-repodata-patches-feedstock#649 |
Ok, the failures that started yesterday with the new tiledb 2.19.1 should be fixed now. I completed the following:
Thus the existing 2.19.1 binaries should now install azure-core-cpp 1.10.3 at runtime. And any future tiledb binaries should install the updated azure-core-cpp 1.10.3 at build time, which will export a runtime requirement of |
@teo-tsirpanis Not to my knowledge. Here's what we know so far about the bug:
@Shelnutt2 where is this discussion taking place? Is there an open issue? Have we learned anything from their team about what could be causing the problem? |
Actually I can be more decisive about this. Not "should install" but "will install". Our nightly feedstock builds are passing again because the backported run exports fix ensures that azure-core-cpp 1.10.3 is installed at runtime (TileDB-Inc/conda-forge-nightly-controller#44 (comment)) |
With the recent update of azure-core-cpp to 1.11.0 (conda-forge/azure-core-cpp-feedstock#10), this broke tiledb, or at least through the usage of tiledb in libgdal.
Illustrating the usage of libgdal by reading a file with geopandas, which uses libgdal under the hood, this segfaults with a backtrace that points to tiledb / azure-core-cpp:
I don't know if tiledb should upper pin the azure-core-cpp dependency, or be re-rendered?
We have failing CI, but the above crash was reproduced locally by running
mamba create -n test-crash libgdal
and then trying to open a zipped shapefile withogrinfo path/to/file
The text was updated successfully, but these errors were encountered: