kbaum / heroku-database-backups

Heroku database backups and copies to S3
MIT License
99 stars 82 forks source link

Latest version of AWS CLI v2 breaks on Heroku #34

Open MicahBrown opened 10 months ago

MicahBrown commented 10 months ago

The script now installs version 2.13.34 for AWS CLI, which seems to cause this error when installing:

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 56.4M  100 56.4M    0     0   328M      0 --:--:-- --:--:-- --:--:--  330M
Fatal error condition occurred in /tmp/pip-install-90cp_aq0/awscrt_d52d3579cb5e4eb1a9ee6f8f288622f3/crt/aws-c-common/source/allocator.c:187: num != 0 && size != 0
Exiting Application
################################################################################
Stack trace:
################################################################################
/app/aws/dist/_awscrt.abi3.so(aws_backtrace_print+0x4d) [0x7fb7bfd4de6d]
/app/aws/dist/_awscrt.abi3.so(aws_fatal_assert+0x44) [0x7fb7bfd41cc4]
/app/aws/dist/_awscrt.abi3.so(aws_mem_calloc+0xee) [0x7fb7bfd40f7e]
/app/aws/dist/_awscrt.abi3.so(aws_s3_platform_info_loader_new+0x88) [0x7fb7bfc975f8]
/app/aws/dist/_awscrt.abi3.so(aws_s3_library_init+0x52) [0x7fb7bfc8ed52]
/app/aws/dist/_awscrt.abi3.so(PyInit__awscrt+0x10b) [0x7fb7bfc8600b]
/app/aws/dist/libpython3.11.so.1.0(+0x2ac245) [0x7fb7c94ac245]
/app/aws/dist/libpython3.11.so.1.0(+0x2a8141) [0x7fb7c94a8141]
/app/aws/dist/libpython3.11.so.1.0(+0x1bf310) [0x7fb7c93bf310]
/app/aws/dist/libpython3.11.so.1.0(_PyObject_Call+0x4d) [0x7fb7c9369b9d]
/app/aws/dist/libpython3.11.so.1.0(_PyEval_EvalFrameDefault+0x76ac) [0x7fb7c9307f6c]
/app/aws/dist/libpython3.11.so.1.0(+0x27b415) [0x7fb7c947b415]
/app/aws/dist/libpython3.11.so.1.0(+0x16a6f0) [0x7fb7c936a6f0]
/app/aws/dist/libpython3.11.so.1.0(PyObject_CallMethodObjArgs+0xfa) [0x7fb7c936a8ca]
/app/aws/dist/libpython3.11.so.1.0(PyImport_ImportModuleLevelObject+0x5b1) [0x7fb7c94ab0c1]
/app/aws/dist/libpython3.11.so.1.0(_PyEval_EvalFrameDefault+0xa601) [0x7fb7c930aec1]
/app/aws/dist/libpython3.11.so.1.0(PyEval_EvalCode+0x1f5) [0x7fb7c947b2a5]
/app/aws/dist/libpython3.11.so.1.0(+0x2761c4) [0x7fb7c94761c4]
/app/aws/dist/libpython3.11.so.1.0(_PyEval_EvalFrameDefault+0x62ce) [0x7fb7c9306b8e]
/app/aws/dist/libpython3.11.so.1.0(+0x27b415) [0x7fb7c947b415]
/app/aws/dist/libpython3.11.so.1.0(+0x16a6f0) [0x7fb7c936a6f0]
/app/aws/dist/libpython3.11.so.1.0(PyObject_CallMethodObjArgs+0xfa) [0x7fb7c936a8ca]
/app/aws/dist/libpython3.11.so.1.0(PyImport_ImportModuleLevelObject+0x5b1) [0x7fb7c94ab0c1]
/app/aws/dist/libpython3.11.so.1.0(+0x274998) [0x7fb7c9474998]
/app/aws/dist/libpython3.11.so.1.0(+0x1bf0a1) [0x7fb7c93bf0a1]
/app/aws/dist/libpython3.11.so.1.0(_PyObject_Call+0x4d) [0x7fb7c9369b9d]
/app/aws/dist/libpython3.11.so.1.0(_PyEval_EvalFrameDefault+0x76ac) [0x7fb7c9307f6c]
/app/aws/dist/libpython3.11.so.1.0(+0x27b415) [0x7fb7c947b415]
/app/aws/dist/libpython3.11.so.1.0(+0x16a6f0) [0x7fb7c936a6f0]
/app/aws/dist/libpython3.11.so.1.0(PyObject_CallMethodObjArgs+0xfa) [0x7fb7c936a8ca]
/app/aws/dist/libpython3.11.so.1.0(PyImport_ImportModuleLevelObject+0x2dc) [0x7fb7c94aadec]
/app/aws/dist/libpython3.11.so.1.0(_PyEval_EvalFrameDefault+0xa601) [0x7fb7c930aec1]
/app/aws/dist/libpython3.11.so.1.0(PyEval_EvalCode+0x1f5) [0x7fb7c947b2a5]
/app/aws/dist/libpython3.11.so.1.0(+0x2761c4) [0x7fb7c94761c4]
/app/aws/dist/libpython3.11.so.1.0(_PyEval_EvalFrameDefault+0x62ce) [0x7fb7c9306b8e]
/app/aws/dist/libpython3.11.so.1.0(+0x27b415) [0x7fb7c947b415]
/app/aws/dist/libpython3.11.so.1.0(+0x16a6f0) [0x7fb7c936a6f0]
/app/aws/dist/libpython3.11.so.1.0(PyObject_CallMethodObjArgs+0xfa) [0x7fb7c936a8ca]
/app/aws/dist/libpython3.11.so.1.0(PyImport_ImportModuleLevelObject+0x5b1) [0x7fb7c94ab0c1]
/app/aws/dist/libpython3.11.so.1.0(_PyEval_EvalFrameDefault+0xa601) [0x7fb7c930aec1]
/app/aws/dist/libpython3.11.so.1.0(PyEval_EvalCode+0x1f5) [0x7fb7c947b2a5]
/app/aws/dist/libpython3.11.so.1.0(+0x2761c4) [0x7fb7c94761c4]
/app/aws/dist/libpython3.11.so.1.0(_PyEval_EvalFrameDefault+0x62ce) [0x7fb7c9306b8e]
/app/aws/dist/libpython3.11.so.1.0(+0x27b415) [0x7fb7c947b415]
/app/aws/dist/libpython3.11.so.1.0(+0x16a6f0) [0x7fb7c936a6f0]
/app/aws/dist/libpython3.11.so.1.0(PyObject_CallMethodObjArgs+0xfa) [0x7fb7c936a8ca]
/app/aws/dist/libpython3.11.so.1.0(PyImport_ImportModuleLevelObject+0x5b1) [0x7fb7c94ab0c1]
/app/aws/dist/libpython3.11.so.1.0(_PyEval_EvalFrameDefault+0xa601) [0x7fb7c930aec1]
/app/aws/dist/libpython3.11.so.1.0(PyEval_EvalCode+0x1f5) [0x7fb7c947b2a5]
/app/aws/dist/libpython3.11.so.1.0(+0x2761c4) [0x7fb7c94761c4]
/app/aws/dist/libpython3.11.so.1.0(_PyEval_EvalFrameDefault+0x62ce) [0x7fb7c9306b8e]
/app/aws/dist/libpython3.11.so.1.0(+0x27b415) [0x7fb7c947b415]
/app/aws/dist/libpython3.11.so.1.0(+0x16a6f0) [0x7fb7c936a6f0]
/app/aws/dist/libpython3.11.so.1.0(PyObject_CallMethodObjArgs+0xfa) [0x7fb7c936a8ca]
/app/aws/dist/libpython3.11.so.1.0(PyImport_ImportModuleLevelObject+0x5b1) [0x7fb7c94ab0c1]
/app/aws/dist/libpython3.11.so.1.0(_PyEval_EvalFrameDefault+0xa601) [0x7fb7c930aec1]
/app/aws/dist/libpython3.11.so.1.0(PyEval_EvalCode+0x1f5) [0x7fb7c947b2a5]
/app/aws/dist/libpython3.11.so.1.0(+0x2761c4) [0x7fb7c94761c4]
/app/aws/dist/libpython3.11.so.1.0(_PyEval_EvalFrameDefault+0x62ce) [0x7fb7c9306b8e]
/app/aws/dist/libpython3.11.so.1.0(+0x27b415) [0x7fb7c947b415]
/app/aws/dist/libpython3.11.so.1.0(+0x16a6f0) [0x7fb7c936a6f0]
/app/aws/dist/libpython3.11.so.1.0(PyObject_CallMethodObjArgs+0xfa) [0x7fb7c936a8ca]
/app/aws/dist/libpython3.11.so.1.0(PyImport_ImportModuleLevelObject+0x5b1) [0x7fb7c94ab0c1]
/app/aws/dist/libpython3.11.so.1.0(_PyEval_EvalFrameDefault+0xa601) [0x7fb7c930aec1]
/app/aws/dist/libpython3.11.so.1.0(PyEval_EvalCode+0x1f5) [0x7fb7c947b2a5]
/app/aws/dist/libpython3.11.so.1.0(+0x2761c4) [0x7fb7c94761c4]
/app/aws/dist/libpython3.11.so.1.0(_PyEval_EvalFrameDefault+0x62ce) [0x7fb7c9306b8e]
/app/aws/dist/libpython3.11.so.1.0(+0x27b415) [0x7fb7c947b415]
/app/aws/dist/libpython3.11.so.1.0(+0x16a6f0) [0x7fb7c936a6f0]
/app/aws/dist/libpython3.11.so.1.0(PyObject_CallMethodObjArgs+0xfa) [0x7fb7c936a8ca]
/app/aws/dist/libpython3.11.so.1.0(PyImport_ImportModuleLevelObject+0x5b1) [0x7fb7c94ab0c1]
/app/aws/dist/libpython3.11.so.1.0(_PyEval_EvalFrameDefault+0xa601) [0x7fb7c930aec1]
/app/aws/dist/libpython3.11.so.1.0(PyEval_EvalCode+0x1f5) [0x7fb7c947b2a5]
/app/aws/dist/libpython3.11.so.1.0(+0x2761c4) [0x7fb7c94761c4]
/app/aws/dist/libpython3.11.so.1.0(_PyEval_EvalFrameDefault+0x62ce) [0x7fb7c9306b8e]
/app/aws/dist/libpython3.11.so.1.0(+0x27b415) [0x7fb7c947b415]
/app/aws/dist/libpython3.11.so.1.0(+0x16a6f0) [0x7fb7c936a6f0]
/app/aws/dist/libpython3.11.so.1.0(PyObject_CallMethodObjArgs+0xfa) [0x7fb7c936a8ca]
/app/aws/dist/libpython3.11.so.1.0(PyImport_ImportModuleLevelObject+0x5b1) [0x7fb7c94ab0c1]
/app/aws/dist/libpython3.11.so.1.0(_PyEval_EvalFrameDefault+0xa601) [0x7fb7c930aec1]
/app/aws/dist/libpython3.11.so.1.0(PyEval_EvalCode+0x1f5) [0x7fb7c947b2a5]
/app/aws/dist/libpython3.11.so.1.0(+0x2761c4) [0x7fb7c94761c4]
/app/aws/dist/libpython3.11.so.1.0(_PyEval_EvalFrameDefault+0x62ce) [0x7fb7c9306b8e]
/app/aws/dist/libpython3.11.so.1.0(+0x27b415) [0x7fb7c947b415]
/app/aws/dist/libpython3.11.so.1.0(+0x16a6f0) [0x7fb7c936a6f0]
/app/aws/dist/libpython3.11.so.1.0(PyObject_CallMethodObjArgs+0xfa) [0x7fb7c936a8ca]
/app/aws/dist/libpython3.11.so.1.0(PyImport_ImportModuleLevelObject+0x5b1) [0x7fb7c94ab0c1]
/app/aws/dist/libpython3.11.so.1.0(_PyEval_EvalFrameDefault+0xa601) [0x7fb7c930aec1]
/app/aws/dist/libpython3.11.so.1.0(PyEval_EvalCode+0x1f5) [0x7fb7c947b2a5]
/app/aws/dist/aws() [0x40332d]
/app/aws/dist/aws() [0x403675]
/lib/x86_64-linux-gnu/libc.so.6(+0x29d90) [0x7fb7c9c01d90]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80) [0x7fb7c9c01e40]
/app/aws/dist/aws() [0x401d11]
Aborted
 ›   Warning: Our terms of service have changed: https://dashboard.heroku.com/terms-of-service
Starting backup of postgresql-symmetrical-13052... done
Backing up DATABASE to b3948... done

At the moment, it seems like downgrading to version 2.13.33 is the solution: https://github.com/aws/aws-cli/issues/8320

I confirmed that switching

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

for

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.13.33.zip" -o "awscliv2.zip"

in bin/backup.sh works on my projects.

kbaum commented 10 months ago

Thanks for raising this issue. Looks like this is being addressed here:

https://github.com/aws/aws-cli/issues/8320

Could fork this repo and pin to earlier version of awscli for now as was done here: https://github.com/aws/aws-cli/issues/8320#issuecomment-1807673989