TileDB-Inc/TileDB-Go

TileDB-GO started failing build against nightly libtiledb

Closed this issue · 4 comments

I run nightly tests against the dev branch of libtiledb in jdblischak/centralized-tiledb-nightlies. TileDB-GO started failing yesterday.

The last passing build was Monday night with libtiledb 62098dc and TileDB-GO b0fd1c9.

On Tuesday night (yesterday) it failed with libtiledb 42dbf36 and TileDB-GO b0fd1c9 (ie no change in TileDB-GO).

I happened to be running my nightlies yesterday in order to troubleshoot an unrelated problem, and TileDB-GO actually failed earlier in the day yesterday too with libtiledb 6aca860. So the error was likely introduced in one of these five commits.

The code I use to build and test TileDB-GO is here, but briefly it is:

go get -t .

# libtiledb.so is installed in ./install-libtiledb/lib
export CPATH=$(pwd)/install-libtiledb/include
export LIBRARY_PATH=$(pwd)/install-libtiledb/lib
export LD_LIBRARY_PATH=$(pwd)/install-libtiledb/lib

go test -v ./...

The lines with FAIL are:

FAIL	github.com/TileDB-Inc/TileDB-Go [build failed]
FAIL	github.com/TileDB-Inc/TileDB-Go/examples [build failed]
Click for full output
# github.com/TileDB-Inc/TileDB-Go
cgo-gcc-prolog: In function ‘_cgo_a04293bf5dcb_Cfunc_tiledb_array_delete_fragments’:
cgo-gcc-prolog:152:2: warning: ‘tiledb_array_delete_fragments’ is deprecated [-Wdeprecated-declarations]
In file included from ./install-libtiledb/include/tiledb/tiledb.h:4420,
                 from ./array.go:4:
