Development

NAVIGATION
CATEGORIES
REFERRENCE
LINKS
  • New - SIGSEGV using win32FormatMessage API

    0 answers - 4109 bytes - related search similar search Add To My Delicious Add To My Stumble Upon Add To My Google Mark Add To My Facebook Add To My Digg Add To My Reddit

    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 gert.driesen (AT) pandora (DOT) be.
    shadow/791162006-08-20 05:01:23.000000000 -0400
    shadow/79116.tmp.7572006-08-20 05:01:23.000000000 -0400
    @@ -0,0 +1,202 @@
    +Bug#: 79116
    +Product: Mono: Runtime
    +Version: 1.1
    +S:
    +S Details:
    +Status: NEW
    +Resolution:
    +Severity:
    +Priority: Normal
    +Component: interop
    +AssignedTo: mono-bugs (AT) ximian (DOT) com
    +ReportedBy: gert.driesen (AT) pandora (DOT) be
    +QAContact: mono-bugs (AT) ximian (DOT) com
    +TargetMilestone:
    +URL:
    +Cc:
    +Summary: SIGSEGV using win32 FormatMessage API
    +
    +I'm currently using the Win32 FormatMessage API to lookup messages from
    +unmanaged resource DLLs, however there appear to be some issues with this.
    +
    +First of all, the number of bytes returned by the FormatMessage API is
    +different when executed from Mono, and is not consistent.
    +
    +When executing the exact same call (see attached repro) numerous times I
    +get results ranging from 6 to 14 bytes, while MS.NET always returns 10
    +bytes.
    +
    +Also when running it on Mono, I occasionally get a 234 win32 error, which
    +means that more data is available. However, I'm explicitly letting the
    +FormatMessage API allocate the buffer, so we should never get a 234 (and
    +I actually don't get it when running on MS.NET).
    +
    +Eventually, I always get a SIGSEGV:
    +
    +To reproduce:
    +
    +1. Extract the attached zip file.
    +2. Compile test.cs.
    +3. Run test.exe on Windows (as it uses win32 API calls).
    +
    +The attached zip file contains:
    +
    +- test.cs: C# source for reproducing error
    +- EventLogMessages.dll: unmanaged resource DLL.
    +
    +Note: I've only tested using the Mono 1.1.6 release, as I have problems
    +building Mono from SVN on Windows.
    +
    +Expected result:
    +
    +10
    +10
    +drieseng
    +
    +(1000 times, as I execute the FormatMessage API in a loop)
    +
    +The first number is the number of bytes read, while the second number is
    +the length of the message (after converting from ptr to string).
    +
    +Actual result:
    +
    +14
    +8
    +drieseng
    +win32 error [234]: Some sort of w32 error occurred: 234
    +
    +6
    +9
    +drieseng
    +
    +18
    +8
    +drieseng
    +6
    +9
    +drieseng
    +
    +win32 error [234]: Some sort of w32 error occurred: 234
    +
    +6
    +9
    +drieseng
    +
    +22
    +8
    +drieseng
    +6
    +9
    +drieseng
    +
    +6
    +9
    +drieseng
    +
    +6
    +9
    +drieseng
    +
    +6
    +9
    +drieseng
    +
    +6
    +9
    +drieseng
    +
    +6
    +9
    +drieseng
    +
    +6
    +9
    +drieseng
    +
    +18
    +8
    +drieseng
    +9
    +8
    +drieseng
    +18
    +8
    +drieseng
    +6
    +9
    +drieseng
    +
    +6
    +9
    +drieseng
    +
    +9
    +8
    +drieseng
    +18
    +8
    +drieseng
    +9
    +8
    +drieseng
    +18
    +8
    +drieseng
    +6
    +9
    +drieseng
    +
    +6
    +9
    +drieseng
    +
    +6
    +9
    +drieseng
    +
    +6
    +9
    +drieseng
    +
    +6
    +9
    +drieseng
    +
    +6
    +9
    +drieseng
    +
    +6
    +9
    +drieseng
    +
    +6
    +9
    +drieseng
    +
    +
    +
    +Got a SIGSEGV while executing native code. This usually indicates
    +a fatal error in the mono runtime or one of the native libraries
    +used by your application.
    +
    +
    +Stacktrace:
    +
    + at (wrapper managed-to-native)
    +
    +(,intptr,uint,int,intptr&,in
    +t,intptr[]) <0x00004>
    + at (wrapper managed-to-native)
    +
    +(,intptr,uint,int,intptr&,in
    +t,intptr[]) <0xffffffff>
    + at (string,uint,string[])
    +<0x000d9>
    + at (string[]) <0x00053>
    + at (wrapper runtime-invoke) S[]
    +(object,intptr,intptr,intptr) <0xffffffff>
    +
    +This application has requested the Runtime to terminate it in an unusual
    +way.
    +Please contact the application's support team for more information.
    mono-bugs maillist - mono-bugs (AT) lists (DOT) ximian.com

Re: New - SIGSEGV using win32FormatMessage API


max 4000 letters.
Your nickname that display:
In order to stop the spam: 0 + 0 =
QUESTION ON "Development"

EMSDN.COM