[Mono-bugs] [Bug 41273][Nor] Changed - Qt# apps fail with mini

bugzilla-daemon@rocky.ximian.com bugzilla-daemon@rocky.ximian.com
Wed, 16 Apr 2003 23:55:07 -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 mathpup@mylinuxisp.com.

http://bugzilla.ximian.com/show_bug.cgi?id=41273

--- shadow/41273	Wed Apr 16 23:46:07 2003
+++ shadow/41273.tmp.18795	Wed Apr 16 23:55:07 2003
@@ -118,6 +118,50 @@
  
  
 
 ------- Additional Comments From lupus@ximian.com  2003-04-15 13:35 -------
 Please can you provide links to download the dependencies and the test
 program if you can't isolate a test case? thanks.
+
+------- Additional Comments From mathpup@mylinuxisp.com  2003-04-16 23:55 -------
+Qt# needs 
+ 
+Qt development installation: 
+ftp://ftp.trolltech.com/qt/source/qt-x11-free-3.1.2.tar.bz2 
+ 
+QtC: 
+http://prdownloads.sourceforge.net/qtcsharp/qtc-qtsharp-0.7a.tar.bz2?download 
+ 
+Qt#: 
+http://prdownloads.sourceforge.net/qtcsharp/qtsharp-0.7.tar.bz2?download 
+ 
+PNet (for csant only) 
+http://www.southern-storm.com.au/download/pnet-0.5.4.tar.gz 
+ 
+Once these are build, cd to qtsharp/src/examples/tutorials and run 
+ 
+mini --trace t1.exe 
+ 
+to see the unaligned stack access problem shown above. 
+ 
+Some additional information: 
+ 
+I'm seen two symptoms of problems when trying to run Qt# apps. One is the 
+unaligned stack access with --trace, and another is string corruption. Strings 
+seem be getting corrupted into other strings: instead of getting turned into 
+garbage, strings are getting changed into other strings that are allocated in the 
+heap. For example, near the top, notice how "destroyed()" instead got 
+corrupted into "Void Emit". 
+ 
+This corruption does not occur with GC disabled. Also, Gonzalo suggested 
+invoking mini using 
+ 
+mini -v -v -v -v t1.exe > verbose.txt 
+ 
+and the corruption did not occur in that case either. 
+ 
+These problems are very difficult to narrow down. When I tried adding 
+WriteLine() to determine where some of the problems happened, some of the 
+problems actually disappeared (to be replaced by other problems in other 
+locations). 
+ 
+