]>
Commit | Line | Data |
---|---|---|
3bd189cb JR |
1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> |
2 | <HTML> | |
3 | <HEAD> | |
4 | <TITLE> [IRCServices] Segmentation Error at startup with database load | |
5 | </TITLE> | |
6 | <LINK REL="Index" HREF="index.html" > | |
7 | <LINK REL="made" HREF="mailto:ircservices%40ircservices.za.net?Subject=%5BIRCServices%5D%20Segmentation%20Error%20at%20startup%20with%20database%20load&In-Reply-To="> | |
8 | <META NAME="robots" CONTENT="index,nofollow"> | |
9 | <META http-equiv="Content-Type" content="text/html; charset=us-ascii"> | |
10 | <LINK REL="Previous" HREF="004452.html"> | |
11 | <LINK REL="Next" HREF="004457.html"> | |
12 | </HEAD> | |
13 | <BODY BGCOLOR="#ffffff"> | |
14 | <H1>[IRCServices] Segmentation Error at startup with database load</H1> | |
15 | <B>Michael Felt</B> | |
16 | <A HREF="mailto:ircservices%40ircservices.za.net?Subject=%5BIRCServices%5D%20Segmentation%20Error%20at%20startup%20with%20database%20load&In-Reply-To=" | |
17 | TITLE="[IRCServices] Segmentation Error at startup with database load">mamfelt at acm.org | |
18 | </A><BR> | |
19 | <I>Mon Jun 14 01:33:27 PDT 2004</I> | |
20 | <P><UL> | |
21 | <LI>Previous message: <A HREF="004452.html">[IRCServices] Services 5.0.32 released | |
22 | </A></li> | |
23 | <LI>Next message: <A HREF="004457.html">[IRCServices] Segmentation Error at startup with database load | |
24 | </A></li> | |
25 | <LI> <B>Messages sorted by:</B> | |
26 | <a href="date.html#4456">[ date ]</a> | |
27 | <a href="thread.html#4456">[ thread ]</a> | |
28 | <a href="subject.html#4456">[ subject ]</a> | |
29 | <a href="author.html#4456">[ author ]</a> | |
30 | </LI> | |
31 | </UL> | |
32 | <HR> | |
33 | <!--beginarticle--> | |
34 | <PRE>Note: if the database files are removed, ircservices startups and | |
35 | communicates with bahamut with no problems. | |
36 | The core dump occurs on a restart. | |
37 | ||
38 | 1. IRC Version | |
39 | [Jun 14 01:48:32 2004] IRC Services 5.0.32 starting up | |
40 | ||
41 | HARDWARE/OS: PowerIV, 64 bit, AIX 5.2 | |
42 | Compiled with no special problems using gcc 3.3.2 downloaded from BULL | |
43 | freeware.gcc.rte 3.3.2.0 C F gcc version 3.3.2 | |
44 | ||
45 | p.s. I had alomst gotten it ported to AIX xlC compiler, but also ran into | |
46 | problems with __builtin* functions. | |
47 | Apparantly only GCC has those. | |
48 | ||
49 | 2. NA atm (bahamut 1.8) | |
50 | ||
51 | 3. Basic error: core dump, segmentation error | |
52 | Segmentation fault in load_one_serverstats at line 2316 in file | |
53 | "modules/database/version4.c" | |
54 | 2316 ss->t_join = tmp32; | |
55 | ||
56 | 4. | |
57 | (dbx) list 2305, 2320 | |
58 | 2305 static ServerStats *load_one_serverstats(dbFILE *f) | |
59 | 2306 { | |
60 | 2307 ServerStats *ss; | |
61 | 2308 char *servername; | |
62 | 2309 int32 tmp32; | |
63 | 2310 | |
64 | 2311 SAFE(read_string(&servername, f)); | |
65 | 2312 ss = new_serverstats(servername); | |
66 | 2313 free(servername); | |
67 | 2314 servername = NULL; | |
68 | 2315 SAFE(read_int32(&tmp32, f)); | |
69 | 2316 ss->t_join = tmp32; | |
70 | 2317 SAFE(read_int32(&tmp32, f)); /* t_quit */ | |
71 | 2318 /* Avoid join>=quit staying true on load (which would indicate | |
72 | that the | |
73 | 2319 * server is online even before any server connections are | |
74 | processed) */ | |
75 | 2320 ss->t_quit = time(NULL)-1; | |
76 | (dbx) | |
77 | === | |
78 | Basically, new_serverstats return value is not properly returned. | |
79 | === | |
80 | more detail | |
81 | (dbx) stop at 2312 | |
82 | [2] stop at "version4.c":2312 | |
83 | (dbx) rerun | |
84 | [ /usr/local/sbin/ircservices ] | |
85 | [2] stopped in load_one_serverstats at line 2312 in file | |
86 | "modules/database/version4.c" | |
87 | 2312 ss = new_serverstats(servername); | |
88 | (dbx) where | |
89 | load_one_serverstats(f = 0x2008c668), line 2312 in "version4.c" | |
90 | open_statserv_db(dbname = "stats.db"), line 2377 in "version4.c" | |
91 | init_module_statserv_main(??), line 622 in "main.c" | |
92 | internal_init_module(??), line 388 in "modules.c" | |
93 | load_module(??), line 417 in "modules.c" | |
94 | unnamed block $b64, line 848 in "init.c" | |
95 | init.init(??, ??), line 848 in "init.c" | |
96 | main.main(ac = ??, av = 0x2ff22b04, envp = 0x2ff22b0c), line 225 in "main.c" | |
97 | (dbx) dump | |
98 | load_one_serverstats(f = 0x2008c668), line 2312 in "version4.c" | |
99 | servername = "Ascendent.tdzk" | |
100 | ss = (nil) | |
101 | tmp32 = 536944164 | |
102 | (dbx) registers | |
103 | $r0:0x1001d27c $stkp:0x2ff22788 $toc:0x2001508c $r3:0x00000000 | |
104 | $r4:0x00000fe9 $r5:0x201c56e7 $r6:0x6e64656e $r7:0x742e7464 | |
105 | $r8:0x7a6b0000 $r9:0x00000000 $r10:0xf01c5f34 $r11:0x00000000 | |
106 | $r12:0x1001f9c0 $r13:0xdeadbeef $r14:0x00000001 $r15:0x2ff22b04 | |
107 | $r16:0x2ff22b0c $r17:0x00000000 $r18:0xdeadbeef $r19:0xdeadbeef | |
108 | $r20:0xdeadbeef $r21:0xdeadbeef $r22:0xdeadbeef $r23:0xdeadbeef | |
109 | $r24:0xdeadbeef $r25:0x00000001 $r26:0x2ff22b04 $r27:0x00000001 | |
110 | $r28:0x2008c488 $r29:0x00000001 $r30:0x2008c668 $r31:0x00000000 | |
111 | $iar:0x1001d288 $msr:0x0002d0b2 $cr:0x28222244 $link:0x1001d27c | |
112 | $ctr:0xd01f0278 $xer:0x0000000f $mq:0xdeadbeef | |
113 | Condition status = 0:e 1:l 2:e 3:e 4:e 5:e 6:g 7:g | |
114 | [unset $noflregs to view floating point registers] | |
115 | in load_one_serverstats at line 2312 in file "modules/database/version4.c" | |
116 | 0x1001d288 (load_one_serverstats+0x30) 812206cc lwz r9,0x6cc(r2) | |
117 | (dbx) whatis ss | |
118 | register ServerStats *ss; | |
119 | (dbx) | |
120 | ==== | |
121 | (dbx) step | |
122 | [2] | |
123 | Interrupt in load_one_serverstats at line 2312 in file | |
124 | "modules/database/version4.c" | |
125 | 2312 ss = new_serverstats(servername); | |
126 | (dbx) step | |
127 | ||
128 | stopped in __dblocal_new_serverstats_stub at line 189 in file | |
129 | "modules/database/extsyms.c" | |
130 | 189 IMPORT_FUNC("statserv/main", module_statserv, new_serverstats); | |
131 | (dbx) | |
132 | , etc.. | |
133 | ==== | |
134 | 2312 ss = new_serverstats(servername); | |
135 | (dbx) registers | |
136 | $r0:0x1001d2ac $stkp:0x2ff22788 $toc:0x2001508c $r3:0x00008080 | |
137 | $r4:0x2008b0d4 $r5:0x2008b576 $r6:0x00000000 $r7:0x007a6b00 | |
138 | $r8:0x7a6b0000 $r9:0x00008080 $r10:0x7f7f7f7f $r11:0x00000004 | |
139 | $r12:0x00008080 $r13:0xdeadbeef $r14:0x00000001 $r15:0x2ff22b04 | |
140 | $r16:0x2ff22b0c $r17:0x00000000 $r18:0xdeadbeef $r19:0xdeadbeef | |
141 | $r20:0xdeadbeef $r21:0xdeadbeef $r22:0xdeadbeef $r23:0xdeadbeef | |
142 | $r24:0xdeadbeef $r25:0x00000001 $r26:0x2ff22b04 $r27:0x00000001 | |
143 | $r28:0x2008c488 $r29:0x00000001 $r30:0x2008c668 $r31:0x00000000 | |
144 | $iar:0x1001d2ac $msr:0x0000d0b2 $cr:0x24222224 $link:0x1001d2ac | |
145 | $ctr:0x00000004 $xer:0x0000000f $mq:0xdeadbeef | |
146 | Condition status = 0:e 1:g 2:e 3:e 4:e 5:e 6:e 7:g | |
147 | [unset $noflregs to view floating point registers] | |
148 | in load_one_serverstats at line 2312 in file "modules/database/version4.c" | |
149 | 0x1001d2ac (load_one_serverstats+0x54) 80410014 lwz r2,0x14(r1) | |
150 | ||
151 | (dbx) / ss | |
152 | 2316 ss->t_join = tmp32; | |
153 | (dbx) stepi | |
154 | stopped in load_one_serverstats at 0x1001d2b0 | |
155 | 0x1001d2b0 (load_one_serverstats+0x58) 7c7f1b78 mr r31,r3 | |
156 | (dbx) stepi | |
157 | stopped in load_one_serverstats at 0x1001d2b4 | |
158 | 0x1001d2b4 (load_one_serverstats+0x5c) 80610038 lwz r3,0x38(r1) | |
159 | (dbx) print ss | |
160 | 0x00008080 | |
161 | ||
162 | ABOVE it seems that ss is finally getting it's value (in r31, was nil, now | |
163 | 0x0008080 (from r3) | |
164 | (dbx) registers | |
165 | $r0:0x1001d2ac $stkp:0x2ff22788 $toc:0x2001508c $r3:0x2008b0c8 | |
166 | $r4:0x2008b0d4 $r5:0x2008b576 $r6:0x00000000 $r7:0x007a6b00 | |
167 | $r8:0x7a6b0000 $r9:0x00008080 $r10:0x7f7f7f7f $r11:0x00000004 | |
168 | $r12:0xf01b401c $r13:0xdeadbeef $r14:0x00000001 $r15:0x2ff22b04 | |
169 | $r16:0x2ff22b0c $r17:0x00000000 $r18:0xdeadbeef $r19:0xdeadbeef | |
170 | $r20:0xdeadbeef $r21:0xdeadbeef $r22:0xdeadbeef $r23:0xdeadbeef | |
171 | $r24:0xdeadbeef $r25:0x00000001 $r26:0x2ff22b04 $r27:0x00000001 | |
172 | $r28:0x2008c488 $r29:0x00000001 $r30:0x2008c668 $r31:0x00008080 | |
173 | $iar:0x10004344 $msr:0x0002d0b2 $cr:0x24222224 $link:0x1001d2bc | |
174 | $ctr:0x00000004 $xer:0x0000000f $mq:0xdeadbeef | |
175 | Condition status = 0:e 1:g 2:e 3:e 4:e 5:e 6:e 7:g | |
176 | [unset $noflregs to view floating point registers] | |
177 | ==== | |
178 | ||
179 | In smaller steps I come to this code: | |
180 | stopped in new_serverstats at line 377 in file "modules/statserv/main.c" | |
181 | 377 { | |
182 | (dbx) where | |
183 | new_serverstats(servername = "Ascendent.tdzk"), line 377 in "main.c" | |
184 | __dblocal_new_serverstats_stub(), line 189 in "extsyms.c" | |
185 | load_one_serverstats(f = 0x2008c668), line 2312 in "version4.c" | |
186 | open_statserv_db(dbname = "stats.db"), line 2377 in "version4.c" | |
187 | init_module_statserv_main(module_ = ??), line 622 in "main.c" | |
188 | internal_init_module(module = 0x2008c3a8), line 388 in "modules.c" | |
189 | load_module(modulename = "statserv/main"), line 417 in "modules.c" | |
190 | unnamed block $b64, line 848 in "init.c" | |
191 | init.init(??, ??), line 848 in "init.c" | |
192 | main.main(ac = ??, av = 0x2ff22b04, envp = 0x2ff22b0c), line 225 in "main.c" | |
193 | (dbx) list 370, 390 | |
194 | 370 | |
195 | 371 /* Create a new ServerStats structure for the given server name | |
196 | and return | |
197 | 372 * it. Always successful. | |
198 | 373 */ | |
199 | 374 | |
200 | 375 EXPORT_FUNC(new_serverstats) | |
201 | 376 ServerStats *new_serverstats(const char *servername) | |
202 | 377 { | |
203 | 378 ServerStats *ss; | |
204 | 379 | |
205 | 380 ss = scalloc(sizeof(*ss), 1); | |
206 | 381 ss->name = sstrdup(servername); | |
207 | 382 return ss; | |
208 | 383 } | |
209 | 384 | |
210 | 385 | |
211 | /*************************************************************************/ | |
212 | ||
213 | And then single stepping.... | |
214 | (watch for mr r31,r3 (that incorrectly loads the r31 (ss) value. | |
215 | ||
216 | ==== | |
217 | (dbx) stop at 383 | |
218 | [7] stop at "modules/statserv/main.c":383 | |
219 | (dbx) cont | |
220 | [7] stopped in new_serverstats at line 383 in file "modules/statserv/main.c" | |
221 | 383 } | |
222 | (dbx) dump | |
223 | new_serverstats(servername = "Ascendent.tdzk"), line 383 in "main.c" | |
224 | ss = 0x2008b658 | |
225 | (dbx) registers | |
226 | $r0:0x2008b568 $stkp:0x2ff22648 $toc:0x2001508c $r3:0x2008b568 | |
227 | $r4:0x2008b0d4 $r5:0x2008b576 $r6:0x00000000 $r7:0x007a6b00 | |
228 | $r8:0x7a6b0000 $r9:0x00008080 $r10:0x7f7f7f7f $r11:0x00000004 | |
229 | $r12:0x00008080 $r13:0xdeadbeef $r14:0x00000001 $r15:0x2ff22b04 | |
230 | $r16:0x2ff22b0c $r17:0x00000000 $r18:0xdeadbeef $r19:0xdeadbeef | |
231 | $r20:0xdeadbeef $r21:0xdeadbeef $r22:0xdeadbeef $r23:0xdeadbeef | |
232 | $r24:0xdeadbeef $r25:0x00000001 $r26:0x2ff22b04 $r27:0x00000001 | |
233 | $r28:0x2008b0c8 $r29:0x2008b658 $r30:0x2008c668 $r31:0x2ff22698 | |
234 | $iar:0x1007eb28 $msr:0x0002d0b2 $cr:0x24222224 $link:0x1007eb1c | |
235 | $ctr:0x00000004 $xer:0x0000000f $mq:0xdeadbeef | |
236 | Condition status = 0:e 1:g 2:e 3:e 4:e 5:e 6:e 7:g | |
237 | [unset $noflregs to view floating point registers] | |
238 | in new_serverstats at line 383 in file "modules/statserv/main.c" | |
239 | 0x1007eb28 (new_serverstats+0x40) 7fa3eb78 mr r3,r29 | |
240 | (dbx) stepi | |
241 | stopped in unnamed block $b916 at 0x1007eb2c | |
242 | 0x1007eb2c ($b916) 901d0010 stw r0,0x10(r29) | |
243 | (dbx) stepi | |
244 | stopped in unnamed block $b916 at 0x1007eb30 | |
245 | 0x1007eb30 ($b916+0x4) 80010008 lwz r0,0x8(r1) | |
246 | (dbx) stepi | |
247 | stopped in unnamed block $b916 at 0x1007eb34 | |
248 | 0x1007eb34 ($b916+0x8) 8381fff0 lwz r28,-16(r1) | |
249 | (dbx) stepi | |
250 | stopped in unnamed block $b916 at 0x1007eb38 | |
251 | 0x1007eb38 ($b916+0xc) 7c0803a6 mtlr r0 | |
252 | (dbx) stepi | |
253 | stopped in unnamed block $b916 at 0x1007eb3c | |
254 | 0x1007eb3c ($b916+0x10) 83a1fff4 lwz r29,-12(r1) | |
255 | (dbx) stepi | |
256 | stopped in unnamed block $b916 at 0x1007eb40 | |
257 | 0x1007eb40 ($b916+0x14) 4e800020 blr | |
258 | (dbx) stepi | |
259 | stopped in __dblocal_new_serverstats_stub at 0x10020fb8 | |
260 | 0x10020fb8 (__dblocal_new_serverstats_stub+0x11c) | |
261 | 80410014 lwz r2,0x14(r1) | |
262 | (dbx) registers | |
263 | $r0:0x10020fb8 $stkp:0x2ff22648 $toc:0x2001508c $r3:0x2008b658 | |
264 | $r4:0x2008b0d4 $r5:0x2008b576 $r6:0x00000000 $r7:0x007a6b00 | |
265 | $r8:0x7a6b0000 $r9:0x00008080 $r10:0x7f7f7f7f $r11:0x00000004 | |
266 | $r12:0x00008080 $r13:0xdeadbeef $r14:0x00000001 $r15:0x2ff22b04 | |
267 | $r16:0x2ff22b0c $r17:0x00000000 $r18:0xdeadbeef $r19:0xdeadbeef | |
268 | $r20:0xdeadbeef $r21:0xdeadbeef $r22:0xdeadbeef $r23:0xdeadbeef | |
269 | $r24:0xdeadbeef $r25:0x00000001 $r26:0x2ff22b04 $r27:0x00000001 | |
270 | $r28:0x20015008 $r29:0x20003e30 $r30:0x2008c668 $r31:0x2ff22698 | |
271 | $iar:0x10020fb8 $msr:0x0002d0b2 $cr:0x24222224 $link:0x10020fb8 | |
272 | $ctr:0x00000004 $xer:0x0000000f $mq:0xdeadbeef | |
273 | Condition status = 0:e 1:g 2:e 3:e 4:e 5:e 6:e 7:g | |
274 | [unset $noflregs to view floating point registers] | |
275 | in __dblocal_new_serverstats_stub at 0x10020fb8 | |
276 | 0x10020fb8 (__dblocal_new_serverstats_stub+0x11c) | |
277 | 80410014 lwz r2,0x14(r1) | |
278 | (dbx) stepi | |
279 | stopped in __dblocal_new_serverstats_stub at 0x10020fbc | |
280 | 0x10020fbc (__dblocal_new_serverstats_stub+0x120) | |
281 | 907f00c8 stw r3,0xc8(r31) | |
282 | (dbx) registers | |
283 | $r0:0x10020fb8 $stkp:0x2ff22648 $toc:0x2001508c $r3:0x2008b658 | |
284 | $r4:0x2008b0d4 $r5:0x2008b576 $r6:0x00000000 $r7:0x007a6b00 | |
285 | $r8:0x7a6b0000 $r9:0x00008080 $r10:0x7f7f7f7f $r11:0x00000004 | |
286 | $r12:0x00008080 $r13:0xdeadbeef $r14:0x00000001 $r15:0x2ff22b04 | |
287 | $r16:0x2ff22b0c $r17:0x00000000 $r18:0xdeadbeef $r19:0xdeadbeef | |
288 | $r20:0xdeadbeef $r21:0xdeadbeef $r22:0xdeadbeef $r23:0xdeadbeef | |
289 | $r24:0xdeadbeef $r25:0x00000001 $r26:0x2ff22b04 $r27:0x00000001 | |
290 | $r28:0x20015008 $r29:0x20003e30 $r30:0x2008c668 $r31:0x2ff22698 | |
291 | $iar:0x10020fbc $msr:0x0002d0b2 $cr:0x24222224 $link:0x10020fb8 | |
292 | $ctr:0x00000004 $xer:0x0000000f $mq:0xdeadbeef | |
293 | Condition status = 0:e 1:g 2:e 3:e 4:e 5:e 6:e 7:g | |
294 | [unset $noflregs to view floating point registers] | |
295 | in __dblocal_new_serverstats_stub at 0x10020fbc | |
296 | 0x10020fbc (__dblocal_new_serverstats_stub+0x120) | |
297 | 907f00c8 stw r3,0xc8(r31) | |
298 | (dbx) stepi | |
299 | stopped in __dblocal_new_serverstats_stub at 0x10020fc0 | |
300 | 0x10020fc0 (__dblocal_new_serverstats_stub+0x124) | |
301 | 909f00cc stw r4,0xcc(r31) | |
302 | (dbx) registers | |
303 | $r0:0x10020fb8 $stkp:0x2ff22648 $toc:0x2001508c $r3:0x2008b658 | |
304 | $r4:0x2008b0d4 $r5:0x2008b576 $r6:0x00000000 $r7:0x007a6b00 | |
305 | $r8:0x7a6b0000 $r9:0x00008080 $r10:0x7f7f7f7f $r11:0x00000004 | |
306 | $r12:0x00008080 $r13:0xdeadbeef $r14:0x00000001 $r15:0x2ff22b04 | |
307 | $r16:0x2ff22b0c $r17:0x00000000 $r18:0xdeadbeef $r19:0xdeadbeef | |
308 | $r20:0xdeadbeef $r21:0xdeadbeef $r22:0xdeadbeef $r23:0xdeadbeef | |
309 | $r24:0xdeadbeef $r25:0x00000001 $r26:0x2ff22b04 $r27:0x00000001 | |
310 | $r28:0x20015008 $r29:0x20003e30 $r30:0x2008c668 $r31:0x2ff22698 | |
311 | $iar:0x10020fc0 $msr:0x0002d0b2 $cr:0x24222224 $link:0x10020fb8 | |
312 | $ctr:0x00000004 $xer:0x0000000f $mq:0xdeadbeef | |
313 | Condition status = 0:e 1:g 2:e 3:e 4:e 5:e 6:e 7:g | |
314 | [unset $noflregs to view floating point registers] | |
315 | in __dblocal_new_serverstats_stub at 0x10020fc0 | |
316 | 0x10020fc0 (__dblocal_new_serverstats_stub+0x124) | |
317 | 909f00cc stw r4,0xcc(r31) | |
318 | (dbx) stepi | |
319 | stopped in __dblocal_new_serverstats_stub at 0x10020fc4 | |
320 | 0x10020fc4 (__dblocal_new_serverstats_stub+0x128) | |
321 | d83f00d0 stfd fr1,0xd0(r31) | |
322 | (dbx) stepi | |
323 | stopped in __dblocal_new_serverstats_stub at 0x10020fc8 | |
324 | 0x10020fc8 (__dblocal_new_serverstats_stub+0x12c) | |
325 | 803f00dc lwz r1,0xdc(r31) | |
326 | (dbx) stepi | |
327 | stopped in __dblocal_new_serverstats_stub at 0x10020fcc | |
328 | 0x10020fcc (__dblocal_new_serverstats_stub+0x130) | |
329 | 801f00d8 lwz r0,0xd8(r31) | |
330 | (dbx) stepi | |
331 | stopped in __dblocal_new_serverstats_stub at 0x10020fd0 | |
332 | 0x10020fd0 (__dblocal_new_serverstats_stub+0x134) | |
333 | 90010000 stw r0,0x0(r1) | |
334 | (dbx) stepi | |
335 | stopped in __dblocal_new_serverstats_stub at 0x10020fd4 | |
336 | 0x10020fd4 (__dblocal_new_serverstats_stub+0x138) | |
337 | 80210000 lwz r1,0x0(r1) | |
338 | (dbx) stepi | |
339 | stopped in __dblocal_new_serverstats_stub at 0x10020fd8 | |
340 | 0x10020fd8 (__dblocal_new_serverstats_stub+0x13c) | |
341 | 807f00c8 lwz r3,0xc8(r31) | |
342 | (dbx) registers | |
343 | $r0:0x2ff22788 $stkp:0x2ff22788 $toc:0x2001508c $r3:0x2008b658 | |
344 | $r4:0x2008b0d4 $r5:0x2008b576 $r6:0x00000000 $r7:0x007a6b00 | |
345 | $r8:0x7a6b0000 $r9:0x00008080 $r10:0x7f7f7f7f $r11:0x00000004 | |
346 | $r12:0x00008080 $r13:0xdeadbeef $r14:0x00000001 $r15:0x2ff22b04 | |
347 | $r16:0x2ff22b0c $r17:0x00000000 $r18:0xdeadbeef $r19:0xdeadbeef | |
348 | $r20:0xdeadbeef $r21:0xdeadbeef $r22:0xdeadbeef $r23:0xdeadbeef | |
349 | $r24:0xdeadbeef $r25:0x00000001 $r26:0x2ff22b04 $r27:0x00000001 | |
350 | $r28:0x20015008 $r29:0x20003e30 $r30:0x2008c668 $r31:0x2ff22698 | |
351 | $iar:0x10020fd8 $msr:0x0002d0b2 $cr:0x24222224 $link:0x10020fb8 | |
352 | $ctr:0x00000004 $xer:0x0000000f $mq:0xdeadbeef | |
353 | Condition status = 0:e 1:g 2:e 3:e 4:e 5:e 6:e 7:g | |
354 | [unset $noflregs to view floating point registers] | |
355 | in __dblocal_new_serverstats_stub at 0x10020fd8 | |
356 | 0x10020fd8 (__dblocal_new_serverstats_stub+0x13c) | |
357 | 807f00c8 lwz r3,0xc8(r31) | |
358 | (dbx) stepi | |
359 | stopped in __dblocal_new_serverstats_stub at 0x10020fdc | |
360 | 0x10020fdc (__dblocal_new_serverstats_stub+0x140) | |
361 | 809f00cc lwz r4,0xcc(r31) | |
362 | (dbx) stepi | |
363 | stopped in __dblocal_new_serverstats_stub at 0x10020fe0 | |
364 | 0x10020fe0 (__dblocal_new_serverstats_stub+0x144) 7d234b78 mr r3,r9 | |
365 | (dbx) registers | |
366 | $r0:0x2ff22788 $stkp:0x2ff22788 $toc:0x2001508c $r3:0x2008b658 | |
367 | $r4:0x2008b0d4 $r5:0x2008b576 $r6:0x00000000 $r7:0x007a6b00 | |
368 | $r8:0x7a6b0000 $r9:0x00008080 $r10:0x7f7f7f7f $r11:0x00000004 | |
369 | $r12:0x00008080 $r13:0xdeadbeef $r14:0x00000001 $r15:0x2ff22b04 | |
370 | $r16:0x2ff22b0c $r17:0x00000000 $r18:0xdeadbeef $r19:0xdeadbeef | |
371 | $r20:0xdeadbeef $r21:0xdeadbeef $r22:0xdeadbeef $r23:0xdeadbeef | |
372 | $r24:0xdeadbeef $r25:0x00000001 $r26:0x2ff22b04 $r27:0x00000001 | |
373 | $r28:0x20015008 $r29:0x20003e30 $r30:0x2008c668 $r31:0x2ff22698 | |
374 | $iar:0x10020fe0 $msr:0x0002d0b2 $cr:0x24222224 $link:0x10020fb8 | |
375 | $ctr:0x00000004 $xer:0x0000000f $mq:0xdeadbeef | |
376 | Condition status = 0:e 1:g 2:e 3:e 4:e 5:e 6:e 7:g | |
377 | [unset $noflregs to view floating point registers] | |
378 | in __dblocal_new_serverstats_stub at 0x10020fe0 | |
379 | 0x10020fe0 (__dblocal_new_serverstats_stub+0x144) 7d234b78 mr r3,r9 | |
380 | (dbx) stepi | |
381 | stopped in __dblocal_new_serverstats_stub at 0x10020fe4 | |
382 | 0x10020fe4 (__dblocal_new_serverstats_stub+0x148) | |
383 | 80010008 lwz r0,0x8(r1) | |
384 | (dbx) registers | |
385 | $r0:0x2ff22788 $stkp:0x2ff22788 $toc:0x2001508c $r3:0x00008080 | |
386 | $r4:0x2008b0d4 $r5:0x2008b576 $r6:0x00000000 $r7:0x007a6b00 | |
387 | $r8:0x7a6b0000 $r9:0x00008080 $r10:0x7f7f7f7f $r11:0x00000004 | |
388 | $r12:0x00008080 $r13:0xdeadbeef $r14:0x00000001 $r15:0x2ff22b04 | |
389 | $r16:0x2ff22b0c $r17:0x00000000 $r18:0xdeadbeef $r19:0xdeadbeef | |
390 | $r20:0xdeadbeef $r21:0xdeadbeef $r22:0xdeadbeef $r23:0xdeadbeef | |
391 | $r24:0xdeadbeef $r25:0x00000001 $r26:0x2ff22b04 $r27:0x00000001 | |
392 | $r28:0x20015008 $r29:0x20003e30 $r30:0x2008c668 $r31:0x2ff22698 | |
393 | $iar:0x10020fe4 $msr:0x0002d0b2 $cr:0x24222224 $link:0x10020fb8 | |
394 | $ctr:0x00000004 $xer:0x0000000f $mq:0xdeadbeef | |
395 | Condition status = 0:e 1:g 2:e 3:e 4:e 5:e 6:e 7:g | |
396 | [unset $noflregs to view floating point registers] | |
397 | in __dblocal_new_serverstats_stub at 0x10020fe4 | |
398 | 0x10020fe4 (__dblocal_new_serverstats_stub+0x148) | |
399 | 80010008 lwz r0,0x8(r1) | |
400 | (dbx) stepi | |
401 | stopped in __dblocal_new_serverstats_stub at 0x10020fe8 | |
402 | 0x10020fe8 (__dblocal_new_serverstats_stub+0x14c) | |
403 | c83f00d0 lfd fr1,0xd0(r31) | |
404 | (dbx) stepi | |
405 | stopped in __dblocal_new_serverstats_stub at 0x10020fec | |
406 | 0x10020fec (__dblocal_new_serverstats_stub+0x150) 7c0803a6 mtlr r0 | |
407 | (dbx) stepi | |
408 | stopped in __dblocal_new_serverstats_stub at 0x10020ff0 | |
409 | 0x10020ff0 (__dblocal_new_serverstats_stub+0x154) | |
410 | 8381fff0 lwz r28,-16(r1) | |
411 | (dbx) stepi | |
412 | stopped in __dblocal_new_serverstats_stub at 0x10020ff4 | |
413 | 0x10020ff4 (__dblocal_new_serverstats_stub+0x158) | |
414 | 83a1fff4 lwz r29,-12(r1) | |
415 | (dbx) stepi | |
416 | stopped in __dblocal_new_serverstats_stub at 0x10020ff8 | |
417 | 0x10020ff8 (__dblocal_new_serverstats_stub+0x15c) | |
418 | 83e1fffc lwz r31,-4(r1) | |
419 | (dbx) stepi | |
420 | stopped in __dblocal_new_serverstats_stub at 0x10020ffc | |
421 | 0x10020ffc (__dblocal_new_serverstats_stub+0x160) 4e800020 blr | |
422 | (dbx) stepi | |
423 | stopped in load_one_serverstats at 0x1001d2ac | |
424 | 0x1001d2ac (load_one_serverstats+0x54) 80410014 lwz r2,0x14(r1) | |
425 | (dbx) registers | |
426 | $r0:0x1001d2ac $stkp:0x2ff22788 $toc:0x2001508c $r3:0x00008080 | |
427 | $r4:0x2008b0d4 $r5:0x2008b576 $r6:0x00000000 $r7:0x007a6b00 | |
428 | $r8:0x7a6b0000 $r9:0x00008080 $r10:0x7f7f7f7f $r11:0x00000004 | |
429 | $r12:0x00008080 $r13:0xdeadbeef $r14:0x00000001 $r15:0x2ff22b04 | |
430 | $r16:0x2ff22b0c $r17:0x00000000 $r18:0xdeadbeef $r19:0xdeadbeef | |
431 | $r20:0xdeadbeef $r21:0xdeadbeef $r22:0xdeadbeef $r23:0xdeadbeef | |
432 | $r24:0xdeadbeef $r25:0x00000001 $r26:0x2ff22b04 $r27:0x00000001 | |
433 | $r28:0x2008c488 $r29:0x00000001 $r30:0x2008c668 $r31:0x00000000 | |
434 | $iar:0x1001d2ac $msr:0x0002d0b2 $cr:0x24222224 $link:0x1001d2ac | |
435 | $ctr:0x00000004 $xer:0x0000000f $mq:0xdeadbeef | |
436 | Condition status = 0:e 1:g 2:e 3:e 4:e 5:e 6:e 7:g | |
437 | [unset $noflregs to view floating point registers] | |
438 | in load_one_serverstats at 0x1001d2ac | |
439 | 0x1001d2ac (load_one_serverstats+0x54) 80410014 lwz r2,0x14(r1) | |
440 | (dbx) stepi | |
441 | stopped in load_one_serverstats at 0x1001d2b0 | |
442 | 0x1001d2b0 (load_one_serverstats+0x58) 7c7f1b78 mr r31,r3 | |
443 | (dbx) stepi | |
444 | stopped in load_one_serverstats at 0x1001d2b4 | |
445 | 0x1001d2b4 (load_one_serverstats+0x5c) 80610038 lwz r3,0x38(r1) | |
446 | (dbx) registers | |
447 | $r0:0x1001d2ac $stkp:0x2ff22788 $toc:0x2001508c $r3:0x00008080 | |
448 | $r4:0x2008b0d4 $r5:0x2008b576 $r6:0x00000000 $r7:0x007a6b00 | |
449 | $r8:0x7a6b0000 $r9:0x00008080 $r10:0x7f7f7f7f $r11:0x00000004 | |
450 | $r12:0x00008080 $r13:0xdeadbeef $r14:0x00000001 $r15:0x2ff22b04 | |
451 | $r16:0x2ff22b0c $r17:0x00000000 $r18:0xdeadbeef $r19:0xdeadbeef | |
452 | $r20:0xdeadbeef $r21:0xdeadbeef $r22:0xdeadbeef $r23:0xdeadbeef | |
453 | $r24:0xdeadbeef $r25:0x00000001 $r26:0x2ff22b04 $r27:0x00000001 | |
454 | $r28:0x2008c488 $r29:0x00000001 $r30:0x2008c668 $r31:0x00008080 | |
455 | $iar:0x1001d2b4 $msr:0x0002d0b2 $cr:0x24222224 $link:0x1001d2ac | |
456 | $ctr:0x00000004 $xer:0x0000000f $mq:0xdeadbeef | |
457 | Condition status = 0:e 1:g 2:e 3:e 4:e 5:e 6:e 7:g | |
458 | [unset $noflregs to view floating point registers] | |
459 | in load_one_serverstats at 0x1001d2b4 | |
460 | 0x1001d2b4 (load_one_serverstats+0x5c) 80610038 lwz r3,0x38(r1) | |
461 | (dbx) stepi | |
462 | stopped in load_one_serverstats at 0x1001d2b8 | |
463 | 0x1001d2b8 (load_one_serverstats+0x60) 4bfe7089 bl 0x10004340 | |
464 | (free) | |
465 | (dbx) | |
466 | ==== | |
467 | ||
468 | I am wondering what the constant 64 means in: | |
469 | extsyms.c: | |
470 | ||
471 | static void *__dblocal_##func##_stub(void) { \ | |
472 | __dblocal_##func##_stub0(); \ | |
473 | __builtin_return(__builtin_apply((void *)__dblocal_##func, \ | |
474 | __builtin_apply_args(), 64)); \ | |
475 | } \ | |
476 | ||
477 | ||
478 | ||
479 | </PRE> | |
480 | ||
481 | <!--endarticle--> | |
482 | <HR> | |
483 | <P><UL> | |
484 | <!--threads--> | |
485 | <LI>Previous message: <A HREF="004452.html">[IRCServices] Services 5.0.32 released | |
486 | </A></li> | |
487 | <LI>Next message: <A HREF="004457.html">[IRCServices] Segmentation Error at startup with database load | |
488 | </A></li> | |
489 | <LI> <B>Messages sorted by:</B> | |
490 | <a href="date.html#4456">[ date ]</a> | |
491 | <a href="thread.html#4456">[ thread ]</a> | |
492 | <a href="subject.html#4456">[ subject ]</a> | |
493 | <a href="author.html#4456">[ author ]</a> | |
494 | </LI> | |
495 | </UL> | |
496 | ||
497 | </body></html> |