Have found the place in openldap where the error occurs, but do not know why. Please refer to http://hackage.haskell.org/trac/ghc/ticket/6128 .
On Thu, Jul 12, 2012 at 2:03 PM, Magicloud Magiclouds <[email protected]> wrote: > I made a little code, to explicitly use unbind: > ldapWith :: String > -> LDAPInt > -> (LDAP -> IO a) > -> IO a > ldapWith host port f = > withCString host $ \cs -> do > cld <- cldap_init cs port > ptr <- checkNULL "ldapWith" (return cld) > rv <- newForeignPtr_ ptr > ldapSetVersion3 cld > a <- f rv > _ <- cldap_unbind cld > return a > > And it gave me another packet data. Sec 11 is runhaskell, Sec 15 is > binary (failed). The failed one has a FIN, ACK, weird. LDAP-0.6.6 is a > binding to c library without any other haskell library except base, I > think how ghc works should not effect its internal network > operation.... > > On Thu, Jul 12, 2012 at 10:14 AM, Magicloud Magiclouds > <[email protected]> wrote: >> Dug a little more. Seems that ghc 7.4.* finalizes (ldap_unbind action) >> the ldap ptr before the references were actually dropped. >> >> On Thu, Jul 12, 2012 at 9:41 AM, Magicloud Magiclouds >> <[email protected]> wrote: >>> Sorry for the attachments. They are wireshark files. >>> >>> On Thu, Jul 12, 2012 at 9:35 AM, Magicloud Magiclouds >>> <[email protected]> wrote: >>>> OK. Finally this problem totally prevents my project from working. >>>> By some guy's suggestion, I did a packet capturing, which really >>>> showed a difference. >>>> The rwdc file is for a ldap that at our IDC, which did not work with >>>> compiled binary. The rodc file is for a ldap that at local, which >>>> worked all the time. Each file contains two parts of records, at 3.* >>>> sec and 6/7.* sec. The 3.* part is for runhaskell way. The 6/7.* part >>>> is for compiled binary way. >>>> The big difference here is: the failed one sent unbindRequest before >>>> got bindResponse success. >>>> Just a clue, I have no idea what is going on.... >>>> >>>> On Fri, Jun 1, 2012 at 5:17 PM, Chris Dornan <[email protected]> wrote: >>>>> No problem -- I have attached the executable too. >>>>> >>>>> Chris >>>>> >>>>> -----Original Message----- >>>>> From: Magicloud Magiclouds [mailto:[email protected]] >>>>> Sent: 01 June 2012 02:01 >>>>> To: Chris Dornan >>>>> Subject: Re: [Haskell-cafe] What is the difference between runhaskell and >>>>> compile? >>>>> >>>>> I see. >>>>> Although I am using a UTF-8 environment, but all string I was using were >>>>> ASCIIs. >>>>> If it is not too much trouble, may I have your LDAP compiled library >>>>> files? I think since the Main.o is identical, maybe the libraries are >>>>> different. >>>>> >>>>> On Thu, May 31, 2012 at 2:09 PM, Chris Dornan <[email protected]> >>>>> wrote: >>>>>> I wouldn't pay too much attention to the fact that the hash tags are >>>>>> different -- they are very unlikely to be the same across two >>>>>> installations. (For example, my GHC installations are relocated under >>>>>> /usr/hs, immediately changing the contents of all of the .conf files >>>>>> and therefore the hashes.) >>>>>> >>>>>> The object files are more interesting, and they are identical! >>>>>> >>>>>> At the moment I can only explain what we are seeing by assuming that >>>>>> some change has affected the GHC 7.4.1 runtime system -- but only for >>>>>> compiled programs. >>>>>> >>>>>> Are you using non-ASCII characters in your LDAP passwords? I am thinking >>>>>> that maybe the compiled 7.4.1 could be using a different LOCALE from >>>>>> everything else, leading in some way to the passwords being encoded >>>>>> differently en route to the LDAP server. I don't know whether this could >>>>>> actually happen, but it is the kind of mechanism that seem most likely >>>>>> to be causing the problem. >>>>>> >>>>>> Did you try to running the variants that read address, account and >>>>>> passwords from standard input? Did it show the same perverse behaviour? >>>>>> >>>>>> Chris >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -----Original Message----- >>>>>> From: Magicloud Magiclouds [mailto:[email protected]] >>>>>> Sent: 31 May 2012 02:47 >>>>>> To: Chris Dornan >>>>>> Subject: Re: [Haskell-cafe] What is the difference between runhaskell >>>>>> and compile? >>>>>> >>>>>> Hi, >>>>>> I have compared the files. The .o-es are exactly the same. The .hi-s >>>>>> are different. >>>>>> The interface hash, flag hash, and "import -/ >>>>>> LDAP-0.6.6:LDAP.Constants xxxxx(hash)" are different. >>>>>> I do not know why only this module (LDAP.Constants) has a different >>>>>> hash. I am not quite familiar with ghc compiling process. May I know >>>>>> your conclusion? >>>>>> >>>>>> On Wed, May 30, 2012 at 3:50 PM, Chris Dornan <[email protected]> >>>>>> wrote: >>>>>>> Did you carry out a standard (optimised) build to get ghc-7.4.1? >>>>>>> >>>>>>> Are you going to try the justhub rpms or compare the object/header >>>>>>> files I sent. >>>>>>> >>>>>>> Chris >>>>>>> >>>>>>> -----Original Message----- >>>>>>> From: Magicloud Magiclouds [mailto:[email protected]] >>>>>>> Sent: 30 May 2012 04:07 >>>>>>> To: Chris Dornan >>>>>>> Cc: Haskell-Cafe >>>>>>> Subject: Re: [Haskell-cafe] What is the difference between runhaskell >>>>>>> and compile? >>>>>>> >>>>>>> A little information. >>>>>>> I did not notice the gcc/binutils versions. But in CentOS, the ghc >>>>>>> 7.2.2/7.4.1 were all compiled myself with all default configurations. >>>>>>> >>>>>>> On Tue, May 29, 2012 at 10:54 PM, Chris Dornan <[email protected]> >>>>>>> wrote: >>>>>>>> On 29 May 2012 02:21, Magicloud Magiclouds >>>>>>>> <[email protected]> wrote: >>>>>>>>> Interesting. I have this code tested in Debian unstable/stable, >>>>>>>>> CentOS 6.1, all 64 bit, with two different version of libldap2. >>>>>>>>> At first, Debian-s were installed with 7.4.1, CentOS with 7.2.2. >>>>>>>>> Only in CentOS the code connected after compiled. >>>>>>>>> Then I removed 7.4.1 from Debian stable and installed 7.2.2. The code >>>>>>>>> worked. >>>>>>>>> At last, I installed 7.4.1 in CentOS. The code did not work. >>>>>>>>> >>>>>>>>> Could you send the .hi/.o to me, so maybe I could find out the >>>>>>>>> different? Also the exact original source. >>>>>>>>> Thank you. >>>>>>>> >>>>>>>> Interesting indeed! I am guessing that you are using the GHC-7.4.1 >>>>>>>> bindist from haskell.org. >>>>>>>> >>>>>>>> I will try and find some time to marshal the source code and >>>>>>>> intermediate files (am on the road -- will need to collect it from >>>>>>>> base, make it generic etc.). >>>>>>>> >>>>>>>> You might also like to try the http://justhub.org ghc-7.4.1-hub on >>>>>>>> your CentOS-6.1 node. It is a separate build from the haskell.org >>>>>>>> bindist and comes with it's own in-board gcc (4.6.1) and binutils >>>>>>>> (2.21) used for the build. It should work for you. >>>>>>>> >>>>>>>> (You could also try ghc-7.4.2-RC1-hub.) >>>>>>>> >>>>>>>> Chris >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> 竹密岂妨流水过 >>>>>>> 山高哪阻野云飞 >>>>>>> >>>>>>> And for G+, please use magiclouds#gmail.com. >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> 竹密岂妨流水过 >>>>>> 山高哪阻野云飞 >>>>>> >>>>>> And for G+, please use magiclouds#gmail.com. >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> 竹密岂妨流水过 >>>>> 山高哪阻野云飞 >>>>> >>>>> And for G+, please use magiclouds#gmail.com. >>>> >>>> >>>> >>>> -- >>>> 竹密岂妨流水过 >>>> 山高哪阻野云飞 >>>> >>>> And for G+, please use magiclouds#gmail.com. >>> >>> >>> >>> -- >>> 竹密岂妨流水过 >>> 山高哪阻野云飞 >>> >>> And for G+, please use magiclouds#gmail.com. >> >> >> >> -- >> 竹密岂妨流水过 >> 山高哪阻野云飞 >> >> And for G+, please use magiclouds#gmail.com. > > > > -- > 竹密岂妨流水过 > 山高哪阻野云飞 > > And for G+, please use magiclouds#gmail.com. -- 竹密岂妨流水过 山高哪阻野云飞 And for G+, please use magiclouds#gmail.com. _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
