[Mono-bugs] [Bug 48051][Wis] New - Delegate calls cause Mint to fail fatally with a bus error.
bugzilla-daemon@bugzilla.ximian.com
bugzilla-daemon@bugzilla.ximian.com
Sat, 30 Aug 2003 00:35:05 -0400 (EDT)
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 quenio.dos.santos@zerog.com.
http://bugzilla.ximian.com/show_bug.cgi?id=48051
--- shadow/48051 2003-08-30 00:35:05.000000000 -0400
+++ shadow/48051.tmp.28842 2003-08-30 00:35:05.000000000 -0400
@@ -0,0 +1,95 @@
+Bug#: 48051
+Product: Mono/Runtime
+Version: unspecified
+OS:
+OS Details: Mac OS 10.2.3
+Status: NEW
+Resolution:
+Severity:
+Priority: Wishlist
+Component: misc
+AssignedTo: mono-bugs@ximian.com
+ReportedBy: Quenio.dos.Santos@ZeroG.com
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+URL:
+Cc:
+Summary: Delegate calls cause Mint to fail fatally with a bus error.
+
+Please fill in this template when reporting a bug, unless you know what you are doing.
+Description of Problem:
+I have attached code that illustrate the problem. Basically, from a superclass (SuperTest),
+calling a delegate (delegateMethod) that points to a method declared (Method) in the
+subclass (Test) causes the bus error if the subclass (Test) also declares a field. Below, you
+can see the mint.crash.log contents:
+
+**********
+
+Date/Time: 2003-08-29 21:24:23 -0700
+OS Version: 10.2.6 (Build 6L60)
+Host: brava.local.
+
+Command: mint
+PID: 8379
+
+Exception: EXC_BAD_ACCESS (0x0001)
+Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000001
+
+Thread 0:
+ #0 0x90042688 in semaphore_timedwait_signal_trap
+ #1 0x9003e8b4 in _pthread_cond_wait
+ #2 0x00096900 in _wapi_handle_wait_signal (handles.c:1284)
+ #3 0x00094004 in WaitForMultipleObjects (wait.c:410)
+ #4 0x0003eca8 in wait_for_tids (threads.c:956)
+ #5 0x0003eeb0 in mono_thread_manage (threads.c:1045)
+ #6 0x0001a6d0 in mono_runtime_exec_managed_code (object.c:1014)
+ #7 0x000151d4 in main (interp.c:4604)
+ #8 0x00002184 in _start (crt.c:267)
+ #9 0x00002004 in start
+
+Thread 1 Crashed:
+ #0 0x00002708 in get_virtual_method (interp.c:229)
+ #1 0x00008a2c in ves_exec_method (interp.c:1654)
+ #2 0x00009048 in ves_exec_method (interp.c:1730)
+ #3 0x000057f8 in interp_mono_runtime_invoke (interp.c:1239)
+ #4 0x0001979c in mono_runtime_invoke (object.c:690)
+ #5 0x0001a830 in mono_runtime_exec_main (object.c:1049)
+ #6 0x0001a314 in mono_runtime_run_main (object.c:916)
+ #7 0x00014894 in ves_exec (interp.c:4364)
+ #8 0x00014bdc in main_thread_handler (interp.c:4494)
+ #9 0x0003d750 in start_wrapper (threads.c:218)
+ #10 0x000a0e1c in timed_thread_start_routine (timed-thread.c:115)
+ #11 0x90020d48 in _pthread_body
+
+PPC Thread State:
+ srr0: 0x00002708 srr1: 0x0200d030 vrsave: 0x00000000
+ xer: 0x00000000 lr: 0x000026a4 ctr: 0x00397e7c mq: 0x00000000
+ r0: 0x00000001 r1: 0xf0200360 r2: 0x0006bd34 r3: 0x003e6ec0
+ r4: 0x00a88d30 r5: 0xf0200450 r6: 0x00000000 r7: 0xf0200460
+ r8: 0x00000003 r9: 0x00000001 r10: 0x06000003 r11: 0x008ba2e9
+ r12: 0x00397e7c r13: 0x00000000 r14: 0x00000000 r15: 0x00000000
+ r16: 0x00000000 r17: 0x00000000 r18: 0x00000000 r19: 0x00000000
+ r20: 0x00000000 r21: 0x00000000 r22: 0x00000000 r23: 0x00000000
+ r24: 0x00000000 r25: 0x00000000 r26: 0x00000000 r27: 0x00000000
+ r28: 0x00000000 r29: 0x00a884b0 r30: 0xf0200360 r31: 0x000026a4
+
+
+Steps to reproduce the problem:
+1. Extract the attached QS.zip file.
+2. cd to QS/CLI/Tests/Delegates
+3. Execute "make run"
+
+
+Actual Results:
+You should get the bus error.
+
+Expected Results:
+A message should be printed to the console. The executable should exit gracefully.
+
+How often does this happen?
+This bug can be reproduced consistently.
+
+Additional Information:
+If the "value" boolean field of the Test class is removed, then everything works properly.
+Also, if the "Method()" method is called directly in the "Run()" method, instead of using the
+delegate, it works properly as well.