Skip to content

Commit 298507f

Browse files
author
cyh21
committed
20240406v1
1 parent 991300b commit 298507f

10 files changed

Lines changed: 300 additions & 0 deletions

File tree

_sidebar.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,5 +49,10 @@
4949
* [2025-3-29](./docs/日报/2025-3-29.md)
5050
* [2025-3-30](./docs/日报/2025-3-30.md)
5151
* [2025-3-31](./docs/日报/2025-3-31.md)
52+
* [2025-4-1](./docs/日报/2025-4-1.md)
53+
* [2025-4-2](./docs/日报/2025-4-2.md)
54+
* [2025-4-3](./docs/日报/2025-4-3.md)
55+
* [2025-4-5](./docs/日报/2025-4-5.md)
56+
* [2025-4-6](./docs/日报/2025-4-6.md)
5257

5358

docs/日报/2025-4-1.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# 在排行榜中通过部分libctest测例
2+
3+
从basic到libctest的修改:
4+
5+
1. 更新arceos
6+
2. 在axhal/src/arch/aarch64/context.rs和axhal/src/arch/x86_64/context.rs中添加set_tls函数(最新的arceos应该已经支持了)
7+
3. 简单实现gettid, prlimit64等必要的syscall
8+
4. 在main.rs中加入运行libctest的代码,注意测例的结果要在START和END提示信息中间
9+
5. 在makefile中添加设置libctest测例列表的环境变量
10+
6. 在apps/oscomp中添加测例列表

docs/日报/2025-4-2.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# 协作试编写starry-next的组件文档与宏内核快速构建文档

