redox issueshttps://gitlab.redox-os.org/redox-os/redox/-/issues2024-01-13T07:04:44Zhttps://gitlab.redox-os.org/redox-os/redox/-/issues/1416Add an option to ignore recipe errors2024-01-13T07:04:44ZRibbonAdd an option to ignore recipe errorsThis option will ignore a recipe error and build the next recipe of the Cookbook configuration (`make all` and `make rebuild` commands).
Currently the CI server only update the packages if all recipes compiled successfully, it's time co...This option will ignore a recipe error and build the next recipe of the Cookbook configuration (`make all` and `make rebuild` commands).
Currently the CI server only update the packages if all recipes compiled successfully, it's time consuming and could delay important updates on recipes.
This is equivalent to "delta updates" but for CI, only the successfully compiled programs will be updated on the package repository.
It could be implemented on the `.config` file and the Cookbook configuration.https://gitlab.redox-os.org/redox-os/redox/-/issues/1415Add a "ci.sh" bootstrap script for the CI server2023-11-08T17:24:04ZRibbonAdd a "ci.sh" bootstrap script for the CI serverThe current [bootstrap.sh](https://gitlab.redox-os.org/redox-os/redox/-/blob/master/bootstrap.sh?ref_type=heads) script contains packages to build the Redox base system and recipes on the [demo](https://gitlab.redox-os.org/redox-os/redox...The current [bootstrap.sh](https://gitlab.redox-os.org/redox-os/redox/-/blob/master/bootstrap.sh?ref_type=heads) script contains packages to build the Redox base system and recipes on the [demo](https://gitlab.redox-os.org/redox-os/redox/-/blob/master/config/x86_64/demo.toml?ref_type=heads) Cookbook configuration.
As Redox receive more recipes they require more build tools to be installed on the CI server, but the current script don't accept "non-demo recipes" dependencies.
The solution is to create a specific script to configure the CI server, it will be a reduced version of the `bootstrap.sh` script with:
- The command to install the Ubuntu/Debian packages (to build all recipes from Cookbook)
- The commands to download the Redox build system
- The command to install the Rust toolchain
- The command to enable a source-based toolchain
- The commands to build all Cookbook configurations and recipes
This will reduce the maintenance effort of the CI server, the script name can be `ci.sh`https://gitlab.redox-os.org/redox-os/redox/-/issues/905Cryptic/inconsistent errors in most utilities2023-06-13T04:41:09ZJeremy SollerCryptic/inconsistent errors in most utilities*Created by: polymetric1*
**Reproduction**: Pass any invalid arguments to any utility (`wget`, `cat`,
**Expected behavior**: Utilities give useful and consistent errors such as "cat: testt: file doesn't exist"
**Actual behavior**: Ut...*Created by: polymetric1*
**Reproduction**: Pass any invalid arguments to any utility (`wget`, `cat`,
**Expected behavior**: Utilities give useful and consistent errors such as "cat: testt: file doesn't exist"
**Actual behavior**: Utilities carrying out a similar task (such as finding and opening a file) seem to give very different errors from each other, and none of them are very clear as to what the error is (they all basically mean the file does not exist)
**Redox release**: 0.1.4
**Blocking/related**: None that I know of
**Misc**:
Some screenshots:
local files: (`tee` crashes the shell):
![virtualbox_2017-03-30_18-49-38](https://cloud.githubusercontent.com/assets/13613437/24529441/aa2e4bdc-1579-11e7-92f4-91d1a2563490.png)
When given an invalid URL, wget throws this crazy error:
![virtualbox_2017-03-30_18-42-55](https://cloud.githubusercontent.com/assets/13613437/24529445/b1a0e032-1579-11e7-9d76-f204bf66c88b.png)Jeremy SollerJeremy Sollerhttps://gitlab.redox-os.org/redox-os/redox/-/issues/877rustc no longer supports $(ARCH)-unknown-none as known target2018-06-15T11:40:00ZJeremy Sollerrustc no longer supports $(ARCH)-unknown-none as known target*Created by: Dragonrun1*
Among other issues I've been noticing when manually running some of the build commands to figure needed changes to make stuff build under MS Windows I've ran into this one which I sure isn't just a Windows only ...*Created by: Dragonrun1*
Among other issues I've been noticing when manually running some of the build commands to figure needed changes to make stuff build under MS Windows I've ran into this one which I sure isn't just a Windows only issue. For example when trying to run:
`bash
CARGO_INCREMENTAL=1 cargo rustc --manifest-path rust/src/libcollections/Carg
o.toml --target x86_64-unknown-none --release --verbose -- -C soft-float -o bui
ld/kernel/libcollections.rlib
`
I get
`bash
error: failed to run `rustc` to learn about target-specific information
Caused by:
process didn't exit successfully: `rustc - --crate-name ___ --print=file-names --crate-type bin --crate-type rlib --target x86_64-unknown-none` (exit code: 101)
--- stderr
error: Error loading target specification: Could not find specification for target "x86_64-unknown-none"
|
= help: Use `--print target-list` for a list of built-in targets
`
and when I run:
`bash
$ rustc --print target-list
`
It no longer list any `-unknown-none` targets. I'm not sure when rust made the change but the KTARGET of the mk/config.mk file needs to be updated. My suggestion would be something like `$(ARCH)-unknown-linux-gnu`. I didn't check but I'm pretty sure those are what the old `-none` targets have been renamed too and at least in some limited testing seem to work. I noticed this as well in the build history which shows the error I get without the `--verbose` option added.
https://travis-ci.org/redox-os/redox/builds/211931652Jeremy SollerJeremy Sollerhttps://gitlab.redox-os.org/redox-os/redox/-/issues/855Memory leak or memory statistic bug2023-06-13T04:35:59ZJeremy SollerMemory leak or memory statistic bug*Created by: gdf8gdn8*
**Reproduction**:
Download redox-os/livesd.iso from github v0.0.9
Run qemu with
> qemu-system-x86_64 -boot d -cdrom "livedisk.iso" -smp 1 -m 512
Login
Open terminal. Run free several times
![image](https:...*Created by: gdf8gdn8*
**Reproduction**:
Download redox-os/livesd.iso from github v0.0.9
Run qemu with
> qemu-system-x86_64 -boot d -cdrom "livedisk.iso" -smp 1 -m 512
Login
Open terminal. Run free several times
![image](https://cloud.githubusercontent.com/assets/496932/23272151/774a7fa0-f9fa-11e6-98a4-678dfe09b767.png)
**Expected behavior**:
No leaks
**Actual behavior**:
Produce leaks
**Build information**:
redox-os: Precompiled redox-os/livesd.iso from github v0.0.9
OS: MacOS 16.4.0
same result under Linuxhttps://gitlab.redox-os.org/redox-os/redox/-/issues/739Document default schemes2023-06-13T04:30:46ZJeremy SollerDocument default schemesFor every scheme a fully running kernel has, the following functions need to be documented, if implemented. In addition, the Scheme and SchemeMut traits should be documented with usage and the default operation.
Documentation should inc...For every scheme a fully running kernel has, the following functions need to be documented, if implemented. In addition, the Scheme and SchemeMut traits should be documented with usage and the default operation.
Documentation should include usage, what access restrictions there are, what paths and dup arguments are valid, and what errors may be returned.
#### Path Operations
- [ ] open
- [ ] mkdir
- [ ] rmdir
- [ ] unlink
#### File Operations
- [ ] dup
- [ ] read
- [ ] write
- [ ] seek
- [ ] fevent
- [ ] fmap
- [ ] fpath
- [ ] fstat
- [ ] fsync
- [ ] ftruncate
- [ ] close
#### Schemes
- [ ] debug
- [ ] disk
- [ ] display
- [ ] env
- [ ] ethernet
- [ ] event
- [ ] file
- [ ] initfs
- [ ] ip
- [ ] irq
- [ ] network
- [ ] null
- [ ] orbital
- [ ] pipe
- [ ] pty
- [ ] rand
- [ ] sys
- [ ] tcp
- [ ] udp
- [ ] zeroDocumentationJeremy SollerJeremy Sollerhttps://gitlab.redox-os.org/redox-os/redox/-/issues/738Create a repository for RFCs2018-06-15T11:40:02ZJeremy SollerCreate a repository for RFCsThis is a simple change that would vastly improve our ability to discuss design changes and proposals.
This repository could be used: https://github.com/redox-os/rfcs
The following issues could be closed and moved to an RFC reposit...This is a simple change that would vastly improve our ability to discuss design changes and proposals.
This repository could be used: https://github.com/redox-os/rfcs
The following issues could be closed and moved to an RFC repository. I would like to see each competing proposal as a seperate RFC.
- Configuration system - https://github.com/redox-os/redox/issues/172
- Terminal system - https://github.com/redox-os/redox/issues/569
- Filesystem - https://github.com/redox-os/redox/issues/634https://gitlab.redox-os.org/redox-os/redox/-/issues/640Use PNGs instead of uncompressed BMP images for UI2018-06-15T11:40:02ZJeremy SollerUse PNGs instead of uncompressed BMP images for UI*Created by: archshift*
PNGs are smaller, and it's likely that more time will be spent reading bitmaps from the disk than decoding the image from PNGs.
*Created by: archshift*
PNGs are smaller, and it's likely that more time will be spent reading bitmaps from the disk than decoding the image from PNGs.
https://gitlab.redox-os.org/redox-os/redox/-/issues/623Use after free in `SupervisorResource`2018-06-15T11:40:03ZJeremy SollerUse after free in `SupervisorResource`*Created by: ticki*
**Reproduction**: Overwriting or dropping a supervised context (e.g., sys_exit) will not destroy the supervisor as well, making the supervisor hold a dangling ponter. This potentially allows a context to supervise a ...*Created by: ticki*
**Reproduction**: Overwriting or dropping a supervised context (e.g., sys_exit) will not destroy the supervisor as well, making the supervisor hold a dangling ponter. This potentially allows a context to supervise a context, which isn't even a child.
**Expected behavior**: Drop or invalidate the supervisor resource when the context drops.
Although, this is fairly harmless currently, due to how contexts are stored, changes in the future can cause security vulnerabilities.
See `kernel/fs/supervisor_resource.rs`.
https://gitlab.redox-os.org/redox-os/redox/-/issues/610API documentation and manual pages (list)2023-06-13T04:32:36ZJeremy SollerAPI documentation and manual pages (list)*Created by: ticki*
- [ ] API docs.
- [x] libextra
- [x] libmalloc
- [x] binutils
- [x] Sodium
- [ ] OrbTK
- [ ] Orbclient
- [ ] Redox-specific std
- [ ] System
- [x] Helper functions
- [ ] Errors
- [ ] Graph...*Created by: ticki*
- [ ] API docs.
- [x] libextra
- [x] libmalloc
- [x] binutils
- [x] Sodium
- [ ] OrbTK
- [ ] Orbclient
- [ ] Redox-specific std
- [ ] System
- [x] Helper functions
- [ ] Errors
- [ ] Graphics
- [ ] Scheme
- [ ] Scheme
- [ ] Packet
- [ ] syscall
- [ ] Constants
- [ ] syscalls
- [ ] sys_debug
- [ ] sys_supervise
- [ ] sys_brk
- [ ] sys_chdir
- [ ] sys_clock_gettime
- [ ] sys_clone
- [ ] sys_close
- [ ] sys_dup
- [ ] sys_execve
- [ ] sys_exit
- [ ] sys_fpath
- [ ] sys_fstat
- [ ] sys_fsync
- [ ] sys_ftruncate
- [ ] sys_getpid
- [ ] sys_iopl
- [ ] sys_link
- [ ] sys_lseek
- [ ] sys_mkdir
- [ ] sys_nanosleep
- [ ] sys_open
- [ ] sys_pipe2
- [ ] sys_read
- [ ] sys_rmdir
- [ ] sys_stat
- [ ] sys_unlink
- [ ] sys_waitpid
- [ ] sys_write
- [ ] sys_yield
- [ ] Kernel
- [x] Top-level modules.
- [x] Top-level constants.
- [x] Top-level functions.
- [ ] ACPI
- [ ] Alloc
- [ ] Arch
- [ ] context
- [ ] ContextManager
- [ ] Context
- [ ] ContextMemory
- [ ] ContextFile
- [ ] EnvironmentVariable
- [ ] ContextZone
- [ ] context_switch
- [ ] context_clone
- [ ] context_box
- [ ] context_userspace
- [ ] Constants
- [ ] elf
- [ ] Intex et al.
- [ ] memory
- [x] Memory
- [x] MemoryMapEntry
- [x] address_to_cluster
- [x] alloc
- [x] alloc_aligned
- [ ] alloc_size
- [x] alloc_type
- [x] cluster
- [x] cluster_init
- [ ] cluster_to_address
- [ ] memory_free
- [ ] memory_used
- [ ] realloc
- [ ] realloc_aligned
- [ ] realloc_inplace
- [x] set_cluster
- [ ] unalloc
- [ ] unalloc_type
- [ ] paging
- [ ] regs
- [ ] tss
- [ ] audio
- [ ] ac97
- [ ] intelhda
- [ ] common
- [ ] debug
- [ ] event
- [ ] parse_ip
- [ ] parse_path
- [ ] random
- [ ] slice
- [ ] time
- [ ] to_num
- [ ] disk
- [ ] ahci
- [ ] ide
- [ ] Disk
- [ ] drivers
- [ ] kb_layouts
- [ ] pci
- [ ] ps2
- [ ] rtc
- [ ] serial
- [ ] env
- [ ] externs
- [ ] fs
- [ ] redoxfs
- [ ] kscheme
- [ ] VecResource
- [ ] scheme
- [ ] URL
- [ ] graphics
- [ ] color
- [ ] display
- [ ] macros
- [ ] network
- [ ] common
- [ ] ethernet
- [ ] intel8254x
- [ ] ipv4
- [ ] ipv6
- [ ] rtl8139
- [ ] scheme
- [ ] schemes
- [ ] panic
- [ ] scheme
- [ ] context
- [ ] debug
- [ ] display
- [ ] env
- [ ] file
- [ ] initfs
- [ ] interrupt
- [ ] memory
- [ ] pipe
- [ ] test
- [ ] sync
- [ ] wait_condition
- [ ] wait_map
- [ ] wait_queue
- [ ] syscall
- [ ] debug
- [ ] execute
- [ ] file
- [ ] memory
- [ ] process
- [ ] time
- [ ] usb
- [ ] desc
- [ ] ehci
- [ ] hci
- [ ] ohci
- [ ] setup
- [ ] uhci
- [ ] xhci
- [ ] Mapages
- [x] coreutils
- [ ] syscalls
- [x] extrautils
- [x] binutils
- [ ] Orbital
- [ ] Sodium
- [ ] Ion
- [ ] RedoxFS
- [ ] Various handy manpages (e.g. ASCII, possibly [sheets](https://github.com/Ticki/sheets)).
We suck at API docs. Preferably every entry should have a detailed description of the functionality. Currently, most only have a short trivial description, despite not having a trivial functionality.Documentationhttps://gitlab.redox-os.org/redox-os/redox/-/issues/607Port walkdir2018-06-15T11:40:03ZJeremy SollerPort walkdir*Created by: ticki*
**Description**: `Walkdir` does not work on Redox yet, this is blocking for a number of tasks.
**Blocking/related**: https://github.com/redox-os/coreutils/pull/50
*Created by: ticki*
**Description**: `Walkdir` does not work on Redox yet, this is blocking for a number of tasks.
**Blocking/related**: https://github.com/redox-os/coreutils/pull/50
https://gitlab.redox-os.org/redox-os/redox/-/issues/599Page fault triggered by sdl-test2018-06-15T11:40:03ZJeremy SollerPage fault triggered by sdl-test*Created by: FreeFull*
**Reproduction**:
Run either `make qemu` or `make virtualbox`
Select the 800x600 screen resolution
Start orbital, open a terminal and run `sdl-test`
Press esc repeatedly until the system freezes
**Build informati...*Created by: FreeFull*
**Reproduction**:
Run either `make qemu` or `make virtualbox`
Select the 800x600 screen resolution
Start orbital, open a terminal and run `sdl-test`
Press esc repeatedly until the system freezes
**Build information**:
`rustc -V`
rustc 1.9.0-nightly (a1e29daf1 2016-03-25)
`git rev-parse HEAD`
b76ecf3d0fcd225846d481b7efeab3f0b1c65143
`qemu-system-i386 --version`
QEMU emulator version 2.5.0, Copyright (c) 2003-2008 Fabrice Bellard
`uname -a`
Linux freefull-asus 4.4.5-1-ARCH # 1 SMP PREEMPT Thu Mar 10 07:38:19 CET 2016 x86_64 GNU/Linux
Page fault debug output:
```
INT E: Page fault
CS: 00000008 IP: 00000000 FLG: 00010002
SS: 00000000 SP: 041B5000 BP: 05FACD28
AX: 05FACCEC BX: 838F8000 CX: 83416000 DX: 03D48B5C
DI: 80BDB000 SI: 80BDB000
CR0: 80010033 CR2: 00000000 CR3: 00200000 CR4: 00000600
FSW: 00000000 FCW: 0000037F
-480: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
-448: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
-416: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
-384: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
-352: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
-320: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
-288: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
-256: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
-224: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
-192: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
-160: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
-128: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
-96: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
-64: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
-32: 00000000 00000000 00000000 00000000 00000000 00074FE0 0000000F 0000000F
0: 841B3000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
32: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
64: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
96: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
128: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
160: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
192: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
224: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
256: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
288: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
320: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
352: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
384: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
416: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
448: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
480: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
ERR: 00000000
```
**Additional information**:
The sdl-test window always seems to be displaying white when the page fault happens.
https://gitlab.redox-os.org/redox-os/redox/-/issues/598Redox will not boot(Virtualbox, Mac OSX)2018-06-15T11:40:03ZJeremy SollerRedox will not boot(Virtualbox, Mac OSX)*Created by: ghost*
I just tried to boot the virtual box .vdi file from the website, when I start the machine this is all I get:
![screen shot 2016-03-29 at 1 48 21 pm](https://cloud.githubusercontent.com/assets/13714106/14123420/42b02a...*Created by: ghost*
I just tried to boot the virtual box .vdi file from the website, when I start the machine this is all I get:
![screen shot 2016-03-29 at 1 48 21 pm](https://cloud.githubusercontent.com/assets/13714106/14123420/42b02abe-f5b5-11e5-94dc-1a87a72242a4.png) .
https://gitlab.redox-os.org/redox-os/redox/-/issues/572Tracking issue for libstd/libredox compatibility.2023-04-30T15:48:21ZJeremy SollerTracking issue for libstd/libredox compatibility.*Created by: ticki*
**Description**: This issue tracks the compatibility between Redox's libstd ("libredox") and the upstream libstd.
**List**:
- [x] Full IO compatibility. [Done](https://github.com/redox-os/redox/pull/552).
- [x] Movi...*Created by: ticki*
**Description**: This issue tracks the compatibility between Redox's libstd ("libredox") and the upstream libstd.
**List**:
- [x] Full IO compatibility. [Done](https://github.com/redox-os/redox/pull/552).
- [x] Moving extras to a seperate library. [Done](https://github.com/redox-os/libextra).
- [ ] Lacking sync primitives:
- [x] Mutex.
- [x] mpsc.
- [ ] Barrier.
- [ ] CondVar.
- [x] Atomic types.
- [ ] Remove unnecessary reexports.
- [x] Collections:
- [x] HashMap.
- [x] SipHasher.
- [x] HashSet
- [x] BTreeMap.
- [x] BTreeSet.
- [x] Vec.
- [x] VecDeque.
- [x] LinkedList.
- [x] Networking:
- [x] CheckSum.
- [x] IPv4.
- [x] Ipv6.
- [x] Incoming.
- [x] TcpListener.
- [x] TcpStream.
- [x] UdpSocket.
- [x] LookupHost
- [ ] File management:
- [x] File.
- [x] canonicalize.
- [x] create_dir.
- [x] metadata.
- [x] read_dir.
- [x] remove_dir.
- [x] remove_file.
- [x] OpenOptions.
- [x] copy.
- [x] rename.
- [ ] set_permissions.
- [ ] soft_link.
- [ ] hard_link.
- [ ] read_link.
- [x] create_dir_all.
- [x] remove_dir_all.
- [x] Permissions.
- [x] DirBuilder.
- [x] Time:
- [x] Duration.
- [x] Instant.
- [x] SystemTime.
- [x] SytemTimeError.
- [ ] Threading:
- [x] spawn.
- [x] sleep.
- [x] yield_now.
- [x] .join().
- [ ] park.
- [ ] park_timeout.
- [ ] panicking.
- [ ] LocalKey.
- [ ] Builder.
- [ ] current.
- [ ] Environment:
- [x] var.
- [x] set_var.
- [x] current_dir.
- [ ] current_exe.
- [ ] temp_dir.
- [x] remove_var.
- [ ] join_paths.
- [x] args.
- [x] args_os.https://gitlab.redox-os.org/redox-os/redox/-/issues/486Improve context switch performance2018-06-15T11:40:03ZJeremy SollerImprove context switch performanceRight now, Redox switches are **slow.** As we are moving into microkernel space, the requirement of having several context switches means that we really need to get the time down, or the system will be unusable. Currently, the orbital br...Right now, Redox switches are **slow.** As we are moving into microkernel space, the requirement of having several context switches means that we really need to get the time down, or the system will be unusable. Currently, the orbital branch gets behind on moving mouse events because of this issue.
The major issue is the virtual memory swap. If the context memory was stored in a page table, it could be written to cr3 directly, removing a large amount of work. Designing such a system will be difficult, and require thorough testing
Jeremy SollerJeremy Sollerhttps://gitlab.redox-os.org/redox-os/redox/-/issues/479Use condition variables for Mutex blocking2018-06-15T11:40:03ZJeremy SollerUse condition variables for Mutex blocking*Created by: ticki*
*Created by: ticki*