| 27 Jul 2025 |
K900 | OK why is it downloading a 500MB thing | 04:57:55 |
K900 | And why do I only see that on stderr | 04:58:08 |
K900 | OK wait for me it's running some sort of vendored umu it's downloaded | 05:07:32 |
K900 | /home/k900/.config/heroic/tools/runtimes/umu/umu-run | 05:07:42 |
K900 | Oh wait that's the unwrap PR's problem I think | 05:09:39 |
K900 | OK I have a repro | 05:22:42 |
K900 | OK WHAT | 05:35:59 |
K900 | I have QUESTIONS | 05:36:06 |
K900 | diff --git a/pkgs/build-support/build-fhsenv-bubblewrap/default.nix b/pkgs/build-support/build-fhsenv-bubblewrap/default.nix
index e69e990d3f29..fa43fe9fcf96 100644
--- a/pkgs/build-support/build-fhsenv-bubblewrap/default.nix
+++ b/pkgs/build-support/build-fhsenv-bubblewrap/default.nix
@@ -167,7 +167,7 @@ let
run:
writeShellScript "${name}-init" ''
source /etc/profile
- exec ${run} "$@"
+ ${run} "$@"
'';
indentLines = str: concatLines (map (s: " " + s) (filter (s: s != "") (splitString "\n" str)));
| 05:40:15 |
K900 | This fixes it | 05:40:17 |
K900 | H O W | 05:40:19 |
Charles | fascinating | 05:44:06 |
aidalgol | Heroic does that if umu-run isn't on the 4PATH. | 05:47:55 |
aidalgol | * Heroic does that if umu-run isn't on the $PATH. | 05:47:57 |
K900 | Yeah I figured that one out | 05:48:03 |
K900 | OK so | 05:53:07 |
K900 | I added logging to every fucking wrapper in the chain | 05:53:14 |
K900 | exec -a umu-run /home/k900/test/umu-run-wrapped <blah blah game>
import _frozen_importlib # frozen
import _imp # builtin
import '_thread' # <class '_frozen_importlib.BuiltinImporter'>
import '_warnings' # <class '_frozen_importlib.BuiltinImporter'>
import '_weakref' # <class '_frozen_importlib.BuiltinImporter'>
import '_io' # <class '_frozen_importlib.BuiltinImporter'>
import 'marshal' # <class '_frozen_importlib.BuiltinImporter'>
import 'posix' # <class '_frozen_importlib.BuiltinImporter'>
import '_frozen_importlib_external' # <class '_frozen_importlib.FrozenImporter'>
# installing zipimport hook
import 'time' # <class '_frozen_importlib.BuiltinImporter'>
import 'zipimport' # <class '_frozen_importlib.FrozenImporter'>
# installed zipimport hook
# /nix/store/djck7mx6jad1w0yy6zings96dyxanls6-python3-3.13.5/lib/python3.13/encodings/__pycache__/__init__.cpython-313.pyc matches /nix/store/djck7mx6jad1w0yy6zings96dyxanls6-python3-3.13.5/lib/python3.13/encodings/__init__.py
# code object from '/nix/store/djck7mx6jad1w0yy6zings96dyxanls6-python3-3.13.5/lib/python3.13/encodings/__pycache__/__init__.cpython-313.pyc'
import '_codecs' # <class '_frozen_importlib.BuiltinImporter'>
import 'codecs' # <class '_frozen_importlib.FrozenImporter'>
# /nix/store/djck7mx6jad1w0yy6zings96dyxanls6-python3-3.13.5/lib/python3.13/encodings/__pycache__/aliases.cpython-313.pyc matches /nix/store/djck7mx6jad1w0yy6zings96dyxanls6-python3-3.13.5/lib/python3.13/encodings/aliases.py
# code object from '/nix/store/djck7mx6jad1w0yy6zings96dyxanls6-python3-3.13.5/lib/python3.13/encodings/__pycache__/aliases.cpython-313.pyc'
import 'encodings.aliases' # <_frozen_importlib_external.SourceFileLoader object at 0x7fd1fb3ba210>
import 'encodings' # <_frozen_importlib_external.SourceFileLoader object at 0x7fd1fb3352b0>
# /nix/store/djck7mx6jad1w0yy6zings96dyxanls6-python3-3.13.5/lib/python3.13/encodings/__pycache__/utf_8.cpython-313.pyc matches /nix/store/djck7mx6jad1w0yy6zings96dyxanls6-python3-3.13.5/lib/python3.13/encodings/utf_8.py
# code object from '/nix/store/djck7mx6jad1w0yy6zings96dyxanls6-python3-3.13.5/lib/python3.13/encodings/__pycache__/utf_8.cpython-313.pyc'
import 'encodings.utf_8' # <_frozen_importlib_external.SourceFileLoader object at 0x7fd1fb3ba350>
import '_signal' # <class '_frozen_importlib.BuiltinImporter'>
import '_abc' # <class '_frozen_importlib.BuiltinImporter'>
import 'abc' # <class '_frozen_importlib.FrozenImporter'>
import 'io' # <class '_frozen_importlib.FrozenImporter'>
| 05:53:35 |
K900 | And it just dies there | 05:53:45 |
Charles | the only thing i can think of is that exec doesn't create a new process, so maybe somehow the shell process has some kind of state somewhere that the exec'd thing ends up inheriting that causes it to explode, and i have no idea how to go about testing/falsifying that idea | 05:55:41 |
K900 | Oh god | 05:56:34 |
K900 | I think I figured it out | 05:56:38 |
Charles | what did you see, denvercoder9 | 05:57:23 |
K900 | Or maybe not | 06:00:09 |
K900 | It's like it's getting killed at a random point | 06:00:17 |
K900 | I wonder if this is some python subprocess.popen nonsense | 06:00:36 |
K900 | Because Legendary is just doing subprocess.popen | 06:00:45 |
Charles | not a consistent point? | 06:00:49 |
K900 | Nope | 06:04:38 |
K900 | OK so I think what MIGHT be happening is that something is not detaching somewhere | 06:05:19 |