?   	github.com/TileDB-Inc/TileDB-Go/bytesizes	[no test files]
./install-libtiledb/include/tiledb/tiledb_deprecated.h:533:34: note: declared here
  533 | TILEDB_DEPRECATED_EXPORT int32_t tiledb_array_delete_fragments(
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# github.com/TileDB-Inc/TileDB-Go
cgo-gcc-prolog: In function ‘_cgo_a04293bf5dcb_Cfunc_tiledb_query_add_range’:
cgo-gcc-prolog:76:2: warning: ‘tiledb_query_add_range’ is deprecated [-Wdeprecated-declarations]
In file included from ./install-libtiledb/include/tiledb/tiledb.h:4420,
                 from ./query.go:4:
./install-libtiledb/include/tiledb/tiledb_deprecated.h:1[8](https://github.com/jdblischak/centralized-tiledb-nightlies/actions/runs/9088948929/job/25013512948#step:5:9)3:34: note: declared here
  183 | TILEDB_DEPRECATED_EXPORT int32_t tiledb_query_add_range(
      |                                  ^~~~~~~~~~~~~~~~~~~~~~
cgo-gcc-prolog: In function ‘_cgo_a042[9](https://github.com/jdblischak/centralized-tiledb-nightlies/actions/runs/9088948929/job/25013512948#step:5:10)3bf5dcb_Cfunc_tiledb_query_add_range_by_name’:
cgo-gcc-prolog:100:2: warning: ‘tiledb_query_add_range_by_name’ is deprecated [-Wdeprecated-declarations]
In file included from ./install-libtiledb/include/tiledb/tiledb.h:4420,
                 from ./query.go:4:
./install-libtiledb/include/tiledb/tiledb_deprecated.h:216:34: note: declared here
  216 | TILEDB_DEPRECATED_EXPORT int32_t tiledb_query_add_range_by_name(
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cgo-gcc-prolog: In function ‘_cgo_a04293bf5dcb_Cfunc_tiledb_query_add_range_var’:
cgo-gcc-prolog:126:2: warning: ‘tiledb_query_add_range_var’ is deprecated [-Wdeprecated-declarations]
In file included from ./install-libtiledb/include/tiledb/tiledb.h:4420,
                 from ./query.go:4:
./install-libtiledb/include/tiledb/tiledb_deprecated.h:246:34: note: declared here
FAIL	github.com/TileDB-Inc/TileDB-Go [build failed]
FAIL	github.com/TileDB-Inc/TileDB-Go/examples [build failed]
  246 | TILEDB_DEPRECATED_EXPORT int32_t tiledb_query_add_range_var(
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
cgo-gcc-prolog: In function ‘_cgo_a04293bf5dcb_Cfunc_tiledb_query_add_range_var_by_name’:
cgo-gcc-prolog:151:2: warning: ‘tiledb_query_add_range_var_by_name’ is deprecated [-Wdeprecated-declarations]
In file included from ./install-libtiledb/include/tiledb/tiledb.h:4420,
                 from ./query.go:4:
./install-libtiledb/include/tiledb/tiledb_deprecated.h:277:34: note: declared here
  277 | TILEDB_DEPRECATED_EXPORT int32_t tiledb_query_add_range_var_by_name(
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cgo-gcc-prolog: In function ‘_cgo_a04293bf5dcb_Cfunc_tiledb_query_get_range’:
cgo-gcc-prolog:478:2: warning: ‘tiledb_query_get_range’ is deprecated [-Wdeprecated-declarations]
In file included from ./install-libtiledb/include/tiledb/tiledb.h:4420,
                 from ./query.go:4:
./install-libtiledb/include/tiledb/tiledb_deprecated.h:355:34: note: declared here
  355 | TILEDB_DEPRECATED_EXPORT int32_t tiledb_query_get_range(
      |                                  ^~~~~~~~~~~~~~~~~~~~~~
cgo-gcc-prolog: In function ‘_cgo_a04293bf5dcb_Cfunc_tiledb_query_get_range_from_name’:
cgo-gcc-prolog:503:2: warning: ‘tiledb_query_get_range_from_name’ is deprecated [-Wdeprecated-declarations]
In file included from ./install-libtiledb/include/tiledb/tiledb.h:4420,
                 from ./query.go:4:
./install-libtiledb/include/tiledb/tiledb_deprecated.h:387:34: note: declared here
  387 | TILEDB_DEPRECATED_EXPORT int32_t tiledb_query_get_range_from_name(
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cgo-gcc-prolog: In function ‘_cgo_a04293bf5dcb_Cfunc_tiledb_query_get_range_num’:
cgo-gcc-prolog:526:2: warning: ‘tiledb_query_get_range_num’ is deprecated [-Wdeprecated-declarations]
In file included from ./install-libtiledb/include/tiledb/tiledb.h:4420,
                 from ./query.go:4:
./install-libtiledb/include/tiledb/tiledb_deprecated.h:303:34: note: declared here
  303 | TILEDB_DEPRECATED_EXPORT int32_t tiledb_query_get_range_num(
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
cgo-gcc-prolog: In function ‘_cgo_a04293bf5dcb_Cfunc_tiledb_query_get_range_num_from_name’:
cgo-gcc-prolog:548:2: warning: ‘tiledb_query_get_range_num_from_name’ is deprecated [-Wdeprecated-declarations]
In file included from ./install-libtiledb/include/tiledb/tiledb.h:4420,
                 from ./query.go:4:
./install-libtiledb/include/tiledb/tiledb_deprecated.h:326:34: note: declared here
  326 | TILEDB_DEPRECATED_EXPORT int32_t tiledb_query_get_range_num_from_name(
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cgo-gcc-prolog: In function ‘_cgo_a04293bf5dcb_Cfunc_tiledb_query_get_range_var’:
cgo-gcc-prolog:573:2: warning: ‘tiledb_query_get_range_var’ is deprecated [-Wdeprecated-declarations]
In file included from ./install-libtiledb/include/tiledb/tiledb.h:4420,
                 from ./query.go:4:
./install-libtiledb/include/tiledb/tiledb_deprecated.h:475:34: note: declared here
  475 | TILEDB_DEPRECATED_EXPORT int32_t tiledb_query_get_range_var(
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
cgo-gcc-prolog: In function ‘_cgo_a04293bf5dcb_Cfunc_tiledb_query_get_range_var_from_name’:
cgo-gcc-prolog:597:2: warning: ‘tiledb_query_get_range_var_from_name’ is deprecated [-Wdeprecated-declarations]
In file included from ./install-libtiledb/include/tiledb/tiledb.h:4420,
                 from ./query.go:4:
./install-libtiledb/include/tiledb/tiledb_deprecated.h:504:34: note: declared here
  504 | TILEDB_DEPRECATED_EXPORT int32_t tiledb_query_get_range_var_from_name(
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cgo-gcc-prolog: In function ‘_cgo_a04293bf5dcb_Cfunc_tiledb_query_get_range_var_size’:
cgo-gcc-prolog:622:2: warning: ‘tiledb_query_get_range_var_size’ is deprecated [-Wdeprecated-declarations]
In file included from ./install-libtiledb/include/tiledb/tiledb.h:4420,
                 from ./query.go:4:
./install-libtiledb/include/tiledb/tiledb_deprecated.h:417:34: note: declared here
  417 | TILEDB_DEPRECATED_EXPORT int32_t tiledb_query_get_range_var_size(
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cgo-gcc-prolog: In function ‘_cgo_a04293bf5dcb_Cfunc_tiledb_query_get_range_var_size_from_name’:
cgo-gcc-prolog:646:2: warning: ‘tiledb_query_get_range_var_size_from_name’ is deprecated [-Wdeprecated-declarations]
In file included from ./install-libtiledb/include/tiledb/tiledb.h:4420,
                 from ./query.go:4:
./install-libtiledb/include/tiledb/tiledb_deprecated.h:446:34: note: declared here
  446 | TILEDB_DEPRECATED_EXPORT int32_t tiledb_query_get_range_var_size_from_name(
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cgo-gcc-prolog: In function ‘_cgo_a04293bf5dcb_Cfunc_tiledb_query_set_subarray’:
cgo-gcc-prolog:905:2: warning: ‘tiledb_query_set_subarray’ is deprecated [-Wdeprecated-declarations]
In file included from ./install-libtiledb/include/tiledb/tiledb.h:4420,
                 from ./query.go:4:
./install-libtiledb/include/tiledb/tiledb_deprecated.h:[10](https://github.com/jdblischak/centralized-tiledb-nightlies/actions/runs/9088948929/job/25013512948#step:5:11)1:34: note: declared here
  101 | TILEDB_DEPRECATED_EXPORT int32_t tiledb_query_set_subarray(
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~
cgo-gcc-prolog: In function ‘_cgo_a04293bf5dcb_Cfunc_tiledb_query_submit_async’:
cgo-gcc-prolog:991:2: warning: ‘tiledb_query_submit_async’ is deprecated [-Wdeprecated-declarations]
In file included from ./install-libtiledb/include/tiledb/tiledb.h:4420,
                 from ./query.go:4:
./install-libtiledb/include/tiledb/tiledb_deprecated.h:151:34: note: declared here
  151 | TILEDB_DEPRECATED_EXPORT int32_t tiledb_query_submit_async(
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~
# github.com/TileDB-Inc/TileDB-Go
./serialize.go:386:[14](https://github.com/jdblischak/centralized-tiledb-nightlies/actions/runs/9088948929/job/25013512948#step:5:15)9: not enough arguments in call to (_Cfunc_tiledb_deserialize_array)
	have (*_Ctype_struct_tiledb_ctx_handle_t, *_Ctype_struct_tiledb_buffer_handle_t, _Ctype_tiledb_serialization_type_t, _Ctype_int, **_Ctype_struct_tiledb_array_t)
	want (*_Ctype_struct_tiledb_ctx_handle_t, *_Ctype_struct_tiledb_buffer_handle_t, _Ctype_tiledb_serialization_type_t, _Ctype_int, *_Ctype_char, **_Ctype_struct_tiledb_array_t)
=== RUN   TestGoldens
=== PAUSE TestGoldens
=== RUN   TestBadPackages
=== PAUSE TestBadPackages
=== RUN   TestBadName
=== PAUSE TestBadName
=== RUN   TestCantWrite
=== PAUSE TestCantWrite
=== CONT  TestGoldens
=== RUN   TestGoldens/defaults.txt
=== PAUSE TestGoldens/defaults.txt
=== RUN   TestGoldens/custom.txt
=== PAUSE TestGoldens/custom.txt
=== CONT  TestGoldens/defaults.txt
=== CONT  TestBadName
=== CONT  TestBadPackages
=== RUN   TestBadPackages/--out=/at-the-root.go
=== PAUSE TestBadPackages/--out=/at-the-root.go
=== RUN   TestBadPackages/--out=/tmp/TestBadPackages778995793/001/package-name-is/invalid.go
=== PAUSE TestBadPackages/--out=/tmp/TestBadPackages778995793/001/package-name-is/invalid.go
=== RUN   TestBadPackages/--out=/tmp/TestBadPackages778995793/001/some/valid/path.go_--pkg=invalid-package
=== PAUSE TestBadPackages/--out=/tmp/TestBadPackages778995793/001/some/valid/path.go_--pkg=invalid-package
=== CONT  TestBadPackages/--out=/at-the-root.go
=== CONT  TestGoldens/custom.txt
=== NAME  TestBadName
    sizegen_test.go:88: "I have spaces" is an invalid suffix
        exit status 2
        
--- PASS: TestBadName (0.25s)
=== CONT  TestBadPackages/--out=/tmp/TestBadPackages778995793/001/some/valid/path.go_--pkg=invalid-package
=== CONT  TestBadPackages/--out=/tmp/TestBadPackages778995793/001/package-name-is/invalid.go
=== CONT  TestCantWrite
--- PASS: TestGoldens (0.00s)
    --- PASS: TestGoldens/defaults.txt (0.25s)
    --- PASS: TestGoldens/custom.txt (0.26s)
=== NAME  TestCantWrite
    sizegen_test.go:104: could not open output file: open /tmp/TestCantWrite3755731938/001/somepkg/filename.go: no such file or directory
        exit status 1
        
--- PASS: TestCantWrite (0.[15](https://github.com/jdblischak/centralized-tiledb-nightlies/actions/runs/9088948929/job/25013512948#step:5:16)s)
--- PASS: TestBadPackages (0.00s)
    --- PASS: TestBadPackages/--out=/at-the-root.go (0.26s)
    --- PASS: TestBadPackages/--out=/tmp/TestBadPackages778995793/001/some/valid/path.go_--pkg=invalid-package (0.[16](https://github.com/jdblischak/centralized-tiledb-nightlies/actions/runs/9088948929/job/25013512948#step:5:17)s)
    --- PASS: TestBadPackages/--out=/tmp/TestBadPackages778995793/001/package-name-is/invalid.go (0.16s)
PASS
ok  	github.com/TileDB-Inc/TileDB-Go/tools/sizegen	0.4[18](https://github.com/jdblischak/centralized-tiledb-nightlies/actions/runs/9088948929/job/25013512948#step:5:19)s
FAIL

xref: jdblischak/centralized-tiledb-nightlies#6

@shaunrd0 / @ypatia is this due to the definition change for tiledb_array_deserialize?

is this due to the definition change for tiledb_array_deserialize?

Yeah looks like it. For REST CI we handled this with a temporary patch, but that patch applies only to REST. I could open a PR to do this in TileDB-Go since @jdblischak's nightlies checkout master, and then after 2.24 release we won't need the patch on REST CI.