Skip to content
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

update tested Nim versions #5142

Merged
merged 30 commits into from
Sep 6, 2023
Merged

update tested Nim versions #5142

merged 30 commits into from
Sep 6, 2023

Conversation

etan-status
Copy link
Contributor

Add version-2-0 testing, and make upstream version testing Linux only.

@etan-status etan-status force-pushed the dev/etan/ci-nim2devel branch 7 times, most recently from 1a5354c to fe089b0 Compare June 28, 2023 22:50
@etan-status etan-status marked this pull request as ready for review June 28, 2023 23:10
@etan-status etan-status requested a review from tersec June 28, 2023 23:11
@tersec
Copy link
Contributor

tersec commented Jun 29, 2023

For 2.0, it's currently failing with

2023-06-29T05:40:51.2060942Z stack trace: (most recent call last)
2023-06-29T05:40:51.2061671Z /home/runner/work/nimbus-eth2/nimbus-eth2/vendor/nimbus-build-system/vendor/Nim/lib/std/tasks.nim(117, 12) toTask
2023-06-29T05:40:51.2062649Z /home/runner/work/nimbus-eth2/nimbus-eth2/vendor/nim-blscurve/blscurve/bls_batch_verifier.nim(219, 22) template/generic instantiation of `spawn` from here
2023-06-29T05:40:51.2063578Z /home/runner/work/nimbus-eth2/nimbus-eth2/vendor/nim-taskpools/taskpools/taskpools.nim(515, 26) template/generic instantiation of `toTask` from here
2023-06-29T05:40:51.2064294Z /home/runner/work/nimbus-eth2/nimbus-eth2/vendor/nim-taskpools/taskpools/taskpools.nim(514, 16) Error: 'toTask' takes a GC safe call expression
2023-06-29T05:40:51.2098697Z make: *** [Makefile:423: deposit_contract] Error 1

I definitely find it worth testing version-2-0 one platform, though, especially as it's already RC2, so while Nimbus is a ways from switching to it, it should be becoming a stable target at least.

@tersec
Copy link
Contributor

tersec commented Jun 29, 2023

Depends on #5143

@github-actions
Copy link

github-actions bot commented Jun 29, 2023

Unit Test Results

         9 files  ±0    1 089 suites  ±0   42m 1s ⏱️ + 2m 5s
  3 845 tests ±0    3 566 ✔️ ±0  279 💤 ±0  0 ±0 
15 886 runs  ±0  15 581 ✔️ ±0  305 💤 ±0  0 ±0 

Results for commit eda9550. ± Comparison against base commit 8ffb80e.

♻️ This comment has been updated with latest results.

@tersec tersec force-pushed the dev/etan/ci-nim2devel branch from 4b350c4 to 4716e7d Compare June 29, 2023 11:18
@tersec
Copy link
Contributor

tersec commented Jun 29, 2023

