[Date Prev][Date Next] [Chronological] [Thread] [Top]

RE: slapcat, ldapsearch, slapindex all do nothing



Have you tried to do a full LDIF dump and parse through it, maybe something
is corrupt in there and you can tell via a spot check 

you could then import that onto your test server and see what happens


> -----Original Message-----
> From: Brian K. Jones [mailto:jonesy@CS.Princeton.EDU]
> Sent: Friday, June 20, 2003 7:48 AM
> To: ldap list
> Subject: slapcat, ldapsearch, slapindex all do nothing
> 
> 
> Hi all. 
> 
> I had this happen once before, and it caused me to rebuild the entire
> server, and now it's happened again, and it's not funny anymore, since
> this server will be production. 
> 
> I'm running 2.1.21 on Redhat 9. Here are some other facts:
> 
> I'm using BerkleyDB 4.1.25.
> 
> My database directory contains databases, and they are all 
> the same size
> as they are on the test server that I migrated the data from. They're
> not empty. I've also ensured that this *is* the directory slapd.conf
> points at. 
> 
> I was, earlier yesterday, able to search and browse the directory.
> However, I did a 'modrdn' on an 'ou' to put it under another 'ou', and
> that's the last change I remember making before things went haywire. 
> 
> Currently, ldapsearch connects to the server just fine, but always
> returns no results, no matter what I search for (including
> 'objectclass=*'). There's the debug output on the server below. There
> are a few errors, but they're ones I've pretty much always gotten -
> nothing here looks particularly interesting, just looks like 
> an average
> 'your search didn't match anything' response. 
> 
> I noticed, by the way, that doing these searches touches the 
> 'dn2id.bdb'
> and 'id2entry.bdb' files - along with one of the logs in my data
> directory - but that's it. The rest are untouched since yesterday. 
> 
> Running 'slapcat -l file.ldif' also produces absolutely no output
> whatsoever - and exits with a '0' status. I even fed slapcat 
> the proper
> '-f' and '-b' arguments, to no avail. 
> 
> Is there a way to recover the data I imported into the database files?
> Is there a way to get slapd to reindex stuff (BTW - slapindex 
> didn't do
> anything either - just immediately exited) or otherwise get slapd to
> 'understand' the data again?  How can I avoid this in the future?  
> 
> Pointers to anything I might not have read are more than 
> welcome (except
> for the damned faq-o-matic. I have no patience for that 
> 'thing').  I've
> looked on the mailing lists, man pages, and the O'Reilly LDAP 
> book, but
> found nothing. 
> +++++++++++++++ SNIP ++++++++++
> daemon: activity on 1 descriptors
> daemon: new connection on 10
> ldap_pvt_gethostbyname_a: host=ldap.CS.Princeton.EDU, r=0
> str2filter "(objectclass=*)"
> put_filter: "(objectclass=*)"
> put_filter: simple
> put_simple_filter: "objectclass=*"
> begin get_filter
> PRESENT
> ber_scanf fmt (m) ber:
> ber_dump: buf=0x081e2c60 ptr=0x081e2c60 end=0x081e2c6d len=13
>   0000:  87 0b 6f 62 6a 65 63 74  63 6c 61 73 73            
> ..objectclass
> end get_filter 0
> daemon: added 10r
> daemon: activity on:
> daemon: select: listen=6 active_threads=0 tvp=NULL
> daemon: activity on 1 descriptors
> daemon: activity on: 10r
> daemon: read activity on 10
> connection_get(10)
> connection_get(10): got connid=0
> connection_read(10): checking for input on id=0
> ber_get_next
> ldap_read: want=8, got=8
>   0000:  30 0c 02 01 01 60 07 02                            0....`..
> ldap_read: want=6, got=6
>   0000:  01 03 04 00 80 00                                  ......
> ber_get_next: tag 0x30 len 12 contents:
> ber_dump: buf=0x081e2950 ptr=0x081e2950 end=0x081e295c len=12
>   0000:  02 01 01 60 07 02 01 03  04 00 80 00               
> ...`........
> do_bind
> ber_get_next
> ldap_read: want=8 error=Resource temporarily unavailable
> ber_get_next on fd 10 failed errno=11 (Resource temporarily 
> unavailable)
> ber_scanf fmt ({imt) ber:
> ber_dump: buf=0x081e2950 ptr=0x081e2953 end=0x081e295c len=9
>   0000:  60 07 02 01 03 04 00 80  00                        `........
> ber_scanf fmt (m}) ber:
> ber_dump: buf=0x081e2950 ptr=0x081e295a end=0x081e295c len=2
>   0000:  00 00                                              ..
> >>> dnPrettyNormal: <>
> <<< dnPrettyNormal: <>, <>
> do_bind: version=3 dn="" method=128
> send_ldap_result: conn=0 op=0 p=3
> send_ldap_result: err=0 matched="" text=""
> send_ldap_response: msgid=1 tag=97 err=0
> ber_flush: 14 bytes to sd 10
>   0000:  30 0c 02 01 01 61 07 0a  01 00 04 00 04 00         
> 0....a........
> ldap_write: want=14, written=14
>   0000:  30 0c 02 01 01 61 07 0a  01 00 04 00 04 00         
> 0....a........
> do_bind: v3 anonymous bind
> daemon: select: listen=6 active_threads=0 tvp=NULL
> daemon: activity on 1 descriptors
> daemon: activity on: 10r
> daemon: read activity on 10
> connection_get(10)
> connection_get(10): got connid=0
> connection_read(10): checking for input on id=0
> ber_get_next
> ldap_read: want=8, got=8
>   0000:  30 3e 02 01 02 63 39 04                            0>...c9.
> ldap_read: want=56, got=56
>   0000:  19 64 63 3d 63 73 2c 64  63 3d 70 72 69 6e 63 65   
> .dc=cs,dc=prince
>   0010:  74 6f 6e 2c 64 63 3d 65  64 75 0a 01 02 0a 01 00   
> ton,dc=edu......
>   0020:  02 01 00 02 01 00 01 01  00 87 0b 6f 62 6a 65 63   
> ...........objec
>   0030:  74 63 6c 61 73 73 30 00                            tclass0.
> ber_get_next: tag 0x30 len 62 contents:
> ber_dump: buf=0x081e3c90 ptr=0x081e3c90 end=0x081e3cce len=62
>   0000:  02 01 02 63 39 04 19 64  63 3d 63 73 2c 64 63 3d   
> ...c9..dc=cs,dc=
>   0010:  70 72 69 6e 63 65 74 6f  6e 2c 64 63 3d 65 64 75   
> princeton,dc=edu
>   0020:  0a 01 02 0a 01 00 02 01  00 02 01 00 01 01 00 87   
> ................
>   0030:  0b 6f 62 6a 65 63 74 63  6c 61 73 73 30 00         
> .objectclass0.
> ber_get_next
> ldap_read: want=8 error=Resource temporarily unavailable
> ber_get_next on fd 10 failed errno=11 (Resource temporarily 
> unavailable)
> do_search
> ber_scanf fmt ({miiiib) ber:
> ber_dump: buf=0x081e3c90 ptr=0x081e3c93 end=0x081e3cce len=59
>   0000:  63 39 04 19 64 63 3d 63  73 2c 64 63 3d 70 72 69   
> c9..dc=cs,dc=pri
>   0010:  6e 63 65 74 6f 6e 2c 64  63 3d 65 64 75 0a 01 02   
> nceton,dc=edu...
>   0020:  0a 01 00 02 01 00 02 01  00 01 01 00 87 0b 6f 62   
> ..............ob
>   0030:  6a 65 63 74 63 6c 61 73  73 30 00                  
> jectclass0.
> >>> dnPrettyNormal: <dc=cs,dc=princeton,dc=edu>
> => ldap_bv2dn(dc=cs,dc=princeton,dc=edu,0)
> <= ldap_bv2dn(dc=cs,dc=princeton,dc=edu,0)=0
> => ldap_dn2bv(272)
> <= ldap_dn2bv(dc=cs,dc=princeton,dc=edu,272)=0
> => ldap_dn2bv(272)
> <= ldap_dn2bv(dc=cs,dc=princeton,dc=edu,272)=0
> <<< dnPrettyNormal: <dc=cs,dc=princeton,dc=edu>, 
> <dc=cs,dc=princeton,dc=edu>
> SRCH "dc=cs,dc=princeton,dc=edu" 2 0    0 0 0
> begin get_filter
> PRESENT
> ber_scanf fmt (m) ber:
> ber_dump: buf=0x081e3c90 ptr=0x081e3cbf end=0x081e3cce len=15
>   0000:  87 0b 6f 62 6a 65 63 74  63 6c 61 73 73 30 00      
> ..objectclass0.
> end get_filter 0
>     filter: (objectClass=*)
> ber_scanf fmt ({M}}) ber:
> ber_dump: buf=0x081e3c90 ptr=0x081e3ccc end=0x081e3cce len=2
>   0000:  00 00                                              ..
>     attrs:
> => bdb_back_search
> bdb_dn2entry_rw("dc=cs,dc=princeton,dc=edu")
> => bdb_dn2id_matched( "dc=cs,dc=princeton,dc=edu" )
> <= bdb_dn2id_matched: no match
> send_ldap_result: conn=0 op=1 p=3
> send_ldap_result: err=10 matched="" text=""
> send_ldap_response: msgid=2 tag=101 err=32
> ber_flush: 14 bytes to sd 10
>   0000:  30 0c 02 01 02 65 07 0a  01 20 04 00 04 00         
> 0....e... ....
> ldap_write: want=14, written=14
>   0000:  30 0c 02 01 02 65 07 0a  01 20 04 00 04 00         
> 0....e... ....
> daemon: select: listen=6 active_threads=0 tvp=NULL
> daemon: activity on 1 descriptors
> daemon: activity on: 10r
> daemon: read activity on 10
> connection_get(10)
> connection_get(10): got connid=0
> connection_read(10): checking for input on id=0
> ber_get_next
> ldap_read: want=8, got=7
>   0000:  30 05 02 01 03 42 00                               0....B.
> ber_get_next: tag 0x30 len 5 contents:
> ber_dump: buf=0x081e3d68 ptr=0x081e3d68 end=0x081e3d6d len=5
>   0000:  02 01 03 42 00                                     ...B.
> ber_get_next
> ldap_read: want=8, got=0
>  
> ber_get_next on fd 10 failed errno=0 (Success)
> connection_read(10): input error=-2 id=0, closing.
> connection_closing: readying conn=0 sd=10 for close
> connection_close: deferring conn=0 sd=10
> do_unbind
> connection_resched: attempting closing conn=0 sd=10
> connection_close: conn=0 sd=10
> daemon: removing 10
> daemon: select: listen=6 active_threads=0 tvp=NULL
> daemon: activity on 1 descriptors
> daemon: select: listen=6 active_threads=0 tvp=NULL
> +++++++++++++++ /SNIP +++++++++++++++
> 
> Thanks
>