blob: 38a06f4a4982bcaeb634b76f96548bcd7568c178 [file] [log] [blame]
Josh Gao76e1e302021-01-26 15:53:11 -08001syntax = "proto3";
2
Josh Gaod3df0ae2021-02-01 14:35:30 -08003option java_package = "com.android.server.os";
4option java_outer_classname = "TombstoneProtos";
5
Josh Gao76e1e302021-01-26 15:53:11 -08006message Tombstone {
7 Architecture arch = 1;
8 string build_fingerprint = 2;
9 string revision = 3;
10 string timestamp = 4;
11
12 uint32 pid = 5;
13 uint32 tid = 6;
14 uint32 uid = 7;
15 string selinux_label = 8;
16
17 string process_name = 9;
18
19 Signal signal_info = 10;
20 string abort_message = 14;
21 Cause cause = 15;
22
23 map<uint32, Thread> threads = 16;
24 repeated MemoryMapping memory_mappings = 17;
25 repeated LogBuffer log_buffers = 18;
26 repeated FD open_fds = 19;
27}
28
29enum Architecture {
30 ARM32 = 0;
31 ARM64 = 1;
32 X86 = 2;
33 X86_64 = 3;
34}
35
36message Signal {
37 int32 number = 1;
38 string name = 2;
39
40 int32 code = 3;
41 string code_name = 4;
42
43 bool has_sender = 5;
44 int32 sender_uid = 6;
45 int32 sender_pid = 7;
46
47 bool has_fault_address = 8;
48 uint64 fault_address = 9;
49}
50
51message Cause {
52 string human_readable = 1;
53}
54
55message Register {
56 string name = 1;
57 uint64 u64 = 2;
58}
59
60message Thread {
61 int32 id = 1;
62 string name = 2;
63 repeated Register registers = 3;
64 repeated BacktraceFrame current_backtrace = 4;
65 repeated MemoryDump memory_dump = 5;
66}
67
68message BacktraceFrame {
69 uint64 rel_pc = 1;
70 uint64 pc = 2;
71 uint64 sp = 3;
72
73 string function_name = 4;
74 uint64 function_offset = 5;
75
76 string file_name = 6;
77 uint64 file_map_offset = 7;
78 string build_id = 8;
79}
80
81message MemoryDump {
82 string register_name = 1;
83 string mapping_name = 2;
84 uint64 begin_address = 3;
85 bytes memory = 4;
86}
87
88message MemoryMapping {
89 uint64 begin_address = 1;
90 uint64 end_address = 2;
91 uint64 offset = 3;
92
93 bool read = 4;
94 bool write = 5;
95 bool execute = 6;
96
97 string mapping_name = 7;
98 string build_id = 8;
99 uint64 load_bias = 9;
100}
101
102message FD {
103 int32 fd = 1;
104 string path = 2;
105 string owner = 3;
106 uint64 tag = 4;
107}
108
109message LogBuffer {
110 string name = 1;
111 repeated LogMessage logs = 2;
112}
113
114message LogMessage {
115 string timestamp = 1;
116 uint32 pid = 2;
117 uint32 tid = 3;
118 uint32 priority = 4;
119 string tag = 5;
120 string message = 6;
121}