2023-06-29T11:27:18.5385728Z �[92mBuilding:�[39m build/deposit_contract
2023-06-29T11:27:18.5401648Z �[92mBuilding:�[39m build/resttest
2023-06-29T11:27:18.5465428Z [using Nim version upstream/version-2-0]
2023-06-29T11:27:18.5480574Z [using Nim version upstream/version-2-0]
2023-06-29T11:27:19.2793445Z Hint: used config file '/home/runner/work/nimbus-eth2/nimbus-eth2/vendor/nimbus-build-system/vendor/Nim/config/nim.cfg' [Conf]
2023-06-29T11:27:19.2799965Z Hint: used config file '/home/runner/work/nimbus-eth2/nimbus-eth2/vendor/nimbus-build-system/vendor/Nim/config/config.nims' [Conf]
2023-06-29T11:27:19.2802221Z Hint: used config file '/home/runner/work/nimbus-eth2/nimbus-eth2/config.nims' [Conf]
2023-06-29T11:27:19.2804334Z Hint: used config file '/home/runner/work/nimbus-eth2/nimbus-eth2/ncli/nim.cfg' [Conf]
2023-06-29T11:27:19.2806534Z Hint: used config file '/home/runner/work/nimbus-eth2/nimbus-eth2/ncli/resttest.nim.cfg' [Conf]
2023-06-29T11:27:19.3209798Z Hint: used config file '/home/runner/work/nimbus-eth2/nimbus-eth2/vendor/nimbus-build-system/vendor/Nim/config/nim.cfg' [Conf]
2023-06-29T11:27:19.3211122Z Hint: used config file '/home/runner/work/nimbus-eth2/nimbus-eth2/vendor/nimbus-build-system/vendor/Nim/config/config.nims' [Conf]
2023-06-29T11:27:19.3212674Z Hint: used config file '/home/runner/work/nimbus-eth2/nimbus-eth2/config.nims' [Conf]
2023-06-29T11:27:19.3213715Z Hint: used config file '/home/runner/work/nimbus-eth2/nimbus-eth2/beacon_chain/nim.cfg' [Conf]
2023-06-29T11:27:19.3214826Z Hint: used config file '/home/runner/work/nimbus-eth2/nimbus-eth2/beacon_chain/el/deposit_contract.nim.cfg' [Conf]
2023-06-29T11:27:21.9244430Z Hint: mm: refc; threads: on; opt: none (DEBUG BUILD, `-d:release` generates faster code)
2023-06-29T11:27:21.9246651Z 135043 lines; 2.643s; 260.48MiB peakmem; proj: /home/runner/work/nimbus-eth2/nimbus-eth2/ncli/resttest.nim; out: /home/runner/work/nimbus-eth2/nimbus-eth2/nimcache/release/resttest/resttest.json [SuccessX]
2023-06-29T11:27:23.6022955Z SIGSEGV: Illegal storage access. (Attempt to read from nil?)
2023-06-29T11:27:23.8032199Z scripts/compile_nim_program.sh: line 48:  9698 Segmentation fault      (core dumped) "$NIMC" c -f --compileOnly -o:build/${BINARY} "$@" -d:nimCachePathOverride=nimcache/release/${BINARY} "${SOURCE}"
2023-06-29T11:27:23.8041676Z make: *** [Makefile:423: deposit_contract] Error 139
2023-06-29T11:27:23.8046895Z make: *** Waiting for unfinished jobs....
2023-06-29T11:27:47.6327396Z �[92mBuild completed successfully:�[39m build/resttest
2023-06-29T11:27:47.6343047Z ##[error]Process completed with exit code 2.

@tersec
Copy link
Contributor

tersec commented Jun 29, 2023

Depends on nim-lang/Nim#22187

@Menduist
Copy link
Contributor

FYI, libp2p doesn't work on 2.0 because of nim-lang/Nim#22188 (at least in our CI)

@etan-status
Copy link
Contributor Author

upstream/version-2-0 still fails:

SIGSEGV: Illegal storage access. (Attempt to read from nil?)
scripts/compile_nim_program.sh: line 48:  9761 Segmentation fault      (core dumped) "$NIMC" c -f --compileOnly -o:build/${BINARY} "$@" -d:nimCachePathOverride=nimcache/release/${BINARY} "${SOURCE}"
make: *** [Makefile:423: deposit_contract] Error 139

@narimiran Could it be that backports from devel to version-2-0 are still pending, or are there other issues @tersec?

@narimiran
Copy link
Contributor

@narimiran Could it be that backports from devel to version-2-0 are still pending, or are there other issues @tersec?

version-2-0 is currently ~60 commits behind devel, but it's green on the Nim's CIs.

If needed, I can merge those commits from devel to v-2-0.

@etan-status
Copy link
Contributor Author

Would be awesome to have a green version-2-0 CI here :)

@narimiran
Copy link
Contributor

Would be awesome to have a green version-2-0 CI here :)

Ok, version-2-0 is now same as devel. Let's see if it helps things here :)

@tersec
Copy link
Contributor

tersec commented Jul 10, 2023

upstream/version-2-0 still fails:

SIGSEGV: Illegal storage access. (Attempt to read from nil?)
scripts/compile_nim_program.sh: line 48:  9761 Segmentation fault      (core dumped) "$NIMC" c -f --compileOnly -o:build/${BINARY} "$@" -d:nimCachePathOverride=nimcache/release/${BINARY} "${SOURCE}"
make: *** [Makefile:423: deposit_contract] Error 139

@narimiran Could it be that backports from devel to version-2-0 are still pending, or are there other issues @tersec?

That's probably nim-lang/Nim#22187 -- will trigger rebuild to find out

@tersec
Copy link
Contributor

tersec commented Jul 10, 2023

2023-07-10T19:51:17.8581919Z 135221 lines; 2.759s; 260.824MiB peakmem; proj: /home/runner/work/nimbus-eth2/nimbus-eth2/ncli/resttest.nim; out: /home/runner/work/nimbus-eth2/nimbus-eth2/nimcache/release/resttest/resttest.json [SuccessX]
2023-07-10T19:51:20.0312987Z /home/runner/work/nimbus-eth2/nimbus-eth2/beacon_chain/spec/datatypes/deneb.nim(28, 23) Error: cannot open file: ../../vendor/nim-kzg4844/kzg4844
2023-07-10T19:51:20.0391423Z make: *** [Makefile:423: deposit_contract] Error 1

#5179

@etan-status
Copy link
Contributor Author

@etan-status
Copy link
Contributor Author

@tersec
Copy link
Contributor

tersec commented Aug 20, 2023

2023-08-20T03:43:16.7716765Z /home/runner/work/nimbus-eth2/nimbus-eth2/beacon_chain/nimbus_light_client.nim(25, 1) template/generic instantiation of `programMain` from here
2023-08-20T03:43:16.7717546Z /home/runner/work/nimbus-eth2/nimbus-eth2/vendor/nim-testutils/testutils/moduletests.nim(17, 23) template/generic instantiation from here
2023-08-20T03:43:16.7718354Z /home/runner/work/nimbus-eth2/nimbus-eth2/vendor/nim-confutils/confutils.nim(1176, 13) Error: loadImpl(LightClientConf, commandLineParams(), version`gensym50,
2023-08-20T03:43:16.7718927Z          "Nimbus light client v23.7.0-659001-stateofus", true, true,
2023-08-20T03:43:16.7719295Z          secondarySourcesRef`gensym51, proc (config`gensym50: LightClientConf;
2023-08-20T03:43:16.7719665Z     sources`gensym50: ref SecondarySources_989856223) {.
2023-08-20T03:43:16.7720025Z     raises: [ConfigurationError].} = if isSome(config`gensym50.configFile):
2023-08-20T03:43:16.7720415Z   addConfigFile(sources`gensym50, Toml, get(config`gensym50.configFile))
2023-08-20T03:43:16.7720791Z , getAppFilename()) can raise an unlisted exception: Exception
2023-08-20T03:43:16.7867739Z make: *** [Makefile:443: nimbus_light_client] Error 1

@etan-status
Copy link
Contributor Author

@etan-status
Copy link
Contributor Author

2023-08-20T10:37:51.3802556Z /home/runner/work/nimbus-eth2/nimbus-eth2/beacon_chain/nimbus_beacon_node.nim(2100, 1) template/generic instantiation of `programMain` from here
2023-08-20T10:37:51.3803546Z /home/runner/work/nimbus-eth2/nimbus-eth2/beacon_chain/nimbus_beacon_node.nim(2101, 35) template/generic instantiation of `makeBannerAndConfig` from here
2023-08-20T10:37:51.3804438Z /home/runner/work/nimbus-eth2/nimbus-eth2/beacon_chain/nimbus_binary_common.nim(200, 13) template/generic instantiation of `load` from here
2023-08-20T10:37:51.3805172Z /home/runner/work/nimbus-eth2/nimbus-eth2/beacon_chain/nimbus_binary_common.nim(207, 18) template/generic instantiation of `addConfigFile` from here
2023-08-20T10:37:51.3805906Z /home/runner/work/nimbus-eth2/nimbus-eth2/vendor/nim-confutils/confutils.nim(860, 39) template/generic instantiation of `loadFile` from here
2023-08-20T10:37:51.3810508Z /home/runner/work/nimbus-eth2/nimbus-eth2/vendor/nim-toml-serialization/toml_serialization.nim(156, 13) template/generic instantiation of `readValue` from here
2023-08-20T10:37:51.3811184Z /home/runner/work/nimbus-eth2/nimbus-eth2/vendor/nim-serialization/serialization.nim(30, 9) template/generic instantiation of `readValue` from here
2023-08-20T10:37:51.3811876Z /home/runner/work/nimbus-eth2/nimbus-eth2/vendor/nim-toml-serialization/toml_serialization/reader.nim(499, 8) template/generic instantiation of `decodeInlineTable` from here
2023-08-20T10:37:51.3812609Z /home/runner/work/nimbus-eth2/nimbus-eth2/vendor/nim-toml-serialization/toml_serialization/reader.nim(377, 19) template/generic instantiation of `fieldReadersTable` from here
2023-08-20T10:37:51.3813338Z /home/runner/work/nimbus-eth2/nimbus-eth2/vendor/nim-serialization/serialization/object_serialization.nim(256, 34) template/generic instantiation of `makeFieldReadersTable` from here
2023-08-20T10:37:51.3814446Z /home/runner/work/nimbus-eth2/nimbus-eth2/vendor/nim-serialization/serialization/object_serialization.nim(218, 26) template/generic instantiation of `enumAllSerializedFields` from here
2023-08-20T10:37:51.3815310Z /home/runner/work/nimbus-eth2/nimbus-eth2/vendor/nim-serialization/serialization/object_serialization.nim(152, 32) template/generic instantiation of `enumAllSerializedFieldsImpl` from here
2023-08-20T10:37:51.3816087Z /home/runner/work/nimbus-eth2/nimbus-eth2/vendor/nim-serialization/serialization/object_serialization.nim(235, 52) template/generic instantiation of `readFieldIMPL` from here
2023-08-20T10:37:51.3817001Z /home/runner/work/nimbus-eth2/nimbus-eth2/vendor/nim-serialization/serialization/object_serialization.nim(203, 13) template/generic instantiation of `readValue` from here
2023-08-20T10:37:51.3817659Z /home/runner/work/nimbus-eth2/nimbus-eth2/vendor/nim-serialization/serialization.nim(30, 9) template/generic instantiation of `readValue` from here
2023-08-20T10:37:51.3818331Z /home/runner/work/nimbus-eth2/nimbus-eth2/vendor/nim-toml-serialization/toml_serialization/reader.nim(445, 19) template/generic instantiation of `readValue` from here
2023-08-20T10:37:51.3819044Z /home/runner/work/nimbus-eth2/nimbus-eth2/vendor/nim-serialization/serialization.nim(29, 19) Warning: The 'ValidIpAddress' type doesn't have a valid default value [UnsafeDefault]
2023-08-20T10:37:52.4238154Z /home/runner/work/nimbus-eth2/nimbus-eth2/beacon_chain/nimbus_beacon_node.nim(2100, 1) template/generic instantiation of `programMain` from here
2023-08-20T10:37:52.4239093Z /home/runner/work/nimbus-eth2/nimbus-eth2/beacon_chain/nimbus_beacon_node.nim(2101, 35) template/generic instantiation of `makeBannerAndConfig` from here
2023-08-20T10:37:52.4239851Z /home/runner/work/nimbus-eth2/nimbus-eth2/beacon_chain/nimbus_binary_common.nim(200, 13) template/generic instantiation of `load` from here
2023-08-20T10:37:52.4240621Z /home/runner/work/nimbus-eth2/nimbus-eth2/vendor/nim-confutils/confutils.nim(1181, 13) template/generic instantiation of `loadImpl` from here
2023-08-20T10:37:52.4241261Z /home/runner/work/nimbus-eth2/nimbus-eth2/vendor/nim-confutils/confutils.nim(912, 50) template/generic instantiation of `configurationRtti` from here
2023-08-20T10:37:52.4241895Z /home/runner/work/nimbus-eth2/nimbus-eth2/vendor/nim-confutils/confutils.nim(709, 19) template/generic instantiation of `setField` from here
2023-08-20T10:37:52.4242562Z /home/runner/work/nimbus-eth2/nimbus-eth2/vendor/nim-confutils/confutils.nim(686, 16) template/generic instantiation of `makeDefaultValue` from here
2023-08-20T10:37:52.4243243Z /home/runner/work/nimbus-eth2/nimbus-eth2/vendor/nim-confutils/confutils.nim(632, 3) Error: 'result' requires explicit initialization
2023-08-20T10:37:52.5468315Z make: *** [Makefile:443: nimbus_beacon_node] Error 1

@etan-status
Copy link
Contributor Author

@etan-status
Copy link
Contributor Author

@tersec
Copy link
Contributor

tersec commented Aug 20, 2023

2023-08-20T12:08:59.3175237Z /home/runner/work/nimbus-eth2/nimbus-eth2/beacon_chain/gossip_processing/batch_validation.nim(231, 1) Error: cannot generate destructor for generic type: Isolated
2023-08-20T12:08:59.4753808Z make: *** [Makefile:443: nimbus_beacon_node] Error 1

probably related to nim-lang/Nim#22305 as #5142 (comment) notes

@etan-status
Copy link
Contributor Author

@etan-status
Copy link
Contributor Author

@etan-status
Copy link
Contributor Author

@etan-status
Copy link
Contributor Author

@etan-status
Copy link
Contributor Author

@etan-status
Copy link
Contributor Author

@etan-status etan-status enabled auto-merge (squash) September 6, 2023 16:42
@etan-status etan-status merged commit b8db44d into unstable Sep 6, 2023
@etan-status etan-status deleted the dev/etan/ci-nim2devel branch September 6, 2023 19:00
@tersec tersec mentioned this pull request Sep 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants