#Linux: System.ComponentModel.Win32Exception (13): SELinux execheap probe failed!

23 messages · Page 1 of 1 (latest)

silk marlin
#

After restarting computer, can't run celeste, and get this error:

"System.ComponentModel.Win32Exception (13): SELinux execheap probe failed! Please ensure Everest has this permission, then try again
at Celeste.Mod.BOOT.Main(String[] args) in /home/vsts/work/1/s/Celeste.Mod.mm/Mod/Everest/BOOT.cs:line 65"

silk marlin
#

I have the same problem like there was before me, but with name "Celeste". I fixed it with

sudo cat /var/log/audit/audit.log | grep "Celeste" |  sudo audit2allow -M everest_core_fix
sudo semodule -i everest_core_fix.pp
glass raven
#

peaceline Good thing I added that

#

Actually

#

@silk marlin Can you check that there aren't any other SELinux errors now? It might be that you only gave permission to the probe, and not the actual runtime

wooden night
glass raven
#

That's the thing

#

If the runtime is failing execheap it doesn't crash or anything, it causes very subtle and hard to debug game-corruption like effects

wooden night
#

i mean by this point they would've noticed, no?

glass raven
#

Just grep the audit logs for execheap and check if anything pops up

silk marlin
#

maybe it's correct

glass raven
#

If nothing pops up you should be in the clear laugheline

calm otter
#

Thank you so so much, your answer saved me from a LOT of trouble

floral oak
#

further explanation of the fix that I wrote up. I figured it'd be good to have this pasted here since this thread will probably be the first thing that comes up when people search for this issue:

System.ComponentModel.Win32Exception: SELinux execheap probe failed! Please ensure Everest has this permission, then try again

This occurs due to a permission error on Linux systems running SELinux, such as Fedora. To resolve this, use the following steps to allow Celeste to have the permissions it needs:

  1. Open a terminal window on the computer the crash happened on and run sudo cat /var/log/audit/audit.log | grep execheap | grep Celeste
    • This searches the SELinux logs for entries showing that it denied Celeste execheap, which is a permission that .NET needs to function properly.
  2. If you see an output like type=AVC msg=audit(1702580366.688:3126): avc: denied { execheap } for pid=353681 comm="Celeste" ..., then continue with these steps. If you get an error or no output, follow the instructions below to report the issue.
    • This output indicates that such entries exist in the logs, indicating that Celeste was indeed denied this permission.
  3. Run sudo cat /var/log/audit/audit.log | grep execheap | grep Celeste | sudo audit2allow -M everest_core_fix
    • This finds the same entries as before in the SELinux logs, and then creates a rule that tells SELinux to allow Celeste to have this permission.
  4. Run sudo semodule -i everest_core_fix.pp
    • This enables the rule that was created in the previous step, allowing Celeste to have the execheap permission.
      After following these steps, try launching Celeste again. If the issue is not resolved, please report this on Discord.
glass raven
#

I assume that's just your wiki entry, right? laugheline

wooden night
#

in the common exceptions page

#

(currently going through every page and making use of the github alerts)

glass raven
#

This would actually make for a good command IMO

#

It's not frequent, but it definitely is an authorative answer to a generic problem which might occur

floral oak