buserror on osx.4
Franklin Kingma
franklin at fourdigits.nl
Tue Dec 19 13:40:52 MSK 2006
On Dec 19, 2006, at 11:32 AM, Igor Sysoev wrote:
> On Tue, 19 Dec 2006, Franklin Kingma wrote:
>
>> (gdb) disassemble ngx_time_update
>> Dump of assembler code for function ngx_time_update:
>> 0x0000a6ac <ngx_time_update+0>: mflr r0
>> 0x0000a6b0 <ngx_time_update+4>: stmw r25,-28(r1)
>> 0x0000a6b4 <ngx_time_update+8>: stw r0,8(r1)
>> 0x0000a6b8 <ngx_time_update+12>: stwu r1,-208(r1)
>> 0x0000a6bc <ngx_time_update+16>: bcl- 20,4*cr7+so,0xa6c0
>> <ngx_time_update+20>
>> 0x0000a6c0 <ngx_time_update+20>: mflr r31
>> 0x0000a6c4 <ngx_time_update+24>: mr r30,r3
>> 0x0000a6c8 <ngx_time_update+28>: addis r2,r31,5
>> 0x0000a6cc <ngx_time_update+32>: addi r11,r2,3200
>> 0x0000a6d0 <ngx_time_update+36>: lwz r9,3200(r2)
>> 0x0000a6d4 <ngx_time_update+40>: cmpwi cr7,r9,0
>> 0x0000a6d8 <ngx_time_update+44>: bne- cr7,0xa9ec
>> <ngx_time_update+832>
>> 0x0000a6dc <ngx_time_update+48>: li r2,1
>> 0x0000a6e0 <ngx_time_update+52>: li r8,0
>> 0x0000a6e4 <ngx_time_update+56>: lwarx r10,0,r11
>> 0x0000a6e8 <ngx_time_update+60>: cmpw r10,r9
>> 0x0000a6ec <ngx_time_update+64>: bne- 0xa6fc
>> <ngx_time_update+80>
>> 0x0000a6f0 <ngx_time_update+68>: stwcx. r2,0,r11
>> 0x0000a6f4 <ngx_time_update+72>: bne- 0xa6fc
>> <ngx_time_update+80>
>> 0x0000a6f8 <ngx_time_update+76>: li r8,1
>> 0x0000a6fc <ngx_time_update+80>: cmpwi cr7,r8,0
>> 0x0000a700 <ngx_time_update+84>: beq- cr7,0xa9ec
>> <ngx_time_update+832>
>> 0x0000a704 <ngx_time_update+88>: cmpwi cr7,r3,0
>> 0x0000a708 <ngx_time_update+92>: bne- cr7,0xa738
>> <ngx_time_update+140>
>
> Could you do following:
>
> gdb nginx
> b ngx_time_update
> run
> si
> si
> si
> si
> si
> si
> si
> si
> si
> si
> si
> si
> si
> si
> si
(gdb) b ngx_time_update
Breakpoint 1 at 0xa6c8: file src/core/ngx_times.c, line 69.
(gdb) run
Starting program: /usr/local/nginx/sbin/nginx
Reading symbols for shared libraries . done
Breakpoint 1, ngx_time_update (sec=0, msec=0) at src/core/ngx_times.c:69
69 if (!ngx_trylock(&ngx_time_lock)) {
(gdb) si
0x0000a6cc 69 if (!ngx_trylock(&ngx_time_lock)) {
(gdb) si
0x0000a6d0 69 if (!ngx_trylock(&ngx_time_lock)) {
(gdb) si
0x0000a6d4 69 if (!ngx_trylock(&ngx_time_lock)) {
(gdb) si
0x0000a6d8 69 if (!ngx_trylock(&ngx_time_lock)) {
(gdb) si
26 __asm__ volatile (
(gdb) si
0x0000a6e0 26 __asm__ volatile (
(gdb) si
0x0000a6e4 26 __asm__ volatile (
(gdb) si
0x0000a6e8 26 __asm__ volatile (
(gdb) si
0x0000a6ec 26 __asm__ volatile (
(gdb) si
0x0000a6f0 26 __asm__ volatile (
(gdb) si
0x0000a6f4 26 __asm__ volatile (
(gdb) si
69 if (!ngx_trylock(&ngx_time_lock)) {
(gdb) si
0x0000a700 69 if (!ngx_trylock(&ngx_time_lock)) {
(gdb) si
155 }
(gdb) si
0x0000a9f0 in ngx_time_update (sec=0, msec=0) at src/core/ngx_times.c:
155
155 }
(gdb) si
0x0000a9f4 155 }
(gdb)
More information about the nginx
mailing list