redox-os issueshttps://gitlab.redox-os.org/groups/redox-os/-/issues2019-04-25T01:25:10Zhttps://gitlab.redox-os.org/redox-os/tar-rs/-/issues/1Pull upstream changes2019-04-25T01:25:10ZNagy Tiborxnagytibor@gmail.comPull upstream changesThe old version of tar-rs (0.4.13) that this fork is based on has a known security bug that allows arbitrary files to be overwritten on the system by the tar unpacking function: https://rustsec.org/advisories/RUSTSEC-2018-0002.html
`pkg...The old version of tar-rs (0.4.13) that this fork is based on has a known security bug that allows arbitrary files to be overwritten on the system by the tar unpacking function: https://rustsec.org/advisories/RUSTSEC-2018-0002.html
`pkgutils` and `installer` uses this crate, no idea how they are affected by this. (Couldn't test them in context because my Redox build is broken at the moment.)https://gitlab.redox-os.org/redox-os/binutils-gdb/-/issues/4Able to be compiled on Mac OS X (Mojave)?2023-09-08T17:54:38ZAndrew MackenzieAble to be compiled on Mac OS X (Mojave)?I am trying to build this repo on Mac OS X, to see if I can get libc toolchain building on Mac OS ....
Building gdb is giving a lot of error (and millions of warnings).
They seem so fundamental, I think it must be a problem with the c...I am trying to build this repo on Mac OS X, to see if I can get libc toolchain building on Mac OS ....
Building gdb is giving a lot of error (and millions of warnings).
They seem so fundamental, I think it must be a problem with the compiler or it's version used.
After configure, gdb/Makefile is using clang...
```
CC = clang
CXX = clang++
CXX_DIALECT = -std=gnu++11
```
```
$ clang --version
Apple LLVM version 10.0.0 (clang-1000.11.45.5)
Target: x86_64-apple-darwin18.2.0
Thread model: posix
```
```
Examples of errors are:
darwin-nat.c:353:4: error: no matching function for call to 'delete_thread'
delete_thread (ptid_build (inf->pid, 0, old_id));
^~~~~~~~~~~~~
./gdbthread.h:396:13: note: candidate function not viable: no known conversion from 'ptid_t' to 'thread_info *' for 1st argument
extern void delete_thread (thread_info *thread);
^
```
Then if I comment that out to try, it continues with *many* more .....https://gitlab.redox-os.org/redox-os/event/-/issues/1New version not on crates.io2023-11-18T17:39:58ZRose HudsonNew version not on crates.ioThis crate has not been published to crates.io since the new event system was introduced.This crate has not been published to crates.io since the new event system was introduced.https://gitlab.redox-os.org/redox-os/seahash/-/issues/1Stream implementation sensitive to chunking2020-01-31T06:07:37ZPhilip WoolfordStream implementation sensitive to chunkingThe `StreamHasher` struct in `stream.rs` is sensitive to to the chunking of data.
E.g. Hashing `[u64::MAX, 0]` is different to hashing `[u64::MAX]` then `[0]`.
I have added a test to demonstrate in my fork at https://gitlab.redox-os.or...The `StreamHasher` struct in `stream.rs` is sensitive to to the chunking of data.
E.g. Hashing `[u64::MAX, 0]` is different to hashing `[u64::MAX]` then `[0]`.
I have added a test to demonstrate in my fork at https://gitlab.redox-os.org/pantsman0/seahash/blob/stream-tests/src/stream.rs#L132
The output is:
```bash
---- stream::tests::chunked_equiv stdout ----
thread 'stream::tests::chunked_equiv' panicked at 'assertion failed: `(left == right)`
left: `7214075340457006594`,
right: `13128668274129567273`', src/stream.rs:141:9
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
failures:
stream::tests::chunked_equiv
```https://gitlab.redox-os.org/redox-os/orbcalculator/-/issues/1Problem compiling in Linux Mint environment2019-06-06T03:40:52ZAndrzej BoruckiProblem compiling in Linux Mint environment<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<steps
cargo run
results:
Compiling rand_os v0.1.3
Compiling atty v0.2.11
Compiling termion v1.5.2
error: failed to run custom build command for `servo-freetype-sys v4.0.5`
process didn't exit succe...<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<steps
cargo run
results:
Compiling rand_os v0.1.3
Compiling atty v0.2.11
Compiling termion v1.5.2
error: failed to run custom build command for `servo-freetype-sys v4.0.5`
process didn't exit successfully: `/home/andrzej-borucki/projects/orbcalculator/target/debug/build/servo-freetype-sys-9faa07ea38def83d/build-script-build` (exit code: 101)
--- stdout
running: "cmake" "/home/andrzej-borucki/.cargo/registry/src/github.com-1ecc6299db9ec823/servo-freetype-sys-4.0.5/freetype2" "-DWITH_BZip2=OFF" "-DWITH_HarfBuzz=OFF" "-DWITH_PNG=OFF" "-DWITH_ZLIB=OFF" "-DCMAKE_INSTALL_PREFIX=/home/andrzej-borucki/projects/orbcalculator/target/debug/build/servo-freetype-sys-01d8e2ae465975e1/out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_C_COMPILER=/usr/bin/cc" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_CXX_COMPILER=/usr/bin/c++" "-DCMAKE_BUILD_TYPE=Release"https://gitlab.redox-os.org/redox-os/redox-nix/-/issues/1Coordinate with https://github.com/rust-lang/rfcs/pull/26632023-09-24T09:23:18ZJohn EricsonCoordinate with https://github.com/rust-lang/rfcs/pull/2663I've long wanted to demo how one can build and cache their project with Carnix "all the way down" once Cargo supports std-aware deps. This sounds like as good an opportunity as any!I've long wanted to demo how one can build and cache their project with Carnix "all the way down" once Cargo supports std-aware deps. This sounds like as good an opportunity as any!https://gitlab.redox-os.org/redox-os/mio/-/issues/1Possible data race using Overlapped2023-07-02T15:01:14ZBoqin QinPossible data race using Overlappedhttps://gitlab.redox-os.org/redox-os/mio/blob/master/src/sys/windows/selector.rs#L493
Struct Overlapped implements Sync trait so as to be shared across threads by reference.
It contains a UnsafeCell, and its method `as_mut_ptr` will ret...https://gitlab.redox-os.org/redox-os/mio/blob/master/src/sys/windows/selector.rs#L493
Struct Overlapped implements Sync trait so as to be shared across threads by reference.
It contains a UnsafeCell, and its method `as_mut_ptr` will return a mutable ptr to the inner data.
This may cause a crash if one thread writes the data while another is accessing it, all by immutable reference of the struct and will bypass compiler checking.
It is rather unsafe but we marked it as safe!!!
I searched for a ref-counting version of this struct, which is much safer.
https://github.com/tokio-rs/mio/blob/master/src/sys/windows/selector.rs#L81
My suggestion is to replace the current Overlapped with this version.https://gitlab.redox-os.org/redox-os/pkgar/-/issues/1Add Blake support2020-02-26T17:41:00ZDavid KarrickAdd Blake support~~[Blake2](https://en.wikipedia.org/wiki/BLAKE_(hash_function)#BLAKE2) is a cryptographic hash function based on BLAKE, created by Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn, and Christian Winnerlein. The design goal was ...~~[Blake2](https://en.wikipedia.org/wiki/BLAKE_(hash_function)#BLAKE2) is a cryptographic hash function based on BLAKE, created by Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn, and Christian Winnerlein. The design goal was to replace the widely used, but broken, MD5 and SHA-1 algorithms in applications requiring high performance in software.~~
**[Blake3](https://github.com/BLAKE3-team/BLAKE3)** makes more since now. It's reference implementation is built in rust and is almost 5 times faster than Blake2b and 15 times faster than Sha3-256.
![](https://raw.githubusercontent.com/BLAKE3-team/BLAKE3/master/media/speed.svg?sanitize=true)
https://gitlab.redox-os.org/redox-os/gdbserver/-/issues/1Use https for submodule repository?2020-06-26T20:30:25ZColeman McFarlandUse https for submodule repository?ssh-based auth is a little harder to configure in automated build environments. I get this error in a container:
```
fatal: clone of 'git@github.com:jD91mZM2/rust-gdb-remote-protocol.git' into submodule path '/home/chemist/redox/cookboo...ssh-based auth is a little harder to configure in automated build environments. I get this error in a container:
```
fatal: clone of 'git@github.com:jD91mZM2/rust-gdb-remote-protocol.git' into submodule path '/home/chemist/redox/cookbook/recipes/gdbserver/source.tmp/rust-gdb-remote-protocol' failed
Failed to clone 'rust-gdb-remote-protocol' a second time, aborting
cook - gdbserver - error: failed to fetch: failed to run "git" "clone" "--recursive" "https://gitlab.redox-os.org/redox-os/gdbserver.git" "recipes/gdbserver/source.tmp": exited with status exit code: 1
```
Can we use https instead?https://gitlab.redox-os.org/redox-os/ramfs/-/issues/1Build failure with the latest syscall crate2023-07-02T14:58:43ZNagy Tiborxnagytibor@gmail.comBuild failure with the latest syscall crate```
error[E0053]: method `seek` has an incompatible type for trait
--> src/scheme.rs:296:5
|
296 | fn seek(&mut self, fd: usize, pos: usize, whence: usize) -> Result<usize> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...```
error[E0053]: method `seek` has an incompatible type for trait
--> src/scheme.rs:296:5
|
296 | fn seek(&mut self, fd: usize, pos: usize, whence: usize) -> Result<usize> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `isize`, found `usize`
|
= note: expected fn pointer `fn(&mut scheme::Scheme, usize, isize, usize) -> std::result::Result<isize, syscall::error::Error>`
found fn pointer `fn(&mut scheme::Scheme, usize, usize, usize) -> std::result::Result<usize, syscall::error::Error>`
```
The signature of the `seek()` method has been changed by this MR: https://gitlab.redox-os.org/redox-os/syscall/-/merge_requests/45.https://gitlab.redox-os.org/redox-os/redox/-/issues/1190Unable to build MIO.2023-06-13T04:12:55ZJeremy SollerUnable to build MIO.*Created by: malmrose*
"make all" fails with the following error:
```
Updating git repository `https://github.com/redox-os/mio`
error: failed to load source for a dependency on `mio`
Caused by:
Unable t...*Created by: malmrose*
"make all" fails with the following error:
```
Updating git repository `https://github.com/redox-os/mio`
error: failed to load source for a dependency on `mio`
Caused by:
Unable to update https://github.com/redox-os/mio?branch=owned-eventedfd#7d2baca8
Caused by:
revspec '7d2baca8797a2037802af64e97e3bb5dab3ad614' not found; class=Reference (4); code=NotFound (-3)
./repo.sh failed.mk/filesystem.mk:2: recipe for target 'build/filesystem.bin' failed
make: *** [build/filesystem.bin] Error 1
```https://gitlab.redox-os.org/redox-os/ion/-/issues/770Names '...', '....' etc. are not supported for aliases/functions2018-06-10T02:59:04ZMichael Aaron Murphymmstick@pm.meNames '...', '....' etc. are not supported for aliases/functions*Created by: myfreeweb*
Ion says "alias name is invalid" for the following:
```bash
alias ..="cd .."
alias ...="cd ../.."
alias ....="cd ../../.."
alias .....="cd ../../../.."
```
And "not a valid function name" for functions...*Created by: myfreeweb*
Ion says "alias name is invalid" for the following:
```bash
alias ..="cd .."
alias ...="cd ../.."
alias ....="cd ../../.."
alias .....="cd ../../../.."
```
And "not a valid function name" for functions with the same names.
The first one is handled by implicit cd, but I want to have the other ones too...https://gitlab.redox-os.org/redox-os/calc/-/issues/26Addition with zero yields BigInt parsing errors2019-04-11T15:56:47ZMichael Aaron Murphymmstick@pm.meAddition with zero yields BigInt parsing errors*Created by: xTibor*
**Reproduction**:
```rust
extern crate calc;
fn main() {
let expressions = &["1+0", "0+1", "0+0", "(1+0)+0"];
for e in expressions.iter() {
println!("{} = {:?}", e, calc::eval(e));
}
...*Created by: xTibor*
**Reproduction**:
```rust
extern crate calc;
fn main() {
let expressions = &["1+0", "0+1", "0+0", "(1+0)+0"];
for e in expressions.iter() {
println!("{} = {:?}", e, calc::eval(e));
}
}
```
**Expected behavior**:
```
1+0 = Ok(Integral(BigInt { sign: Plus, data: BigUint { data: [1] } }, Dec))
0+1 = Ok(Integral(BigInt { sign: Plus, data: BigUint { data: [1] } }, Dec))
0+0 = Ok(Integral(BigInt { sign: Plus, data: BigUint { data: [0] } }, Dec))
(1+0)+0 = Ok(Integral(BigInt { sign: Plus, data: BigUint { data: [1] } }, Dec))
```
**Actual behavior**:
```
1+0 = Ok(Integral(BigInt { sign: Plus, data: BigUint { data: [1] } }, Dec))
0+1 = Err(InvalidNumber("failed to parse bigint/biguint"))
0+0 = Err(InvalidNumber("failed to parse bigint/biguint"))
(1+0)+0 = Err(InvalidNumber("failed to parse bigint/biguint"))
```
**Build information**:
`rustc -V`: `rustc 1.28.0-nightly (5d0631a64 2018-05-30)`
`git rev-parse HEAD`: 90c85a7ead79af4f76fa6f3804009d6e3b873258
System: KDE neon 5.12 (Ubuntu 16.04)https://gitlab.redox-os.org/redox-os/calc/-/issues/19Expose Environment trait2018-06-10T06:47:01ZMichael Aaron Murphymmstick@pm.meExpose Environment trait*Created by: Refefer*
Quite simply, could we expose the Environment trait from the library? This could be quite the useful library if we could implement our own!*Created by: Refefer*
Quite simply, could we expose the Environment trait from the library? This could be quite the useful library if we could implement our own!https://gitlab.redox-os.org/redox-os/cookbook/-/issues/88ncurses newterm() fails2018-06-16T13:33:58ZJeremy Sollerncurses newterm() fails*Created by: sajattack*
When the newterm() function of ncurses is called, in initscr(), for example, it prints the error message "Error opening terminal: $TERM"*Created by: sajattack*
When the newterm() function of ncurses is called, in initscr(), for example, it prints the error message "Error opening terminal: $TERM"https://gitlab.redox-os.org/redox-os/bootloader/-/issues/1Misleading documentation2018-06-16T15:58:02ZJeremy SollerMisleading documentation*Created by: povilasb*
See: https://github.com/redox-os/bootloader/blob/master/x86_64/print16.asm
```asm
; print a string and a newline
; IN
; si: points at zero-terminated String
; CLOBBER
; ax
print_line:
mov al, 13
...*Created by: povilasb*
See: https://github.com/redox-os/bootloader/blob/master/x86_64/print16.asm
```asm
; print a string and a newline
; IN
; si: points at zero-terminated String
; CLOBBER
; ax
print_line:
mov al, 13
call print_char
mov al, 10
jmp print_char
```
This function ignores documented parameter `si`
> si: points at zero-terminated String
and prints new line only.https://gitlab.redox-os.org/redox-os/kernel/-/issues/91Page fault2023-02-15T13:19:42ZJeremy SollerPage fault*Created by: jD91mZM2*
[Full log](https://gist.github.com/jD91mZM2/4d078660d88d6255a54df25034271e47)
I'm trying to use a modified version of `dnsd`: https://github.com/jD91mZM2/netstack/commit/92ab74a1e11f28e5662e3dc302a2e1449d3c7499
...*Created by: jD91mZM2*
[Full log](https://gist.github.com/jD91mZM2/4d078660d88d6255a54df25034271e47)
I'm trying to use a modified version of `dnsd`: https://github.com/jD91mZM2/netstack/commit/92ab74a1e11f28e5662e3dc302a2e1449d3c7499
It happens when running `cat dns:google.com`. This is due to the fact that `open` is called with some kind of invalid path, because it's only when accessing said path this happens.
The problem goes away when moving the `open(":dns")` call to the same thread as the dns event handler.https://gitlab.redox-os.org/redox-os/redoxfs/-/issues/36error: borrow of packed field requires unsafe function or block (error E0133)2018-06-16T08:06:32ZJeremy Sollererror: borrow of packed field requires unsafe function or block (error E0133)*Created by: sajattack*
As of rust 1.24 packed fields cannot be borrowed safely. Options are to remove `repr(packed)` if it's not needed or to copy fields to a local variable. See https://github.com/rust-lang/rust/issues/46043 for more ...*Created by: sajattack*
As of rust 1.24 packed fields cannot be borrowed safely. Options are to remove `repr(packed)` if it's not needed or to copy fields to a local variable. See https://github.com/rust-lang/rust/issues/46043 for more details.https://gitlab.redox-os.org/redox-os/coreutils/-/issues/194Not obvious why we need a uname utility.2019-10-05T17:35:52ZJeremy SollerNot obvious why we need a uname utility.*Created by: nobubby*
The code of uname.rs just looks through the sys:uname url and prints elements from it in an organized fashion. Is this really a "core" utility? Wouldn't it be better for people to just cat and parse sys:uname manua...*Created by: nobubby*
The code of uname.rs just looks through the sys:uname url and prints elements from it in an organized fashion. Is this really a "core" utility? Wouldn't it be better for people to just cat and parse sys:uname manually given redox's everything-is-a-url design?https://gitlab.redox-os.org/redox-os/orbital/-/issues/21Windows are not destroyed on logout2023-05-18T11:52:26ZJeremy SollerWindows are not destroyed on logout*Created by: xTibor*
**Reproduction:**
1. Log in to the desktop with the default `user` account
2. Open some apps like `character_map`, `viewer` and `calendar`
3. Do not close the apps and log out
4. Use Alt+Tab on the login screen to s...*Created by: xTibor*
**Reproduction:**
1. Log in to the desktop with the default `user` account
2. Open some apps like `character_map`, `viewer` and `calendar`
3. Do not close the apps and log out
4. Use Alt+Tab on the login screen to switch to the windows that were supposed to be destroyed
The process list shows that the apps are killed on logout yet their windows are not destroyed by Orbital:
<details><summary>Processes before logout</summary>
```
PID PGID PPID RUID RGID RNS EUID EGID ENS STAT CPU MEM NAME
1 1 0 0 0 0 0 0 0 KR 0 0 B
2 2 0 0 0 0 0 0 0 UB 0 1 MB initfs:/bin/init
4 2 2 0 0 0 0 0 0 UB 0 11 MB initfs:/bin/vesad
6 2 2 0 0 0 0 0 0 UB 0 1 MB initfs:/bin/ps2d
9 2 2 0 0 0 0 0 0 UB 0 1 MB initfs:/bin/bgad
11 2 2 0 0 0 0 0 0 UB 0 1 MB initfs:/bin/ahcid
13 2 2 0 0 0 0 0 0 UB 0 66 MB initfs:/bin/redoxfs
15 2 2 0 0 0 0 0 0 UB 0 1 MB file:/bin/nulld
17 2 2 0 0 0 0 0 0 UB 0 1 MB file:/bin/zerod
19 2 2 0 0 0 0 0 0 UB 0 1 MB file:/bin/randd
21 2 2 0 0 0 0 0 0 UB 0 1 MB file:/bin/logd
23 2 2 0 0 0 0 0 0 UB 0 1 MB file:/bin/ptyd
26 2 2 0 0 0 0 0 0 UB 0 1 MB file:/bin/e1000d
28 2 2 0 0 0 0 0 0 UB 0 1 MB file:/bin/ihdad
30 2 2 0 0 0 0 0 0 UB 0 2 MB file:/bin/smolnetd
32 2 2 0 0 1 0 0 1 UB 0 1 MB file:/bin/dnsd
36 2 2 0 0 0 0 0 0 UB 0 10 MB file:/bin/orbital
38 2 2 0 0 1 0 0 1 UB 0 2 MB file:/bin/getty
40 2 38 0 0 1 0 0 1 UB 0 2 MB file:/bin/login
41 2 2 0 0 1 0 0 1 UB 0 2 MB file:/bin/getty
42 2 41 0 0 1 0 0 1 UB 0 2 MB file:/bin/login
43 2 36 0 0 1 0 0 1 UB 0 12 MB file:/ui/bin/orblogin
44 2 43 1000 1000 1 1000 1000 1 UB 0 3 MB file:/ui/bin/launcher
45 2 44 1000 1000 1 1000 1000 1 UB 0 11 MB file:/ui/bin/background
46 2 44 1000 1000 1 1000 1000 1 UB 0 3 MB file:/ui/bin/character_map
47 2 44 1000 1000 1 1000 1000 1 UB 0 12 MB file:/ui/bin/viewer
48 2 44 1000 1000 1 1000 1000 1 UB 0 3 MB file:/ui/bin/calendar
49 49 42 1000 1000 1 1000 1000 1 UB 0 3 MB file:/bin/ion
50 49 49 1000 1000 1 1000 1000 1 US 0 3 MB file:/bin/ion
51 51 49 1000 1000 1 1000 1000 1 UR+ 0 1 MB file:/bin/ps
```
</details>
<details><summary>Processes after logout</summary>
```
PID PGID PPID RUID RGID RNS EUID EGID ENS STAT CPU MEM NAME
1 1 0 0 0 0 0 0 0 KR 0 0 B
2 2 0 0 0 0 0 0 0 UB 0 1 MB initfs:/bin/init
4 2 2 0 0 0 0 0 0 UB 0 11 MB initfs:/bin/vesad
6 2 2 0 0 0 0 0 0 UB 0 1 MB initfs:/bin/ps2d
9 2 2 0 0 0 0 0 0 UB 0 1 MB initfs:/bin/bgad
11 2 2 0 0 0 0 0 0 UB 0 1 MB initfs:/bin/ahcid
13 2 2 0 0 0 0 0 0 UB 0 66 MB initfs:/bin/redoxfs
15 2 2 0 0 0 0 0 0 UB 0 1 MB file:/bin/nulld
17 2 2 0 0 0 0 0 0 UB 0 1 MB file:/bin/zerod
19 2 2 0 0 0 0 0 0 UB 0 1 MB file:/bin/randd
21 2 2 0 0 0 0 0 0 UB 0 1 MB file:/bin/logd
23 2 2 0 0 0 0 0 0 UB 0 1 MB file:/bin/ptyd
26 2 2 0 0 0 0 0 0 UB 0 1 MB file:/bin/e1000d
28 2 2 0 0 0 0 0 0 UB 0 1 MB file:/bin/ihdad
30 2 2 0 0 0 0 0 0 UB 0 2 MB file:/bin/smolnetd
32 2 2 0 0 1 0 0 1 UB 0 1 MB file:/bin/dnsd
36 2 2 0 0 0 0 0 0 UB 0 13 MB file:/bin/orbital
38 2 2 0 0 1 0 0 1 UB 0 2 MB file:/bin/getty
40 2 38 0 0 1 0 0 1 UB 0 2 MB file:/bin/login
41 2 2 0 0 1 0 0 1 UB 0 2 MB file:/bin/getty
42 2 41 0 0 1 0 0 1 UB 0 2 MB file:/bin/login
43 2 36 0 0 1 0 0 1 UB 0 12 MB file:/ui/bin/orblogin
49 49 42 1000 1000 1 1000 1000 1 UB 0 3 MB file:/bin/ion
50 49 49 1000 1000 1 1000 1000 1 US 0 3 MB file:/bin/ion
52 52 49 1000 1000 1 1000 1000 1 UR+ 0 1 MB file:/bin/ps
```
</details>