UPDATE CARDANO NODE to 1.31.0 - FOR CNTOOLS users

After the update, one of the Relays only has Starting status.

What could it be?

image

journalctl -e -f -u cnode

do you see any errors?

also if u check with top do you see the CPU ~100%?

The result brought a lot, I was a little lostā€¦ thereā€™s still a lot of log scrolling down

image

hmm from journalctl -e -f -u cnode

try to share the output for today

looking at top output ā€¦ means the node is working to start, perhaps it will take more time

8GB + 2GB Swap.

It has the same configuration as my Relay3, which is online

share again the output for today

Did you restart after updating or stopped and started the node?

Yes, both restarted the server, as the cardano node.

I see killed message, I think is related with insufficient RAM, can u increase the swap file?

Stop the node then killall cardano node. After that do a restart(i assume you have autostart script).
If that still doesnā€™t work remove your socket file and restart again.
And in the end 8GB and 2GB swap is not much to ensure a smooth run, try upgrading your VPS or more swap

what I didnā€™t wrote in this topic is to download again the configuration file (perhaps it will help to reduce the RAM usageā€¦ I donā€™t know because I didnā€™t downloaded but I saw few thinks changed inside the configuration file)

so if you will want to test for this particular node run

cd ~/tmp
./prereqs.sh -f

new files will be downloadedā€¦ after this donā€™t forget to modify:

  • env file if you have another port than default one 6000
  • topology updater (custom peers)

Ok, Iā€™ll try first increasing the swap as @Alexd1985 said, then what @Xpriens suggested with the socket file, and finally Iā€™ll try to update the config file.

Iā€™ll be back soon with the results. Thank you guys so much for now.

1 Like

Guys, problem solved by increasing the Swap memory from 2GB to 3.5GB.

Iā€™m going to increase the Swap memory of Relay3 (which has the same configuration as this one) to the same amount = 3.5GB.

I thank everyone.

1 Like

My build is failing with:

Downloading  resourcet-1.2.4.3
Downloading  criterion-measurement-0.1.3.0
cabal: Failed to download criterion-measurement-0.1.3.0 (which is required by
test:cardano-api-test from cardano-api-1.31.0). The exception was:
Unexpected response 403 for
http://objects-us-east-1.dream.io/hackage-mirror/package/criterion-measurement-0.1.3.0.tar.gz
Failed to download resourcet-1.2.4.3 (which is required by
test:trace-dispatcher-test from trace-dispatcher-1.29.0,
exe:trace-dispatcher-examples from trace-dispatcher-1.29.0 and others). The
exception was:
Unexpected response 403 for
http://objects-us-east-1.dream.io/hackage-mirror/package/resourcet-1.2.4.3.tar.gz

When I go directly to the web site from my pc i get:

AccessDenied
hackage-mirror

tx00000000000000096d954-00619316b0-e1081247-us-east-1-iad1

e1081247-us-east-1-iad1-us-east-1

Any ideas why this is happening?

for anyone else having this issue, update to the latest version of Cabal and GHC:

curl --proto ā€˜=httpsā€™ --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh

1 Like

Someone can help me to discover where i can get the full list of cli commands for transactions? I really need it some better than just looking into the help on the cliā€¦ This update broke some of my code.

1 Like

Hi All. When I want to look up my cabal version I get this message below.

I also get this message when trying to update the node (relay) after inserting this command: $CNODE_HOME/scripts/cabal-build-all.sh

