Skip to content

Improve error detection in omarchy-update-analyze-logs#4488

Open
paul-fornage wants to merge 1 commit intobasecamp:devfrom
paul-fornage:dev
Open

Improve error detection in omarchy-update-analyze-logs#4488
paul-fornage wants to merge 1 commit intobasecamp:devfrom
paul-fornage:dev

Conversation

@paul-fornage
Copy link

@paul-fornage paul-fornage commented Feb 3, 2026

I was getting really unhelpful error messages after omarchy update that always took like 45 seconds to find and figure out. Not the end of the world but with 100k users (guess) this is like cumulative days for a problem I can fix in an hour.

The problem

Before:

~ ❯ omarchy-update-analyze-logs
Non-stopping errors detected during update:
gcc -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/home/pfornage/.cache/yay/pycharm/src=/usr/src/debug/pycharm -flto=auto -fPIC -I/usr/include/python3.13 -c _pydevd_bundle/pydevd_cython.c -o build/temp.linux-x86_64-cpython-313/_pydevd_bundle/pydevd_cython.o
gcc -shared -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/home/pfornage/.cache/yay/pycharm/src=/usr/src/debug/pycharm -flto=auto build/temp.linux-x86_64-cpython-313/_pydevd_bundle/pydevd_cython.o -L/usr/lib -o build/lib.linux-x86_64-cpython-313/_pydevd_bundle/pydevd_cython.cpython-313-x86_64-linux-gnu.so
gcc -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/home/pfornage/.cache/yay/pycharm/src=/usr/src/debug/pycharm -flto=auto -fPIC -I/usr/include/python3.13 -c _pydevd_bundle/pydevd_pep_669_tracing_cython.c -o build/temp.linux-x86_64-cpython-313/_pydevd_bundle/pydevd_pep_669_tracing_cython.o
gcc -shared -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/home/pfornage/.cache/yay/pycharm/src=/usr/src/debug/pycharm -flto=auto build/temp.linux-x86_64-cpython-313/_pydevd_bundle/pydevd_pep_669_tracing_cython.o -L/usr/lib -o build/lib.linux-x86_64-cpython-313/_pydevd_bundle/pydevd_pep_669_tracing_cython.cpython-313-x86_64-linux-gnu.so
Real fake error: balls balls # Should show up
Error compiling thiserror # Should show up
compiling thiserror # not a real error
some gcc call -Werror=format-deez-nuts # not a real error
actual error hidden in a large paragraph Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec luctus elit sit amet semper suscipit. Suspendisse varius congue arcu ultrices tristique. Nullam augue nibh, molestie lacinia molestie a, faucibus vitae libero. Nulla cursus blandit risus sed iaculis. In hac habitasse platea dictumst. Nunc condimentum vulputate quam sed molestie. Nam egestas, dui et interdum rhoncus, lectus erat efficitur nulla, sit amet vulputate ipsum tellus sit amet arcu. Mauris in odio dapibus metus ultrices convallis consectetur non turpis. Nulla tristique pharetra ullamcorper. In at hendrerit dui, vel volutpat lacus. Nunc volutpat sollicitudin libero bibendum imperdiet. Ut volutpat justo mauris, ac congue enim lobortis vitae. Nam diam lorem, feugiat quis nunc eu, fermentum molestie mauris

I manually added some test cases to the update logs, but the gcc -Werror=... is real and I get like 8 of those. With line wrapping thats like half a screen of arbitrary args to sort for why the error shows up.

The solution?

Now, there is an 'exclude list' for times the string 'error' appears, but is obviously not part of an error. These are ignored.
Also, when the real errors are printed, the capture that triggered the line to be included the 'error' is in red, so this cues the user that we are just doing a string search and it might not be an error, as well as letting them easily scan that essay to find out it's not real.

~ ❯ ./new-om-update-log-anal
**Non-stopping errors detected during update:**
Real fake **error**: balls balls # Should show up
**Error** compiling this**error** # Should show up
actual **error** hidden in a large paragraph Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec luctus elit sit amet semper suscipit. Suspendisse varius congue arcu ultrices tristique. Nullam augue nibh, molestie lacinia molestie a, faucibus vitae libero. Nulla cursus blandit risus sed iaculis. In hac habitasse platea dictumst. Nunc condimentum vulputate quam sed molestie. Nam egestas, dui et interdum rhoncus, lectus erat efficitur nulla, sit amet vulputate ipsum tellus sit amet arcu. Mauris in odio dapibus metus ultrices convallis consectetur non turpis. Nulla tristique pharetra ullamcorper. In at hendrerit dui, vel volutpat lacus. Nunc volutpat sollicitudin libero bibendum imperdiet. Ut volutpat justo mauris, ac congue enim lobortis vitae. Nam diam lorem, feugiat quis nunc eu, fermentum molestie mauris
image

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.

1 participant