This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: Perl 5.7.2 (GDB breaks in 1.3.3-2 on certain Win2000 machines)


>Actually, this thread, with the subject "Help...  GDB no longer works
>after updating" had discussion on this problem:
>
>http://cygwin.com/ml/cygwin/2001-09/msg01182.html
>
><snip>
>
>So, let me turn this back to you. Have you tried any of the cygwin
>snapshots to see if they alleviate your problem?  I'm not aware of
>any development which could have fixed this but, then, I'm not aware
>of anything that could break it either.

Since I originally posted this, and I have a system on which gdb breaks,
The snapshots haven't fixed anything, the crash still occurs.  So after
a bit of experimentation in getting cygwin1.dll with symbols compiled,
I finally started splunking into the code...

I figured I should probably report back with what I discovered (however,
I was hoping to have some kind of patch/fix working before I posted
but...)

The break occurs with a call to 

(line 91 uinfo.cc)
if (!NetUserGetInfo (NULL, wuser, 3, (LPBYTE *)&ui)  
|| (wlogsrv[0] && !NetUserGetInfo (wlogsrv, wuser, 3,(LPBYTE *)&ui))) {

Version 1.3.2-1 never made that call (uinfo.cc has changed a bit
and that whole section was ignored in 1.3.2-1 if user.name, user.domain,

and user.logsvr where all set).  Forcing version 1.3.2-1 to execute the
call NetUserGetInfo also causes the same crash.

All of the arguments appear to be valid (wuser is i unicode string which
contains the user name, ui looks like USER_INFO_3 type...)  

Then I looked up NetUserGetInfo and trying a simple MSVC project with 
NetGetUserInfo.  The program fails with trying to pass NULL as the 
SERVERNAME with an error 2202 (The user name or group name parameter is
invalid.), 
and fails with 2221 (The user name could not be found.) with the same
SERVERNAME and USERNAME that uinfo.cc was trying to use.  However,
calls to the NetUserGetInfo function to do not crash, and since windows
does not send signals, I am guessing that the wrapper around
Netapi32.lib
is sending a signal after receiving a failing call?

Since the error is occurring in one of the wrappers or libraries that
I haven't yet figured out how to debug (_libkernel32_a_iname), I have
solved the
solution by simply removing the call the NetUserGetInfo from uinfo.cc 
(which is effectively what was occuring in 1.3.2-1).  I will look into
this
further, but I thought since there was such a mass of posts about this
I would report what I had found...

Kris



--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]