[Mono-bugs] [Bug 52037][Nor] Changed - System.DateTime.get_Now fails on execution
bugzilla-daemon@bugzilla.ximian.com
bugzilla-daemon@bugzilla.ximian.com
Wed, 17 Dec 2003 02:52:52 -0500 (EST)
Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.
Changed by piyush.garyali@honeywell.com.
http://bugzilla.ximian.com/show_bug.cgi?id=52037
--- shadow/52037 2003-12-13 12:12:50.000000000 -0500
+++ shadow/52037.tmp.10621 2003-12-17 02:52:52.000000000 -0500
@@ -62,6 +62,158 @@
ppc_magic_trampoline()
??
??
------- Additional Comments From lupus@ximian.com 2003-12-13 12:12 -------
Fixed in cvs.
+
+------- Additional Comments From piyush.garyali@honeywell.com 2003-12-17 02:52 -------
+The code crashes after it does a mono_jit_compile_method for
+System.Single.IsNaN. To get an approximate postion, I checked on
+windows and found that it comes again into mono_jit_compile_method
+for System.HashTable.IsPrime. So, on my machine the crash is
+somewhere between the two.
+
+The call stack for the crash looks something like this.
+
+??
+??
+ppc_magic_trampoline() [Method: System.Single.IsNaN]
+ \- mono_compile_method() [Method: System.Single.IsNaN]
+ \- mono_jit_compile_method()[Method: System.Single.IsNaN]
+??
+(after it comes out of ppc_magic_trampoline, this is the code which
+is executed)
+lwz r3, 0xc4(sp)
+lwz r4, 0xc0(sp)
+lwz r5, 0xbc(sp)
+lwz r6, 0xb8(sp)
+lwz r7, 0xb4(sp)
+lwz r8, 0xb0(sp)
+lwz r9, 0xac(sp)
+lwz r10, 0xa8(sp)
+lfd f1, 0x48(sp)
+lfd f2, 0x40(sp)
+lfd f3, 0x38(sp)
+lfd f4, 0x30(sp)
+lfd f5, 0x28(sp)
+lfd f6, 0x20(sp)
+lfd f7, 0x18(sp)
+lfd f8, 0x10(sp)
+mtlr r0
+blrl
+ \-> mflr r0
+ stw r0, 4(sp)
+ stwu sp, -48(sp)
+ stfs f1, 0x24(sp)
+ lfs f3, 0x24(sp)
+ lfs f4, 0x24(sp)
+ fcmpo f3, f4
+ li r3, 0
+ bne 0x8f6cb0
+ li r3, 1
+ cmpwi r3, 0
+ li r3, 0
+ bne 0x8f6cc0
+ li r3, 1
+ lwz r0, 0x34(sp)
+ mtlr r0
+ addic sp, sp, 0x30
+ blr
+ \-> lwz r11, 0(sp)
+ lwz r31, -4(r11)
+ mr sp, r11
+ lwz r0, 4(sp)
+ mtlr
+ blr
+ \-> stb r3, 0x38(sp)
+ cmpwi r3, 0
+ beq 0x8f6ae0>>here
+ lis r3, 0x8c
+ ori r3, r3, 0x8c10
+ bl 0x2669b8
+ stw r3, 0x3c(sp)
+ lis r4, 0x8e
+ ori r4, r4, 0x3a90
+ lis r5, 0x8e
+ ori r5, r5, 0x3a60
+ lwz r6, 0x3c(sp)
+ mr r3, r6
+ lwz r0, 0(r6)
+ bl 0x8dcc00
+ lwz r3, 0x3c(sp)
+ mr r3, r3
+ bl start(0x25c728)
+ cmplwi r31, 0
+ bne 0x8f6af8
+ mr r3, r31
+ addi r3, r3, 1
+ stw r3, 0x30(sp)
+ mr r31, r3
+ lis r11, 0x8e
+ ori r11, r11, 0x3ec8
+ lfs f9, 0(r11)
+ lfs f3, 0x4c(sp)
+ fmul f9, f9, f3
+ lfd f3, 0x68(sp)
+ stfs f9, 0x10(r30)
+ mr r3, r31
+ li r0, 0
+ lis r0, 0x4330
+ stw r3, -8(sp)
+ xoris r3, r11, 0x8000
+ stw r11, -4(sp)
+ lfd f7, -8(sp)
+ li r11, 0x138
+ <----- lfd f0, 0(r11) --> crashes
+ <----- fsub f7, f7, f0 --> somewhere
+ <----- lfs f8, 0x10(r30)--> here!!
+ fdiv f6, f7, f8
+ fmr f5, f6
+ stfd f5, 0x28(sp)
+ lfd f3, 0x28(sp)
+ lis r11, 0x8e
+ ori r11, r11, 0x3f38
+ lfd f4, 0(r11)
+ fcmpo f3, f4
+ ble 0x8f6b98
+ lis r3, 0x8c
+ ori r3, r3, 0x8d00
+ bl 0x2669b8
+ stw r3, 0x40(sp)
+ lis r4, 0x8e
+
+Register contents at the time of crash
+pc 0x00001400
+sp 0x017643a0
+r0 0x43300000
+r1 0x017643a0
+r2 0x0025e280
+r3 0x808e3ec8
+r4 0x00000001
+r5 0x008e9108
+r6 0x00000000
+r7 0x00000000
+r8 0x00000000
+r9 0x00000000
+r10 0x00000000
+r11 0x00000138
+r12 0x008f6c88
+r13 0x00262a2c
+r14 0x01764e58
+r15 0x00000000
+r16 0x00000000
+r17 0x00000000
+r18 0x00000000
+r19 0x00000000
+r20 0x00000000
+r21 0x00000000
+r22 0x00000000
+r23 0x00000000
+r24 0x008bca98
+r25 0x008bcac0
+r26 0x00000001
+r27 0x00000000
+r28 0x00000000
+r29 0x00000000
+r30 0x008e9108
+r31 0x00000001