~$ cabal --version
cabal: unknown RTS option: --disable-delayed-os-memory-return
cabal: unknown RTS option: --nonmoving-gc
cabal: 
cabal: Usage: <prog> <args> [+RTS <rtsopts> | -RTS <args>] ... --RTS <args>
cabal: 
cabal:    +RTS    Indicates run time system options follow
cabal:    -RTS    Indicates program arguments follow
cabal:   --RTS    Indicates that ALL subsequent arguments will be given to the
cabal:            program (including any of these RTS flags)
cabal: 
cabal: The following run time system options are available:
cabal: 
cabal:   -?       Prints this message and exits; the program is not executed
cabal:   --info   Print information about the RTS used by this program
cabal: 
cabal:   -K<size>  Sets the maximum stack size (default: 80% of the heap)
cabal:             Egs: -K32k -K512k -K8M
cabal:   -ki<size> Sets the initial thread stack size (default 1k)  Egs: -ki4k -ki2m
cabal:   -kc<size> Sets the stack chunk size (default 32k)
cabal:   -kb<size> Sets the stack chunk buffer size (default 1k)
cabal: 
cabal:   -A<size>  Sets the minimum allocation area size (default 1m) Egs: -A20m -A10k
cabal:   -AL<size> Sets the amount of large-object memory that can be allocated
cabal:             before a GC is triggered (default: the value of -A)
cabal:   -F<n>     Sets the collecting threshold for old generations as a factor of
cabal:             the live data in that generation the last time it was collected
cabal:             (default: 2.0)
cabal:   -n<size>  Allocation area chunk size (0 = disabled, default: 0)
cabal:   -O<size>  Sets the minimum size of the old generation (default 1M)
cabal:   -M<size>  Sets the maximum heap size (default unlimited)  Egs: -M256k -M1G
cabal:   -H<size>  Sets the minimum heap size (default 0M)   Egs: -H24m  -H1G
cabal:   -xb<addr> Sets the address from which a suitable start for the heap memory
cabal:             will be searched from. This is useful if the default address
cabal:             clashes with some third-party library.
cabal:   -m<n>     Minimum % of heap which must be available (default 3%)
cabal:   -G<n>     Number of generations (default: 2)
cabal:   -c<n>     Use in-place compaction instead of copying in the oldest generation
cabal:            when live data is at least <n>% of the maximum heap size set with
cabal:            -M (default: 30%)
cabal:   -c       Use in-place compaction for all oldest generation collections
cabal:            (the default is to use copying)
cabal:   -w       Use mark-region for the oldest generation (experimental)
cabal:   -I<sec>  Perform full GC after <sec> idle time (default: 0.3, 0 == off)
cabal: 
cabal:   -T         Collect GC statistics (useful for in-program statistics access)
cabal:   -t[<file>] One-line GC statistics (if <file> omitted, uses stderr)
cabal:   -s[<file>] Summary  GC statistics (if <file> omitted, uses stderr)
cabal:   -S[<file>] Detailed GC statistics (if <file> omitted, uses stderr)
cabal: 
cabal: 
cabal:   -Z         Don't squeeze out update frames on stack overflow
cabal:   -B         Sound the bell at the start of each garbage collection
cabal:   -h       Heap residency profile (output file <program>.hp)
cabal:   -hT      Produce a heap profile grouped by closure type
cabal:   -i<sec>  Time between heap profile samples (seconds, default: 0.1)
cabal: 
cabal:   -C<secs>  Context-switch interval in seconds.
cabal:             0 or no argument means switch as often as possible.
cabal:             Default: 0.02 sec.
cabal:   -V<secs>  Master tick interval in seconds (0 == disable timer).
cabal:             This sets the resolution for -C and the heap profile timer -i,
cabal:             and is the frequency of time profile samples.
cabal:             Default: 0.01 sec.
cabal: 
cabal:   -N[<n>]    Use <n> processors (default: 1, -N alone determines
cabal:              the number of processors to use automatically)
cabal:   -maxN[<n>] Use up to <n> processors automatically
cabal:   -qg[<n>]  Use parallel GC only for generations >= <n>
cabal:             (default: 0, -qg alone turns off parallel GC)
cabal:   -qb[<n>]  Use load-balancing in the parallel GC only for generations >= <n>
cabal:             (default: 1 for -A < 32M, 0 otherwise;
cabal:              -qb alone turns off load-balancing)
cabal:   -qn<n>    Use <n> threads for parallel GC (defaults to value of -N)
cabal:   -qa       Use the OS to set thread affinity (experimental)
cabal:   -qm       Don't automatically migrate threads between CPUs
cabal:   -qi<n>    If a processor has been idle for the last <n> GCs, do not
cabal:             wake it up for a non-load-balancing parallel GC.
cabal:             (0 disables,  default: 0)
cabal:   --numa[=<node_mask>]
cabal:             Use NUMA, nodes given by <node_mask> (default: off)
cabal:   --install-signal-handlers=<yes|no>
cabal:             Install signal handlers (default: yes)
cabal:   -e<n>     Maximum number of outstanding local sparks (default: 4096)
cabal:   -xm       Base address to mmap memory in the GHCi linker
cabal:             (hex; must be <80000000)
cabal:   -xq       The allocation limit given to a thread after it receives
cabal:             an AllocationLimitExceeded exception. (default: 100k)
cabal: 
cabal:   -Mgrace=<n>
cabal:             The amount of allocation after the program receives a
cabal:             HeapOverflow exception before the exception is thrown again, if
cabal:             the program is still exceeding the heap limit.
cabal: 
cabal: RTS options may also be specified using the GHCRTS environment variable.
cabal: 
cabal: Other RTS options may be available for programs compiled a different way.
cabal: The GHC User's Guide has full details.
cabal: 

.

When I try to upgrade ghc and cabal I get this message:

~$ ghcup upgrade
ghcup: Most RTS options are disabled. Link with -rtsopts to enable them.

Any ideas how I can fix this?

Thanks!

Yeah, check inside bashrc file if u have that line with RTS and if yes try to comment it or if u modified something inside the cnode.sh script

1 Like