docs/日报/2025-4-3.md

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
# 增加libctest的测例,对未通过的测例进行分析
2+
3+
musl entry-static.exe fdopen lseek 移动文件指针
4+
musl entry-static.exe fscanf lseek
5+
musl entry-static.exe fwscanf unknown
6+
musl entry-static.exe pthread_cancel_points points 0/1 futex
7+
musl entry-static.exe pthread_cancel points 0/1 futex
8+
musl entry-static.exe pthread_cond points 0/1 futex
9+
musl entry-static.exe pthread_tsd points 0/1 futex
10+
musl entry-static.exe setjmp points 0/1 src/functional/setjmp.c:62: sigismember(&set2, SIGUSR1)==1 failed: siglongjmp incorrectly restored mask
11+
musl entry-static.exe socket points 0/1
12+
musl entry-static.exe sscanf points 0/1 ioctl
13+
musl entry-static.exe sscanf_long points 0/1
14+
musl entry-static.exe stat points 0/1 ioctl
15+
musl entry-static.exe ungetc points 0/1 ioctl
16+
musl entry-static.exe utime points 0/1 utimesetat
17+
musl entry-static.exe lseek_large points 0/1 ioctl
18+
musl entry-static.exe pthread_robust_detach points 0/1 futex
19+
musl entry-static.exe pthread_cancel_sem_wait points 0/1 futex
20+
musl entry-static.exe pthread_cond_smasher points 0/1 futex
21+
musl entry-static.exe pthread_condattr_setclock points 0/1 futex
22+
musl entry-static.exe pthread_exit_cancel points 0/1 futex
23+
musl entry-static.exe pthread_once_deadlock points 0/1 futex
24+
musl entry-static.exe pthread_rwlock_ebusy points 0/1 futex
25+
musl entry-static.exe rewind_clear_error points 0/1 unknown
26+
musl entry-static.exe rlimit_open_files points 0/1 dup无限增长->prlimit64?
27+
musl entry-static.exe setvbuf_unget points 0/1 lseek
28+
musl entry-static.exe statvfs points 0/1 statfs
29+
/musl/runtest.exe -w entry-static.exe fflush_exit pread64
30+
/musl/runtest.exe -w entry-static.exe daemon_failure dup无限增长->prlimit64?
31+
/musl/runtest.exe -w entry-static.exe fgetwc_buffering
32+
![alt text](image-14.png)
33+
/musl/runtest.exe -w entry-static.exe ftello_unflushed_append kill
34+
35+
## rlimit_open_files
36+
37+
简单使用strace无法通过,应该是用到了文件系统的原因,需要进一步分析。
38+
39+
```shell
40+
34142 set_tid_address(0x1d238) = 34142
41+
34142 rt_sigprocmask(SIG_BLOCK,0x00002aaaab2aa580,NULL,8) = 0
42+
34142 rt_sigprocmask(SIG_UNBLOCK,0x00002aaaab2aa3c0,NULL,8) = 0
43+
34142 rt_sigaction(SIGCHLD,0x00002aaaab2aa3a0,0x00002aaaab2aa3c0) = 0
44+
34142 write(1,0xab2aa310,63)========== START entry-static.exe rlimit_open_files ==========
45+
= 63
46+
34142 rt_sigprocmask(SIG_BLOCK,0x000000000001d160,0x00002aaaab2aa4d0,8) = 0
47+
34142 clone(0x11,child_stack=0x0000000000000000,parent_tidptr=0x00002aaaab2aa4d0,tls=0x0000000000000008,child_tidptr=0x0000000000000000) = 34144
48+
= 0
49+
34142 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2aa4d0,NULL,8) = 0
50+
34144 gettid() = 34144
51+
34142 rt_sigtimedwait(46912504505728,0,46912504505712,8,0,0)34144 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2aa4d0,NULL,8) = 0
52+
34144 prlimit64(0,RLIMIT_STACK,NULL,0x00002aaaab2aa530) = 0 ({rlim_cur=8388608,rlim_max=-1})
53+
34144 rt_sigprocmask(SIG_BLOCK,0x000000000001d168,0x00002aaaab2aa398,8) = 0
54+
34144 rt_sigprocmask(SIG_BLOCK,0x000000000001d160,NULL,8) = 0
55+
34144 prlimit64(0,RLIMIT_STACK,{rlim_cur=102400,rlim_max=102400},NULL) = 0
56+
34144 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2aa398,NULL,8) = 0
57+
34144 execve("entry-static.exe",{"entry-static.exe","rlimit_open_files","ls",NULL}) = -1 errno=8 (Exec format error)
58+
34144 write(1,0xab2aa310,73)src/common/runtest.c:29: entry-static.exe exec failed: Exec format error
59+
= 73
60+
34144 exit_group(1)
61+
= 17
62+
34142 wait4(34144,0x2aaaab2aa570,0,(nil)) = 34144
63+
34142 write(1,0xab2aa310,34)FAIL rlimit_open_files [status 1]
64+
= 34
65+
34142 write(1,0xab2aa310,61)========== END entry-static.exe rlimit_open_files ==========
66+
= 61
67+
34142 exit_group(1)
68+
```
69+
70+
```shell
71+
execve("./runtest.exe", ["./runtest.exe", "entry-static.exe", "rlimit_open_files", "ls"], 0x7ffdc60a2e60 /* 15 vars */) = 0
72+
arch_prctl(ARCH_SET_FS, 0x60a8d8) = 0
73+
set_tid_address(0x60aa10) = 39496
74+
rt_sigprocmask(SIG_BLOCK, [CHLD], NULL, 8) = 0
75+
rt_sigprocmask(SIG_UNBLOCK, [RT_1 RT_2], NULL, 8) = 0
76+
rt_sigaction(SIGCHLD, {sa_handler=0x40060d, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x404fea}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
77+
========== START entry-static.exe ==========
78+
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [CHLD], 8) = 0
79+
rt_sigprocmask(SIG_BLOCK, ~[], ~[KILL STOP RTMIN RT_1 RT_2], 8) = 0
80+
fork(strace: Process 39497 attached
81+
) = 39497
82+
[pid 39497] gettid( <unfinished ...>
83+
[pid 39496] rt_sigprocmask(SIG_SETMASK, ~[KILL STOP RTMIN RT_1 RT_2], <unfinished ...>
84+
[pid 39497] <... gettid resumed>) = 39497
85+
[pid 39496] <... rt_sigprocmask resumed>NULL, 8) = 0
86+
[pid 39496] rt_sigprocmask(SIG_SETMASK, [CHLD], <unfinished ...>
87+
[pid 39497] rt_sigprocmask(SIG_SETMASK, ~[KILL STOP RTMIN RT_1 RT_2], <unfinished ...>
88+
[pid 39496] <... rt_sigprocmask resumed>NULL, 8) = 0
89+
[pid 39497] <... rt_sigprocmask resumed>NULL, 8) = 0
90+
[pid 39496] rt_sigtimedwait([CHLD], NULL, {tv_sec=5, tv_nsec=0}, 8 <unfinished ...>
91+
[pid 39497] rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
92+
[pid 39497] prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
93+
[pid 39497] prlimit64(0, RLIMIT_STACK, {rlim_cur=100*1024, rlim_max=100*1024}, NULL) = 0
94+
[pid 39497] execve("entry-static.exe", ["entry-static.exe", "rlimit_open_files", "ls"], 0x7ffd14c34100 /* 15 vars */) = 0
95+
[pid 39497] arch_prctl(ARCH_SET_FS, 0x68ab70) = 0
96+
[pid 39497] set_tid_address(0x68ac90) = 39497
97+
[pid 39497] exit_group(-1) = ?
98+
[pid 39497] +++ exited with 255 +++
99+
<... rt_sigtimedwait resumed>) = 17 (SIGCHLD)
100+
wait4(39497, [{WIFEXITED(s) && WEXITSTATUS(s) == 255}], 0, NULL) = 39497
101+
FAIL entry-static.exe [status 255]
102+
========== END entry-static.exe ==========
103+
exit_group(1) = ?
104+
+++ exited with 1 +++
105+
```
106+
107+
![alt text](image-15.png)

