jrmarino / synth

Next D/Ports build tool for live systems (Alternative for Portmaster and Portupgrade tools)
ISC License
251 stars 15 forks source link

raised STORAGE_ERROR : s-intman.adb:136 explicit raise #225

Closed Ximalas closed 2 months ago

Ximalas commented 2 months ago

Is Synth 3.01 running out of memory? Even a simple run triggers the panic:

# synth just-build www/apache24 ; date

raised STORAGE_ERROR : s-intman.adb:136 explicit raise
Wed Jul  3 14:39:11 CEST 2024

# ulimit -a
cpu time               (seconds, -t)  unlimited
file size           (512-blocks, -f)  unlimited
data seg size           (kbytes, -d)  33554432
stack size              (kbytes, -s)  524288
core file size      (512-blocks, -c)  0
max memory size         (kbytes, -m)  unlimited
locked memory           (kbytes, -l)  64
max user processes              (-u)  34030
open files                      (-n)  933606
virtual mem size        (kbytes, -v)  unlimited
swap limit              (kbytes, -w)  unlimited
socket buffer size       (bytes, -b)  unlimited
pseudo-terminals                (-p)  unlimited
kqueues                         (-k)  unlimited
umtx shared locks               (-o)  unlimited

This happens on FreeBSD on yesterday's main, and stable/14. Funny enough, this doesn't happen on FreeBSD on yesterday's releng/14.1, stable/13, and releng/13.3.

The ports tree is a common denominator, could the bug be there? Creating the flavour index isn't affected, though.

I believe this error message comes from the Ada runtime system, and it would help if the error message could give better clues.

I'll shortly reboot my laptop to its previous boot environment which is more than a fortnight old.

Reverting the main branch to https://cgit.freebsd.org/src/commit/?id=fc3907ce001ec95ff4f32861bfa84f81c268d179 allows Synth to run again.

jrmarino commented 2 months ago

yes - most likely the memory stack is exhausted. Off the cuff, there might be an infinite recursion in the ports tree.

Ximalas commented 2 months ago

yes - most likely the memory stack is exhausted. Off the cuff, there might be an infinite recursion in the ports tree.

That's strange as I have the most recent ports tree, are running a BE dated Sun Jun 16 14:12:42 CEST 2024, and Synth is happy again. I could try again using the latest BE and raise the stack limit once the current run is finished.

jrmarino commented 2 months ago

it's not really strange. Somebody broke the tree (that's when you built it) and then it was fixed so the head of the tree builds again.

That's my guess

Ximalas commented 2 months ago

I looked more closely at the commit history for stable/14. The recent ncurses 6.5 import broke the previously built devel/adacurses.

My advice to anyone on FreeBSD facing this problem is to forcefully rebuild devel/adacurses and ports-mgmt/synth using a Synth profile where Display_with_ncurses= false and possibly Directory_system= /, and then forcefully reinstall Synth, and finally reenable ncurses in the chosen profile.

For src/main: https://cgit.freebsd.org/src/commit/?id=21817992b3314c908ab50f0bb88d2ee750b9c4ac For src/stable/14: https://cgit.freebsd.org/src/commit/?h=stable/14&id=30ef78b46b622279c93776140b9cf060817da410