arkane-systems / genie

A quick way into a systemd "bottle" for WSL
Other
1.85k stars 104 forks source link

Can't open new WSL session on openSUSE Tumbleweed #177

Closed IsaacOscar closed 3 years ago

IsaacOscar commented 3 years ago

I've installed the genie rpm on openSUSE (which incidently required me to manually install "dameonize" from the Fedora repo's, because openSUSE doesn't have that for some reason).

However after initilising the bottle I can no longer start any wsl sessions, untill I shutdown the bottle or or terminate the WSL distro.

Specifically if I do:

Any ideas?

cerebrate commented 3 years ago

Not yet, but we can hope.

Try running genie -v -i in an existing wsl session to get verbose output, and let me have that output?

IsaacOscar commented 3 years ago

Sure:

Running genie -v -i the first time:

genie: no bottle present.
genie: initializing bottle.
genie: starting systemd.
Waiting for systemd....!!!!!!!

(it's after this point that I can't run wsl.exe anymore)

Running genie -v -i a second time on an allready existing wsl.exe session:

genie: outside bottle, systemd pid: 987.
genie: bottle already exists (no need to initialize).

Running genie -v -u:

genie: outside bottle, systemd pid: 987.
genie: running systemctl poweroff within bottle
Waiting for systemd exit...

(now wsl.exe works again)

cerebrate commented 3 years ago

(it's after this point that I can't run wsl.exe anymore)

Does the existing WSL session exit, or does it continue running?

If it continues running, does ps aux show the started systemd session? (I presume so, given your second result above, but please provide full output of this command.)

If so, does genie -s within that WSL session properly place you inside the bottle?

github-actions[bot] commented 3 years ago

There has been no activity on this issue for over 60 days. If there is no further activity within 7 days from this message, it will be automatically closed.

IsaacOscar commented 3 years ago

(it's after this point that I can't run wsl.exe anymore)

Does the existing WSL session exit, or does it continue running?

If it continues running, does ps aux show the started systemd session? (I presume so, given your second result above, but please provide full output of this command.)

If so, does genie -s within that WSL session properly place you inside the bottle?

Yes, in the existing WSL session, the bottle works:

# genie -s
# genie -b
inside
# systemctl status
● Isaac-Desktop-wsl
    State: degraded
     Jobs: 0 queued
   Failed: 2 units
    Since: Mon 2021-08-16 14:13:57 NZST; 8min ago
   CGroup: /
           ├─user.slice
           │ └─user-0.slice
           │   ├─session-c1.scope
           │   │ ├─897 /usr/bin/fish -l
           │   │ ├─913 (sd-pam)
           │   │ ├─974 systemctl status
           │   │ └─975 less
           │   └─user@0.service
           │     └─init.scope
           │       ├─900 /usr/lib/systemd/systemd --user
           │       └─901 (sd-pam)
           ├─init.scope
           │ └─1 systemd
           └─system.slice
             ├─systemd-udevd.service
             │ └─55 /usr/lib/systemd/systemd-udevd
             ├─cron.service
             │ └─584 /usr/sbin/cron -n
             ├─wickedd-auto4.service
             │ └─155 /usr/libexec/wicked/bin/wickedd-auto4 --systemd --foreground
             ├─systemd-journald.service
             │ └─33 /usr/lib/systemd/systemd-journald
             ├─wickedd-dhcp4.service
             │ └─161 /usr/libexec/wicked/bin/wickedd-dhcp4 --systemd --foreground
             ├─systemd-machined.service
             │ └─896 /usr/lib/systemd/systemd-machined
             ├─wickedd-dhcp6.service
             │ └─163 /usr/libexec/wicked/bin/wickedd-dhcp6 --systemd --foreground
             ├─console-getty.service
             │ └─472 /sbin/agetty -o -p -- \u --noclear --keep-baud console 115200,38400,9600 xterm-256color
             ├─wickedd-nanny.service
             │ └─228 /usr/sbin/wickedd-nanny --systemd --foreground
             ├─nscd.service
             │ └─165 /usr/sbin/nscd
             ├─postfix.service
             │ ├─567 /usr/lib/postfix/bin//master -w
             │ ├─568 pickup -l -t fifo -u
             │ └─569 qmgr -l -t fifo -u
             ├─dbus.service
             │ └─148 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
             ├─system-getty.slice
             │ └─getty@tty1.service
             │   └─473 /sbin/agetty -o -p -- \u --noclear tty1 linux
             ├─wickedd.service
             │ └─221 /usr/sbin/wickedd --systemd --foreground
             └─systemd-logind.service
               └─196 /usr/lib/systemd/systemd-logind
# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.1  0.0 168792 12688 ?        Ss   14:13   0:00 systemd
root        33  0.0  0.0  47936 18412 ?        Ss   14:13   0:00 /usr/lib/systemd/systemd-journald
root        55  0.0  0.0  26924  9496 ?        Ss   14:13   0:00 /usr/lib/systemd/systemd-udevd
message+   148  0.0  0.0   8400  4852 ?        Ss   14:13   0:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
root       155  0.0  0.0   9648  5760 ?        SLs  14:13   0:00 /usr/libexec/wicked/bin/wickedd-auto4 --systemd --foreground
root       161  0.0  0.0   9652  5600 ?        SLs  14:13   0:00 /usr/libexec/wicked/bin/wickedd-dhcp4 --systemd --foreground
root       163  0.0  0.0   9652  5704 ?        SLs  14:13   0:00 /usr/libexec/wicked/bin/wickedd-dhcp6 --systemd --foreground
nscd       165  0.0  0.0 845684  2280 ?        Ssl  14:13   0:00 /usr/sbin/nscd
root       196  0.0  0.0  15584  8764 ?        Ss   14:13   0:00 /usr/lib/systemd/systemd-logind
root       221  0.0  0.0  10000  6704 ?        SLs  14:13   0:00 /usr/sbin/wickedd --systemd --foreground
root       228  0.0  0.0   9676  5940 ?        SLs  14:13   0:00 /usr/sbin/wickedd-nanny --systemd --foreground
root       472  0.0  0.0   4528   816 tty1     Ss+  14:14   0:00 /sbin/agetty -o -p -- \u --noclear --keep-baud console 115200,38400,9600 xterm-256color
root       473  0.0  0.0   3000   868 ?        Ss   14:14   0:00 /sbin/agetty -o -p -- \u --noclear tty1 linux
root       567  0.0  0.0  43416  5376 ?        Ss   14:14   0:00 /usr/lib/postfix/bin//master -w
postfix    568  0.0  0.0  43240  8108 ?        S    14:14   0:00 pickup -l -t fifo -u
postfix    569  0.0  0.0  59936  9128 ?        S    14:14   0:00 qmgr -l -t fifo -u
root       584  0.0  0.0   6624  3000 ?        Ss   14:14   0:00 /usr/sbin/cron -n
root       896  0.0  0.0  15184  8508 ?        Ss   14:22   0:00 /usr/lib/systemd/systemd-machined
root       897  0.2  0.0 162376  8496 pts/3    Ssl  14:22   0:00 /usr/bin/fish -l
root       900  0.0  0.0  17060 10892 ?        Ss   14:22   0:00 /usr/lib/systemd/systemd --user
root       901  0.0  0.0 171568  3048 ?        S    14:22   0:00 (sd-pam)
root       913  0.0  0.0 171716  3112 pts/3    S    14:22   0:00 (sd-pam)
root      1100  0.0  0.0  10156  3464 pts/3    R+   14:24   0:00 ps aux

Sorry for the very late reply! I stopped work and completely forgot about this.

IsaacOscar commented 3 years ago

I've fixed the issue by uninstalling nscd.

I haven't the faintest idea why it breaks things, but I discovered it by inspecting the output of journalctl, and then some trial and error removing modules that were reporting errors:

WSL2: Performing memory compaction.
systemd-journald[33]: Journal started
systemd-journald[33]: System Journal (/var/log/journal/43da3a8f597443fe8514a8b5baf1ac15) is 208.0M, max 4.0G, 3.7G free.
systemd-modules-load[34]: Failed to look up module alias 'scsi_dh_alua': Function not implemented
systemd-modules-load[34]: Failed to look up module alias 'scsi_dh_emc': Function not implemented
systemd-modules-load[34]: Failed to look up module alias 'scsi_dh_rdac': Function not implemented
systemd-modules-load[34]: Failed to look up module alias 'dm-multipath': Function not implemented
systemd-modules-load[34]: Failed to look up module alias 'sg': Function not implemented
systemd-sysctl[39]: Failed to open file '/boot/sysctl.conf-5.10.16.3-microsoft-standard-WSL2', ignoring: No such file or directory
systemd-sysctl[42]: Couldn't write '184' to 'kernel/sysrq', ignoring: No such file or directory
systemd[1]: Starting Flush Journal to Persistent Storage...
systemd-journald[33]: System Journal (/var/log/journal/43da3a8f597443fe8514a8b5baf1ac15) is 208.0M, max 4.0G, 3.7G free.
systemd[1]: Started Rule-based Manager for Device Events and Files.
systemd[1]: Finished Coldplug All udev Devices.
systemd[1]: Starting Wait for udev To Complete Device Initialization...
systemd[1]: Finished Flush Journal to Persistent Storage.
systemd[1]: Starting Create Volatile Files and Directories...
systemd[1]: Finished Create Volatile Files and Directories.
systemd[1]: Starting Security Auditing Service...
systemd[1]: Condition check resulted in Rebuild Journal Catalog being skipped.
systemd[1]: Condition check resulted in Update is Completed being skipped.
systemd-udevd[47]: Using default interface naming scheme 'v247'.
systemd-udevd[47]: ethtool: autonegotiation is unset or enabled, the speed and duplex are not writable.
auditd[111]: Error - audit support not in kernel
auditd[111]: Cannot open netlink audit socket
auditd[66]: free(): double free detected in tcache 2
auditd[111]: The audit daemon is exiting.
auditd[66]: Cannot daemonize (Success)
systemd-udevd[80]: sda: /usr/lib/udev/rules.d/60-io-scheduler.rules:14 Failed to write ATTR{/sys/devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0004:00/VMBUS:00/fd1d2cbd-ce7c-535c-966b-eb5f811c95f0/host0/target0:0:0/0:0:0:0/block/sda/queue/scheduler}, ignoring: Invalid argument
systemd-udevd[75]: sdb: /usr/lib/udev/rules.d/60-io-scheduler.rules:14 Failed to write ATTR{/sys/devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0004:00/VMBUS:00/fd1d2cbd-ce7c-535c-966b-eb5f811c95f0/host0/target0:0:0/0:0:0:1/block/sdb/queue/scheduler}, ignoring: Invalid argument
systemd[1]: auditd.service: Control process exited, code=dumped, status=6/ABRT
systemd[1]: auditd.service: Failed with result 'core-dump'.
systemd[1]: Failed to start Security Auditing Service.
systemd-udevd[55]: loop1: /usr/lib/udev/rules.d/60-io-scheduler.rules:14 Failed to write ATTR{/sys/devices/virtual/block/loop1/queue/scheduler}, ignoring: Invalid argument
systemd-udevd[72]: loop2: /usr/lib/udev/rules.d/60-io-scheduler.rules:14 Failed to write ATTR{/sys/devices/virtual/block/loop2/queue/scheduler}, ignoring: Invalid argument
systemd-udevd[48]: loop5: /usr/lib/udev/rules.d/60-io-scheduler.rules:14 Failed to write ATTR{/sys/devices/virtual/block/loop5/queue/scheduler}, ignoring: Invalid argument
systemd-udevd[86]: loop0: /usr/lib/udev/rules.d/60-io-scheduler.rules:14 Failed to write ATTR{/sys/devices/virtual/block/loop0/queue/scheduler}, ignoring: Invalid argument
systemd-udevd[81]: loop4: /usr/lib/udev/rules.d/60-io-scheduler.rules:14 Failed to write ATTR{/sys/devices/virtual/block/loop4/queue/scheduler}, ignoring: Invalid argument
systemd-udevd[57]: loop3: /usr/lib/udev/rules.d/60-io-scheduler.rules:14 Failed to write ATTR{/sys/devices/virtual/block/loop3/queue/scheduler}, ignoring: Invalid argument
systemd[1]: Starting Record System Boot/Shutdown in UTMP...
systemd-udevd[83]: loop7: /usr/lib/udev/rules.d/60-io-scheduler.rules:14 Failed to write ATTR{/sys/devices/virtual/block/loop7/queue/scheduler}, ignoring: Invalid argument
systemd-udevd[59]: loop6: /usr/lib/udev/rules.d/60-io-scheduler.rules:14 Failed to write ATTR{/sys/devices/virtual/block/loop6/queue/scheduler}, ignoring: Invalid argument
systemd-udevd[84]: Using default interface naming scheme 'v247'.
systemd-udevd[50]: ethtool: autonegotiation is unset or enabled, the speed and duplex are not writable.
systemd-udevd[84]: ethtool: autonegotiation is unset or enabled, the speed and duplex are not writable.
systemd-udevd[81]: ethtool: autonegotiation is unset or enabled, the speed and duplex are not writable.
systemd-udevd[55]: ethtool: autonegotiation is unset or enabled, the speed and duplex are not writable.
systemd-udevd[63]: Using default interface naming scheme 'v247'.
systemd-udevd[63]: ethtool: autonegotiation is unset or enabled, the speed and duplex are not writable.
systemd[1]: Finished Record System Boot/Shutdown in UTMP.
udevadm[49]: systemd-udev-settle.service is deprecated. Please fix wickedd.service not to pull it in.
systemd[1]: Condition check resulted in Entropy Daemon based on the HAVEGE algorithm being skipped.
systemd[1]: Finished Wait for udev To Complete Device Initialization.
systemd[1]: Reached target System Initialization.
systemd[1]: Started Watch for changes in CA certificates.
systemd[1]: Started CUPS Scheduler.
systemd[1]: Started Watch for changes in issue snippets.
systemd[1]: Started Watch for changes in smartmontools sysconfig file.
systemd[1]: Started Backup of RPM database.
systemd[1]: Started Check if mainboard battery is Ok.
systemd[1]: Condition check resulted in Discard unused blocks once a week being skipped.
systemd[1]: Started Daily rotation of log files.
systemd[1]: Started Daily man-db regeneration.
systemd[1]: Started Daily Cleanup of Temporary Directories.
systemd[1]: Reached target Path Units.
systemd[1]: Listening on CUPS Scheduler.
systemd[1]: dbus.socket: Socket service dbus.service not loaded, refusing.
systemd[1]: Failed to listen on D-Bus System Message Bus Socket.
systemd[1]: Dependency failed for User Login Management.
systemd[1]: systemd-logind.service: Job systemd-logind.service/start failed with result 'dependency'.
systemd[1]: Listening on PC/SC Smart Card Daemon Activation Socket.
systemd[1]: Condition check resulted in wslg-xwayland.socket being skipped.
systemd[1]: Reached target Socket Units.
systemd[1]: Reached target Basic System.
systemd[1]: System is tainted: cgroupsv1
systemd[1]: Condition check resulted in YaST2 Second Stage being skipped.
systemd[1]: Condition check resulted in YaST2 Firstboot being skipped.
systemd[1]: Condition check resulted in irqbalance daemon being skipped.
systemd[1]: Starting Generate issue file for login session...
systemd[1]: Starting Apply settings from /etc/sysconfig/keyboard...
systemd[1]: Condition check resulted in Machine Check Exception Logging Daemon being skipped.
systemd[1]: Starting Name Service Cache Daemon...
systemd[1]: Condition check resulted in Self Monitoring and Reporting Technology (SMART) Daemon being skipped.
systemd[1]: Starting wicked AutoIPv4 supplicant service...
systemd[1]: Starting wicked DHCPv4 supplicant service...
nscd[159]: 159 monitoring file `/etc/passwd` (1)
nscd[159]: 159 monitoring directory `/etc` (2)
nscd[159]: 159 monitoring file `/etc/group` (3)
nscd[159]: 159 monitoring directory `/etc` (2)
nscd[159]: 159 monitoring file `/etc/hosts` (4)
nscd[159]: 159 monitoring directory `/etc` (2)
nscd[159]: 159 monitoring file `/etc/resolv.conf` (5)
nscd[159]: 159 monitoring directory `/etc` (2)
nscd[159]: 159 disabled inotify-based monitoring for file `/etc/services': No such file or directory
nscd[159]: 159 stat failed for file `/etc/services'; will try again later: No such file or directory
nscd[159]: 159 monitoring file `/etc/netgroup` (6)
nscd[159]: 159 monitoring directory `/etc` (2)
nscd[159]: 159 disabled inotify-based monitoring for file `/etc/nsswitch.conf': No such file or directory
nscd[159]: 159 stat failed for file `/etc/nsswitch.conf'; will try again later: No such file or directory
nscd[159]: 159 disabled inotify-based monitoring for file `/etc/nsswitch.conf': No such file or directory
nscd[159]: 159 stat failed for file `/etc/nsswitch.conf'; will try again later: No such file or directory
nscd[159]: 159 disabled inotify-based monitoring for file `/etc/nsswitch.conf': No such file or directory
nscd[159]: 159 stat failed for file `/etc/nsswitch.conf'; will try again later: No such file or directory
nscd[159]: 159 disabled inotify-based monitoring for file `/etc/nsswitch.conf': No such file or directory
nscd[159]: 159 stat failed for file `/etc/nsswitch.conf'; will try again later: No such file or directory
nscd[159]: 159 disabled inotify-based monitoring for file `/etc/nsswitch.conf': No such file or directory
nscd[159]: 159 stat failed for file `/etc/nsswitch.conf'; will try again later: No such file or directory
wickedd-auto4[155]: Cannot get dbus system bus handle (Failed to connect to socket /run/dbus/system_bus_socket: Connection refused)
wickedd-auto4[155]: unable to initialize dbus service
wickedd-dhcp4[158]: Cannot get dbus system bus handle (Failed to connect to socket /run/dbus/system_bus_socket: Connection refused)
wickedd-dhcp4[158]: unable to initialize dbus service
systemd[1]: Starting wicked DHCPv6 supplicant service...
systemd[1]: Condition check resulted in Purge old kernels being skipped.
systemd[1]: Started Name Service Cache Daemon.
systemd[1]: wickedd-auto4.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: wickedd-auto4.service: Failed with result 'exit-code'.
systemd[1]: Failed to start wicked AutoIPv4 supplicant service.
systemd[1]: wickedd-dhcp4.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: wickedd-dhcp4.service: Failed with result 'exit-code'.
systemd[1]: Failed to start wicked DHCPv4 supplicant service.
systemd[1]: Reached target Host and Network Name Lookups.
systemd[1]: Reached target User and Group Name Lookups.
wickedd-dhcp6[179]: Cannot get dbus system bus handle (Failed to connect to socket /run/dbus/system_bus_socket: Connection refused)
wickedd-dhcp6[179]: Unable to initialize dbus server
systemd[1]: wickedd-dhcp6.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: wickedd-dhcp6.service: Failed with result 'exit-code'.
systemd[1]: Failed to start wicked DHCPv6 supplicant service.
systemd[1]: Starting wicked network management service daemon...
wickedd[194]: Cannot get dbus system bus handle (Failed to connect to socket /run/dbus/system_bus_socket: Connection refused)
wickedd[194]: unable to initialize dbus service
systemd[1]: wickedd.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: wickedd.service: Failed with result 'exit-code'.
systemd[1]: Failed to start wicked network management service daemon.
systemd[1]: Starting wicked network nanny service...
systemd[1]: issue-generator.service: Deactivated successfully.
systemd[1]: Finished Generate issue file for login session.
wickedd-nanny[207]: Cannot get dbus system bus handle (Failed to connect to socket /run/dbus/system_bus_socket: Connection refused)
wickedd-nanny[207]: Cannot create server, giving up.
systemd[1]: wickedd-nanny.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: wickedd-nanny.service: Failed with result 'exit-code'.
systemd[1]: Failed to start wicked network nanny service.
systemd[1]: Starting wicked managed network interfaces...
systemd[1]: Finished Apply settings from /etc/sysconfig/keyboard.
wicked[213]: Cannot get dbus system bus handle (Failed to connect to socket /run/dbus/system_bus_socket: Connection refused)
wicked[213]: Unable to connect to wicked dbus service
systemd[1]: wicked.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: wicked.service: Failed with result 'exit-code'.
systemd[1]: Failed to start wicked managed network interfaces.
systemd[1]: Reached target Network.
systemd[1]: Started Backup of /etc/sysconfig.
systemd[1]: Reached target Timer Units.
systemd[1]: Starting Postfix Mail Transport Agent...
systemd[1]: Starting Permit User Sessions...
echo[225]: Starting mail service (Postfix)
systemd[1]: Finished Permit User Sessions.
systemd[1]: Started Console Getty.
systemd[1]: Starting X Display Manager...
systemd[1]: Started Getty on tty1.
systemd[1]: Reached target Login Prompts.
systemd[1]: Condition check resulted in /etc/init.d/after.local Compatibility being skipped.
display-manager[236]: /etc/vconsole.conf not available
display-manager[236]: Keyboard layout could not be set
lightdm[240]: Failed to get system bus: Could not connect: Connection refused
display-manager[230]: Starting service lightdm
display-manager[240]: Failed to get D-Bus connection
startproc[239]: startproc:  exit status of parent of /usr/sbin/lightdm: 1
systemd[1]: display-manager.service: Control process exited, code=exited, status=1/FAILURE
systemd[1]: display-manager.service: Failed with result 'exit-code'.
systemd[1]: Failed to start X Display Manager.
systemd[1]: display-manager.service: Triggering OnFailure= dependencies.
systemd[1]: display-manager.service: Failed to enqueue OnFailure= job, ignoring: Unit plymouth-quit.service not found.
postfix[257]: Postfix is running with backwards-compatible default settings
postfix[257]: See http://www.postfix.org/COMPATIBILITY_README.html for details
postfix[257]: To disable backwards compatibility use "postconf compatibility_level=3.6" and "postfix reload"
postfix/postfix-script[327]: starting the Postfix mail system
postfix/master[329]: daemon started -- version 3.6.2, configuration /etc/postfix
postfix[333]: Postfix is running with backwards-compatible default settings
postfix[333]: See http://www.postfix.org/COMPATIBILITY_README.html for details
postfix[333]: To disable backwards compatibility use "postconf compatibility_level=3.6" and "postfix reload"
systemd[1]: Started Postfix Mail Transport Agent.
systemd[1]: Started Command Scheduler.
systemd[1]: Reached target Multi-User System.
systemd[1]: Reached target Graphical Interface.
systemd[1]: Starting Record Runlevel Change in UTMP...
cron[346]: (CRON) STARTUP (1.5.5)
cron[346]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 82% if used.)
cron[346]: (CRON) INFO (running with inotify support)
cron[346]: (CRON) INFO (@reboot jobs will be run at computer's startup.)
systemd[1]: systemd-update-utmp-runlevel.service: Deactivated successfully.
systemd[1]: Finished Record Runlevel Change in UTMP.
systemd[1]: Startup finished in 675ms.