docs/日报/2025-4-5.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
## 通过rlimit_open_files测例
2+
3+
此次本想仿照starry-old编写fd_manager,但由于中途发现工作量过大,且与arceos有一定重合,因而采用比较取巧的方式
4+
5+
1. 为taskext添加文件数量限制,初始化为AX_FILE_LIMIT(1024),和arceos保持一致
6+
2. 修改sys_dup当返回的fd大于限制时,close该fd,返回错误码
7+
8+
![alt text](image-16.png)
9+
10+
## 实现sysinfo
11+
sysinfo函数用于获取系统信息,包括系统名称、节点名称、发行版本、版本号、机器ID和处理器类型。

docs/日报/2025-4-6.md

Lines changed: 166 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,166 @@
1+
## daemon_failure测例
2+
初始情况
3+
```shell
4+
========== START entry-static.exe daemon_failure ==========
5+
[ 5.077741 0:10 starry::syscall_imp:193] Syscall write return 60
6+
[ 5.082398 0:10 starry::syscall_imp:57] Syscall rt_sigprocmask
7+
[ 5.086467 0:10 starry::syscall_imp::signal:13] sys_rt_sigprocmask: not implemented
8+
[ 5.090697 0:10 starry::syscall_imp:193] Syscall rt_sigprocmask return 0
9+
[ 5.095741 0:10 starry::syscall_imp:57] Syscall clone
10+
[ 5.150826 0:10 starry::syscall_imp:193] Syscall clone return 11
11+
[ 5.156002 0:10 starry::syscall_imp:57] Syscall rt_sigprocmask
12+
[ 5.160328 0:10 starry::syscall_imp::signal:13] sys_rt_sigprocmask: not implemented
13+
[ 5.158070 1:11 starry::task:99] Enter user space: entry=0x1326c, ustack=0x3fffffcc0, kstack=VA:0xffffffc080c10070
14+
[ 5.167447 0:10 starry::syscall_imp:193] Syscall rt_sigprocmask return 0
15+
[ 5.179796 1:11 starry::syscall_imp:57] Syscall gettid
16+
[ 5.185995 0:10 starry::syscall_imp:57] Syscall rt_sigtimedwait
17+
[ 5.189692 1:11 starry::syscall_imp:193] Syscall gettid return 11
18+
[ 5.195464 0:10 starry::syscall_imp::signal:33] sys_rt_sigaction: not implemented
19+
[ 5.202598 1:11 starry::syscall_imp:57] Syscall rt_sigprocmask
20+
[ 5.207858 0:10 starry::syscall_imp:193] Syscall rt_sigtimedwait return 0
21+
[ 5.214361 1:11 starry::syscall_imp::signal:13] sys_rt_sigprocmask: not implemented
22+
[ 5.224031 0:10 starry::syscall_imp:57] Syscall wait4
23+
[ 5.229438 1:11 starry::syscall_imp:193] Syscall rt_sigprocmask return 0
24+
[ 5.243623 1:11 starry::syscall_imp:57] Syscall prlimit64
25+
[ 5.248041 1:11 starry::syscall_imp::task::thread:223] sys_prlimit64 pid: 0, resource: 3
26+
[ 5.254630 1:11 starry::syscall_imp::task::thread:239] RLIMIT_STACK
27+
[ 5.258764 1:11 starry::syscall_imp::task::thread:247] RLIMIT_STACK: old_limit as usize != 0
28+
[ 5.264587 1:11 starry::syscall_imp::task::thread:264] RLIMIT_STACK: 65536
29+
[ 5.270334 1:11 starry::syscall_imp:193] Syscall prlimit64 return 0
30+
[ 5.275926 1:11 starry::syscall_imp:57] Syscall execve
31+
[ 5.290642 1:11 starry::syscall_imp::task::thread:199] execve: path: "entry-static.exe", args: ["entry-static.exe", "daemon_failure"], envs: []
32+
[ 5.330509 1:11 axfs::fs::lwext4_rust:91] dealt with full path: /musl/entry-static.exe
33+
[ 5.373135 1:11 axfs::fs::lwext4_rust:62] FileWrapper new EXT4_DE_REG_FILE /musl/entry-static.exe
34+
[ 5.391203 1:11 axfs::fs::lwext4_rust:132] get_attr of File "/musl/entry-static.exe", size: 576936, blocks: 1127
35+
[ 5.403782 1:11 axfs::fs::lwext4_rust:132] get_attr of File "/musl/entry-static.exe", size: 576936, blocks: 1127
36+
[ 5.412913 1:11 axfs::fs::lwext4_rust:132] get_attr of File "/musl/entry-static.exe", size: 576936, blocks: 1127
37+
[ 5.689501 1:11 starry::syscall_imp:57] Syscall set_tid_address
38+
[ 5.692956 1:11 starry::syscall_imp:193] Syscall set_tid_address return 11
39+
[ 5.701009 1:11 starry::syscall_imp:57] Syscall pipe2
40+
[ 5.709320 1:11 starry::syscall_imp:193] Syscall pipe2 return 0
41+
[ 5.714331 1:11 starry::syscall_imp:57] Syscall dup
42+
[ 5.718124 1:11 starry::syscall_imp:193] Syscall dup return 5
43+
[ 5.723099 1:11 starry::syscall_imp:57] Syscall rt_sigprocmask
44+
[ 5.727535 1:11 starry::syscall_imp::signal:13] sys_rt_sigprocmask: not implemented
45+
[ 5.731536 1:11 starry::syscall_imp:193] Syscall rt_sigprocmask return 0
46+
[ 5.736622 1:11 starry::syscall_imp:57] Syscall clone
47+
[ 5.755780 1:11 starry::syscall_imp:193] Syscall clone return 12
48+
[ 5.760119 1:11 starry::syscall_imp:57] Syscall rt_sigprocmask
49+
[ 5.762763 2:12 starry::task:99] Enter user space: entry=0x2ec5c, ustack=0x3fffffd70, kstack=VA:0xffffffc080c50090
50+
[ 5.764253 1:11 starry::syscall_imp::signal:13] sys_rt_sigprocmask: not implemented
51+
[ 5.774865 2:12 starry::syscall_imp:57] Syscall gettid
52+
[ 5.779675 1:11 starry::syscall_imp:193] Syscall rt_sigprocmask return 0
53+
[ 5.785771 2:12 starry::syscall_imp:193] Syscall gettid return 12
54+
[ 5.796509 1:11 starry::syscall_imp:57] Syscall close
55+
[ 5.799897 2:12 starry::syscall_imp:57] Syscall rt_sigprocmask
56+
[ 5.806638 1:11 starry::syscall_imp:193] Syscall close return 0
57+
[ 5.808719 2:12 starry::syscall_imp::signal:13] sys_rt_sigprocmask: not implemented
58+
[ 5.817129 1:11 starry::syscall_imp:57] Syscall wait4
59+
[ 5.821787 2:12 starry::syscall_imp:193] Syscall rt_sigprocmask return 0
60+
[ 5.835538 2:12 starry::syscall_imp:57] Syscall dup
61+
[ 5.838924 2:12 starry::syscall_imp:193] Syscall dup return 6
62+
[ 5.844470 2:12 starry::syscall_imp:57] Syscall dup
63+
[ 5.847785 2:12 starry::syscall_imp:193] Syscall dup return 7
64+
[ 5.851559 2:12 starry::syscall_imp:57] Syscall dup
65+
[ 5.855426 2:12 starry::syscall_imp:193] Syscall dup return 8
66+
[ 5.859556 2:12 starry::syscall_imp:57] Syscall dup
67+
[ 5.864315 2:12 starry::syscall_imp:193] Syscall dup return 9
68+
[ 5.868820 2:12 starry::syscall_imp:57] Syscall dup
69+
[ 5.871807 2:12 starry::syscall_imp:193] Syscall dup return 10
70+
[ 5.876074 2:12 starry::syscall_imp:57] Syscall dup
71+
[ 5.880174 2:12 starry::syscall_imp:193] Syscall dup return 11
72+
[ 5.884876 2:12 starry::syscall_imp:57] Syscall dup
73+
[ 5.888240 2:12 starry::syscall_imp:193] Syscall dup return 12
74+
[ 5.891825 2:12 starry::syscall_imp:57] Syscall dup
75+
[ 5.895525 2:12 starry::syscall_imp:193] Syscall dup return 13
76+
[ 5.900034 2:12 starry::syscall_imp:57] Syscall dup
77+
[ 5.903874 2:12 starry::syscall_imp:193] Syscall dup return 14
78+
[ 5.907881 2:12 starry::syscall_imp:57] Syscall dup
79+
[ 5.910972 2:12 starry::syscall_imp:193] Syscall dup return 15
80+
[ 5.915477 2:12 starry::syscall_imp:57] Syscall dup
81+
[ 5.919111 2:12 starry::syscall_imp:193] Syscall dup return 16
82+
[ 5.922875 2:12 starry::syscall_imp:57] Syscall dup
83+
[ 5.926350 2:12 starry::syscall_imp:193] Syscall dup return 17
84+
[ 5.930603 2:12 starry::syscall_imp:57] Syscall dup
85+
[ 5.934539 2:12 starry::syscall_imp:193] Syscall dup return 18
86+
[ 5.939326 2:12 starry::syscall_imp:57] Syscall dup
87+
[ 5.952992 2:12 starry::syscall_imp:193] Syscall dup return 19
88+
[ 5.957710 2:12 starry::syscall_imp:57] Syscall dup
89+
[ 5.961453 2:12 starry::syscall_imp:193] Syscall dup return 20
90+
[ 5.972175 2:12 starry::syscall_imp:57] Syscall dup
91+
[ 5.974956 2:12 starry::syscall_imp:193] Syscall dup return 21
92+
[ 5.977689 2:12 starry::syscall_imp:57] Syscall dup
93+
[ 5.981036 2:12 starry::syscall_imp:193] Syscall dup return 22
94+
[ 5.984449 2:12 starry::syscall_imp:57] Syscall dup
95+
[ 5.986876 2:12 starry::syscall_imp:193] Syscall dup return 23
96+
[ 6.001782 2:12 starry::syscall_imp:57] Syscall dup
97+
[ 6.005989 2:12 starry::syscall_imp:193] Syscall dup return 24
98+
[ 6.018720 2:12 starry::syscall_imp:57] Syscall dup
99+
[ 6.022861 2:12 starry::syscall_imp:193] Syscall dup return 25
100+
[ 6.026467 2:12 starry::syscall_imp:57] Syscall dup
101+
[ 6.031798 2:12 starry::syscall_imp:193] Syscall dup return 26
102+
[ 6.039368 2:12 starry::syscall_imp:57] Syscall dup
103+
[ 6.042750 2:12 starry::syscall_imp:193] Syscall dup return 27
104+
[ 6.046535 2:12 starry::syscall_imp:57] Syscall dup
105+
[ 6.050987 2:12 starry::syscall_imp:193] Syscall dup return 28
106+
[ 6.055997 2:12 starry::syscall_imp:57] Syscall dup
107+
[ 6.059606 2:12 starry::syscall_imp:193] Syscall dup return 29
108+
[ 6.064249 2:12 starry::syscall_imp:57] Syscall dup
109+
[ 6.067523 2:12 starry::syscall_imp:193] Syscall dup return 30
110+
[ 6.072424 2:12 starry::syscall_imp:57] Syscall dup
111+
[ 6.076507 2:12 starry::syscall_imp:193] Syscall dup return 31
112+
[ 6.080750 2:12 starry::syscall_imp:57] Syscall dup
113+
[ 6.083908 2:12 starry::syscall_imp:193] Syscall dup return 32
114+
[ 6.087438 2:12 starry::syscall_imp:57] Syscall dup
115+
[ 6.091865 2:12 starry::syscall_imp:193] Syscall dup return 33
116+
[ 19.425728 2:12 starry::syscall_imp:57] Syscall dup
117+
[ 19.431990 2:12 starry::syscall_imp:193] Syscall dup return 1021
118+
[ 19.440077 2:12 starry::syscall_imp:57] Syscall dup
119+
[ 19.447876 2:12 starry::syscall_imp:193] Syscall dup return 1022
120+
[ 19.456481 2:12 starry::syscall_imp:57] Syscall dup
121+
[ 19.462655 2:12 starry::syscall_imp:193] Syscall dup return 1023
122+
[ 19.471774 2:12 starry::syscall_imp:57] Syscall dup
123+
[ 19.479939 2:12 arceos_posix_api::imp::fd_ops:83] sys_dup => Err(EMFILE)
124+
[ 19.494421 2:12 starry::syscall_imp:193] Syscall dup return -24
125+
[ 19.503132 2:12 starry::syscall_imp:57] Syscall getpid
126+
[ 19.510997 2:12 starry::syscall_imp:193] Syscall getpid return 12
127+
[ 19.520535 2:12 starry::syscall_imp:57] Syscall chdir
128+
[ 19.542304 2:12 starry::syscall_imp:193] Syscall chdir return 0
129+
[ 19.554370 2:12 starry::syscall_imp:57] Syscall openat
130+
[ 19.588572 2:12 arceos_posix_api::imp::fs:131] sys_open => Err(EMFILE)
131+
[ 19.598135 2:12 starry::syscall_imp:193] Syscall openat return -24
132+
[ 19.608286 2:12 starry::syscall_imp:57] Syscall dup3
133+
[ 19.618469 2:12 arceos_posix_api::imp::fd_ops:91] sys_dup2 => Err(EMFILE)
134+
[ 19.629106 2:12 starry::syscall_imp:193] Syscall dup3 return -24
135+
[ 19.638493 2:12 starry::syscall_imp:57] Syscall write
136+
ERROR:
137+
[ 19.647597 2:12 starry::syscall_imp:193] Syscall write return 7
138+
[ 19.693123 2:12 starry::syscall_imp:57] Syscall write
139+
src/regression/daemon-failure.c:47: failed to dup pipe fd for communicating results: No file descriptors available
140+
[ 19.707195 2:12 starry::syscall_imp:193] Syscall write return 115
141+
[ 19.716969 2:12 starry::syscall_imp:57] Syscall getpid
142+
[ 19.723165 2:12 starry::syscall_imp:193] Syscall getpid return 12
143+
[ 19.731547 2:12 starry::syscall_imp:57] Syscall getppid
144+
[ 19.739364 2:12 starry::syscall_imp:193] Syscall getppid return 1
145+
[ 19.747886 2:12 starry::syscall_imp:57] Syscall getppid
146+
[ 19.755052 2:12 starry::syscall_imp:193] Syscall getppid return 1
147+
[ 19.762628 2:12 starry::syscall_imp:57] Syscall getpid
148+
[ 19.769678 2:12 starry::syscall_imp:193] Syscall getpid return 12
149+
[ 19.781738 2:12 starry::syscall_imp:57] Syscall write
150+
src/regression/daemon-failure.c:54: daemon forked despite failure: ppid is 1, pid is 12, old pid is 12
151+
[ 19.796658 2:12 starry::syscall_imp:193] Syscall write return 103
152+
[ 19.806185 2:12 starry::syscall_imp:57] Syscall write
153+
[ 19.814260 2:12 starry::syscall_imp:193] Syscall write return 1
154+
[ 19.829226 2:12 starry::syscall_imp:57] Syscall exit_group
155+
[ 19.837120 2:12 starry::syscall_imp::task::thread:62] Temporarily replace sys_exit_group with sys_exit
156+
[ 19.859833 3:11 starry::task:347] wait pid _12_ with code _1_
157+
[ 19.871395 3:11 starry::syscall_imp:193] Syscall wait4 return 12
158+
[ 19.903871 3:11 starry::syscall_imp:57] Syscall write
159+
src/regression/daemon-failure.c:66: child exited with 1
160+
[ 19.913167 3:11 starry::syscall_imp:193] Syscall write return 56
161+
[ 19.921105 3:11 starry::syscall_imp:57] Syscall read
162+
```
163+
164+
发现dup3系统调用的返回值异常
165+
修改arceos的dup2,close new_fd 之后dup3暂时没问题,但是要通过该测例需要实现setsid系统调用,观察Starry-Old发现其与会话相关,展示搁置
166+
![alt text](image-17.png)

docs/日报/image-14.png

242 KB
Loading

docs/日报/image-15.png

182 KB
Loading

docs/日报/image-16.png

18.3 KB
Loading

docs/日报/image-17.png

51.8 KB
Loading

0 commit comments

Comments
 (0)