-
Notifications
You must be signed in to change notification settings - Fork 0
/
suicide_squad_bug_log.txt
117 lines (117 loc) · 5.56 KB
/
suicide_squad_bug_log.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
Anqi Shen
Feifan Zhang
Tianyi Tang
Yiran Li
Bug Log
Bug Description:
Keyboard input error; the character output on the screen is not the one we wanted, especially for the function keys.
Found by:
Everyone.
Solution:
The scan code error=>fix the function key scan code.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
Bug Description:
When we try to execute any program, the page fault exception would occur (CP3).
Found by:
Everyone.
Solution:
We did not open the user bit when we set up the page => turn on the user bit
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
Bug Description:
Halt problem cannot return to the right place (stack errors, return address fault), so page fault after halt.
Found by:
Anqi Shen
Solution:
gdb; keep tracking the value of esp ebp and esp0 => find out we should change the esp value then ebp value.
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
Bug Description:
The return value would be changed after halt
Found by:
Everyone
Solution:
No one can change the eax value, e.g add pushal in handlers.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
Bug Description:
When try to exit the kernel executed shell, page fault occur
Found by:
Everyone
Solution:
Change the esp setting way => using the ebp to find the esp in bottom shell.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
Bug Description:
Scheduling with a lot of faults cannot be fixed.
Found by:
Everyone
Solution:
Clear the original pit and rewrite one.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
Bug Description:
Executing program in terminal 0 would run the shell of the terminal 2, ended in page fault.
Found by:
Tianyi Tang
Solution:
Switch the stack to terminal 0 stack after pit first touch the terminal and in the process of running the bottom shell of the terminal 2. The original version would have a do nothing round between running the first program and running the bottom shell of the terminal 2.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
Bug Description:
Switches between terminals cannot out print the right terminal content when running counter (would print the last terminal content occasionally).
Found by:
Everyone.
Solution:
The scrolling error, late copy of the upper/previous lines. Change the terminal index from curr_running_terminal_index to curr_ terminal_index. The previous is the terminal index we look at, the later one is the terminal we are running at the time.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
Bug Description:
Switches between terminals cannot out print the right terminal content when running pingpong (would print the last terminal content occasionally).
Found by:
Everyone.
Solution:
Set critical section in putc.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
Bug Description:
Fish program run on the one terminal would appear on every terminal
Found by:
Everyone
Solution:
In the original version the vidmaps of 3 terminals would always map to the 0xb800. Vidmap for each terminal would always map to the backup address of each terminal.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
Bug Description:
Pingpong rate changed during the running (suddenly increase the speed after execute grep/fish in other terminal
Found by:
Everyone
Solution:
Reset the RTC in rtc close, because grep and fish would change the RTC rate and we just have one RTC
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
Bug Description:
Executing the >1 fish in different terminal would copy the previous terminal with running fish in the current terminal.
Found by:
Everyone
Solution:
Change the new line look up terminal index from curr_running _terminal_idx to the curr_terminal_idx.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
Bug Description:
Page fault occasionally.
Found by:
Everyone
Solution:
Change system call look up terminal index from curr _terminal_idx to the curr_running_terminal_idx.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
Bug Description:
Cannot correctly get the right argument
Found by:
Everyone
Solution:
The keyboard (space key) layout is wrong, fix the space key to it right position.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
Bug Description:
Page fault when running 3 fish in 3 terminal.
Found by:
Everyone
Solution:
Memory copy in pit if curr_running_terminal_idx == curr_terminal_idx. Reconsidering the sequence of setting page and memory copy
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
Bug Description:
typying overflow problem in hello case; if we type >128 characters in hello program, the next grogram would have "no such comman" bug
Found by:
Everyone
Solution:
clear typing buffer after finishing terminal read.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////