Releases: MicrosoftDocs/WSL
15007
Build 15007
For general Windows information on build 15007 visit the Windows Blog.
To track or report an issue visit our Github page.
Known Issue
- There is a known bug where the console does not recognize some Ctrl + input. This includes the ctrl-c command which will act as a normal ‘c’ keypress.
- Workaround: Map an alternate key to Ctrl+C. For example, to map Ctrl+K to Ctrl+C do:
stty intr \^k
. This mapping is per terminal and will have to be done every time bash is launched. Users can explore the option to include this in their.bashrc
- Workaround: Map an alternate key to Ctrl+C. For example, to map Ctrl+K to Ctrl+C do:
Fixed
- Corrected the issue where running WSL would consume 100% of a CPU core
- Socket option IP_PKTINFO, IPV6_RECVPKTINFO now supported. (GH #851, 987)
- Truncate network interface physical address to 16 bytes in lxcore (GH #1452, 1414, 1343, 468, 308)
- Additional fixes and improvements
LTP Results:
Number of Passing Test: 709
Number of non-Passing (failing, skipped, etc…): 255
LTP Test Run Logs
15002
Build 15002
For general Windows information on build 15002 visit the Windows Blog.
To track or report an issue visit our Github page.
Known Issue
Two known issues:
- There is a known bug where the console does not recognize some Ctrl + input. This includes the ctrl-c command which will act as a normal ‘c’ keypress.
- Workaround: Map an alternate key to Ctrl+C. For example, to map Ctrl+K to Ctrl+C do:
stty intr \^k
. This mapping is per terminal and will have to be done every time bash is launched. Users can explore the option to include this in their.bashrc
- Workaround: Map an alternate key to Ctrl+C. For example, to map Ctrl+K to Ctrl+C do:
- While WSL is running a system thread will consume 100% of a CPU core. The root cause has been addressed and fixed internally.
Fixed
- All bash sessions must now be created at the same permission level. Attempting to start a session at a different level will be blocked. This means admin and non-admin consoles cannot run at the same time. (GH #626)
- Implemented the following NETLINK_ROUTE messages (requires Windows admin)
- RTM_NEWADDR (supports
ip addr add
) - RTM_NEWROUTE (supports
ip route add
) - RTM_DELADDR (supports
ip addr del
) - RTM_DELROUTE (supports
ip route del
)
- RTM_NEWADDR (supports
- Scheduled task checking for packages to update will no longer run on a metered connection (GH #1371)
- Fixed error where piping gets stuck i.e. bash -c "ls -alR /" | bash -c "cat" (GH #1214)
- Implemented TCP_KEEPCNT socket option (GH #843)
- Implemented IP_MTU_DISCOVER INET socket option (GH #720, 717, 170, 69)
- Removed legacy functionality to run NT binaries from init with NT path lookup. (GH #1325)
- Fix mode of /dev/kmsg to allow group / other read access (0644) (GH #1321)
- Implemented /proc/sys/kernel/random/uuid (GH #1092)
- Corrected error where process start time was showing as year 2432 (GH #974)
- Switched default TERM environment variable to xterm-256color (GH #1446)
- Modified the way that process commit is calculated during process fork. (GH #1286)
- Implemented /proc/sys/vm/overcommit_memory. (GH #1286)
- Implemented /proc/net/route file (GH #69)
- Fixed error where shortcut name was incorrectly localized (GH #696)
- Fixed elf parsing logic that is incorrectly validating the program headers must be less than (or equal to) PATH_MAX. (GH #1048)
- Implemented statfs callback for procfs, sysfs, cgroupfs, and binfmtfs (GH #1378)
- Fixed AptPackageIndexUpdate windows that won’t close (GH #1184, also discussed in GH #1193)
- Added ASLR personality ADDR_NO_RANDOMIZE support. (GH #1148, 1128)
- Improved PTRACE_GETSIGINFO, SIGSEGV, for proper gdb stack traces during AV (GH #875)
- Elf parsing no longer fails for patchelf binaries. (GH #471)
- VPN DNS propagated to /etc/resolv.conf (GH #416, 1350)
- Improvements to TCP close for more reliable data transfer. (GH #610, 616, 1025, 1335)
- Now return correct error code when too many files are opened (EMFILE). (GH #1126, 2090)
- Windows Audit log now reports the image name in process create audit.
- Now gracefully fail when launching bash.exe from within a bash window
- Added error message when interop is unable to access a working directory under LxFs (i.e. notepad.exe .bashrc)
- Fixed issue where Windows path was truncated in WSL
- Additional fixes and improvements
14986
Build 14986
For general Windows information on build 14986 visit the Windows Blog.
To track or report an issue visit our Github page.
Fixed
- Fixed bugchecks with Netlink and Pty IOCTLs
- Kernel version now reports 4.4.0-43 for consistency with Xenial
- Bash.exe now launches when input directed to 'nul:' (GH #1259)
- Thread IDs now reported correctly in procfs (GH #967)
- IN_UNMOUNT | IN_Q_OVERFLOW | IN_IGNORED | IN_ISDIR flags now supported in inotify_add_watch() (GH #1280)
- Implement timer_create and related system calls. This enables GHC support (GH #307)
- Fixed issue where ping returned a time of 0.000ms (GH #1296)
- Return correct error code when too many files are opened.
- Fixed issue in WSL where Netlink request for network interface data would fail with EINVAL if the interface's hardware address is 32-bytes (such as the Teredo interface)
- Note that the Linux "ip" utility contains a bug where it will crash if WSL reports a 32-byte hardware address. This is a bug in "ip", not WSL. The “ip” utility hard-codes the length of the string buffer used to print the hardware address, and that buffer is too small to print a 32-byte hardware address.
- Additional fixes and improvements
LTP Results:
Number of Passing Test: 669
Number of non-Passing (failing, skipped, etc…): 258
LTP Test Run Logs
14965
Build 14965
For general Windows information on build 14965 visit the Windows Blog.
To track or report an issue visit our Github page.
Fixed
- Support for Netlink sockets NETLINK_ROUTE protocol's RTM_GETLINK and RTM_GETADDR (GH #468)
- Enables ifconfig and ip commands for network enumeration
- /sbin is now in the user's path by default
- NT user path now appended to the WSL path by default (i.e. you can now type notepad.exe without adding System32 to the Linux path)
- Added support for /proc/sys/kernel/cap_last_cap
- NT Binaries can now be launched from WSL when the current working directory contains non-ansi characters (GH #1254)
- Allow shutdown on disconnected unix stream socket.
- Added support for PR_GET_PDEATHSIG.
- Added support for CLONE_PARENT
- Fixed error where piping gets stuck i.e. bash -c "ls -alR /" | bash -c "cat" (GH #1214)
- Handle requests to connect to the current terminal.
- Mark /proc//oom_score_adj as writable.
- Add /sys/fs/cgroup folder.
- sched_setaffinity should return number of affinity bits mask
- Fix ELF validation logic which incorrectly assumes interpreter paths must be less than 64 characters long. (GH #743)
- Open file descriptors can keep console window open (GH #1187)
- Fixeed error where rename() failed with trailing slash on target name (GH #1008)
- Implement /proc/net/dev file
- Fixed 0.000ms pings due to timer resolution.
- Implemented /proc/self/environ (GH #730)
- Additional bugfixes and improvements
LTP Results:
Number of Passing Test: 664
Number of non-Passing (failing, skipped, etc…): 263
LTP Test Run Logs
14959
Build 14959
For general Windows information on build 14959 visit the Windows Blog.
To track or report an issue visit our Github page.
Fixed
- Improved Pico Process notification for Windows. Additional information found on the WSL Blog.
- Improved stability with Windows interoperability
- Fixed error 0x80070057 when launching bash.exe when Enterprise Data Protection (EDP) is enabled
- Additional bugfixes and improvements
LTP Results:
Number of Passing Test: 665
Number of non-Passing (failing, skipped, etc…): 263
LTP Test Run Logs
14951
Build 14951
For general Windows information on build 14951 visit the Windows Blog.
To track or report an issue visit our Github page.
New Feature: Windows / Ubuntu Interoperability
Windows binaries can now be invoked directly from the WSL command line. This gives users the ability to interact with their Windows environment and system in a way that has not been possible. As a quick example, it is now possible for users to run the following commands:
```
$ export PATH=$PATH:/mnt/c/Windows/System32
$ notepad.exe
$ ipconfig.exe | grep IPv4 | cut -d: -f2
$ ls -la | findstr.exe foo.txt
$ cmd.exe /c dir
```
More information can be found at:
Fixed
- Ubuntu 16.04 (Xenial) is now installed for all new WSL instances. Users with existing 14.04 (Trusty) instances will not be automatically upgraded.
- Locale set during install is now displayed
- Terminal improvements including bug where redirecting a WSL process to a file does not always work
- Console lifetime should be tied to bash.exe lifetime
- Console window size should use visible size, not buffer size
- Additional bugfixes and improvements
LTP Results:
Number of Passing Test: 665
Number of non-Passing (failing, skipped, etc…): 263
LTP Test Run Logs
14946
Build 14946
For general Windows information on build 14946 visit the Windows Blog.
To track or report an issue visit our Github page.
Fixed
- Fixed an issue that prevented creating WSL user accounts for users with NT usernames that contain spaces or quotes.
- Change VolFs and DrvFs to return 0 for directory's link count in stat
- Support IPV6_MULTICAST_HOPS socket option.
- Limit to a single console I/O loop per tty. Example: the following command is possible:
- bash -c "echo data" | bash -c "ssh user@example.com 'cat > foo.txt'"
- replace spaces with tabs in /proc/cpuinfo (GH #1115)
- DrvFs now appears in mountinfo with a name that matches mounted Windows volume
- /home and /root now appear in mountinfo with correct names
- Additional bugfixes and improvements
LTP Results:
Number of Passing Test: 665
Number of non-Passing (failing, skipped, etc…): 263
LTP Test Run Logs
14942
Build 14942
For general Windows information on build 14942 visit the Windows Blog.
To track or report an issue visit our Github page.
Fixed
- A number of bugchecks addressed, including the “ATTEMPTED EXECUTE OF NOEXECUTE MEMORY” networking crash which was blocking SSH
- inotifiy support for notifications generated from Windows applications on DrvFs is now in
- Implement TCP_KEEPIDLE and TCP_KEEPINTVL for mongod. (GH #695)
- Implement the pivot_root system call
- Implement socket option for SO_DONTROUTE
- Additional bugfixes and improvements
LTP Results:
Number of Passing Test: 665
Number of non-Passing (failing, skipped, etc…): 263
LTP Test Run Logs
Syscall Support
Below are a list of new or enhanced syscalls that have some implementation in WSL. The syscalls on this list are supported in at least one scenario, but may not have all parameters supported at this time.
pivot_root
14936
Build 14936
For general Windows information on build 14936 visit the Windows Blog.
To track or report an issue visit our Github page.
Note: WSL will install Ubuntu version 16.04 (Xenial) instead of Ubuntu 14.04 (Trusty) in an upcoming release. This change will apply to Insiders installing new instances (lxrun.exe /install or first run of bash.exe). Existing instances with Trusty will not be upgraded automatically. Users can upgrade their Trusty image to Xenial using the do-release-upgrade command.
Known Issue
WSL is experiencing an issue with some socket implementations. The bugcheck manifests itself as a crash with the error “ATTEMPTED EXECUTE OF NOEXECUTE MEMORY”. The most common manifestation of this issue is a crash when using ssh. The root cause is fixed on internal builds and will be pushed to Insiders at the earliest opportunity.
Fixed
- Implemented the chroot system call
- Improvements in inotify including support for notifications generated from Windows applications on DrvFs
- Socket binding to IPV6:: now supports IPV6_V6ONLY (GH #68, #157, #393, #460, #674, #740, #982, #996)
- WNOWAIT behavior for waitid systemcall implemented (GH #638)
- Support for IP socket options IP_HDRINCL and IP_TTL
- Zero-length read() should return immediately (GH #975)
- Correctly handle filenames and filename prefixes that don't include a NULL terminator in a .tar file.
- epoll support for /dev/null
- Fix /dev/alarm time source
- Bash -c now able to redirect to a file
- Additional bugfixes and improvements
LTP Results:
Number of Passing Test: 664
Number of non-Passing (failing, skipped, etc…): 264
LTP Test Run Logs
Syscall Support
Below are a list of new or enhanced syscalls that have some implementation in WSL. The syscalls on this list are supported in at least one scenario, but may not have all parameters supported at this time.
chroot
14926
Build 14926
For general Windows information on build 14926 visit the Windows Blog.
To track or report an issue visit our Github page.
Fixed
- Ping now works in consoles which do not have administrator privileges
- Ping6 now supported, also without administrator privileges
- Inotify support for files modified through WSL. (GH #216)
- Flags supported:
- inotify_init1: LX_O_CLOEXEC, LX_O_NONBLOCK
- inotify_add_watch events: LX_IN_ACCESS, LX_IN_MODIFY, LX_IN_ATTRIB, LX_IN_CLOSE_WRITE, LX_IN_CLOSE_NOWRITE, LX_IN_OPEN, LX_IN_MOVED_FROM, LX_IN_MOVED_TO, LX_IN_CREATE, LX_IN_DELETE, LX_IN_DELETE_SELF, LX_IN_MOVE_SELF
- inotify_add_watch attributes: LX_IN_DONT_FOLLOW, LX_IN_EXCL_UNLINK, LX_IN_MASK_ADD, LX_IN_ONESHOT, LX_IN_ONLYDIR
- read output: LX_IN_ISDIR, LX_IN_IGNORED
- Known issue: Modifying files from Windows applications does not generate any events
- Flags supported:
- Unix socket now supports SCM_CREDENTIALS
LTP Results:
Number of Passing Test: 651
Number of non-Passing (failing, skipped, etc…): 258
LTP Test Run Logs