(gdb) r The program being debugged has been started already. Start it from the beginning? (y or n) y Starting program: /usr/local/samba/bin/ldbedit --help Breakpoint 1, main (argc=2, argv=0x7fff527c3ab8) at lib/ldb/tools/ldbedit.c:291 291 talloc_enable_leak_report_full(); (gdb) n 292 ldb = ldb_init(NULL, NULL); (gdb) s ldb_init (mem_ctx=0x0, ev_ctx=0x0) at lib/ldb/common/ldb.c:95 95 ldb = talloc_zero(mem_ctx, struct ldb_context); (gdb) n 98 if (ev_ctx == NULL) { (gdb) n 99 ev_ctx = tevent_context_init(talloc_autofree_context()); (gdb) n 100 tevent_set_debug(ev_ctx, ldb_tevent_debug, ldb); (gdb) n 101 tevent_loop_allow_nesting(ev_ctx); (gdb) n 104 ret = ldb_setup_wellknown_attributes(ldb); (gdb) p ev_ctx $18 = (struct tevent_context *) 0x110e370 (gdb) p ev_ctx->pipe_fde $19 = (struct tevent_fd *) 0x110e430 (gdb) p ev_ctx->debug_ops $20 = {debug = 0x469588 , context = 0x110e0c0} (gdb) call talloc_report_full(0, stdout) full talloc report on 'null_context' (total 336 bytes in 8 blocks) autofree_context contains 216 bytes in 6 blocks (ref 0) 0x110e190 struct tevent_context contains 120 bytes in 2 blocks (ref 0) 0x110e370 struct std_event_context contains 24 bytes in 1 blocks (ref 0) 0x110e430 struct tevent_ops_list contains 32 bytes in 1 blocks (ref 0) 0x110e2f0 struct tevent_ops_list contains 32 bytes in 1 blocks (ref 0) 0x110e270 struct tevent_ops_list contains 32 bytes in 1 blocks (ref 0) 0x110e1f0 struct ldb_context contains 120 bytes in 1 blocks (ref 0) 0x110e0c0 (gdb) c Continuing. Breakpoint 2, poptGetNextOpt (con=0x110e9b0) at ../lib/popt/popt.c:962 962 invokeCallbacksOPTION(con, con->options, opt, cbData, shorty); (gdb) c Continuing. Usage: [OPTION...] -H, --url=URL database URL -b, --basedn=DN base DN -e, --editor=PROGRAM external editor -s, --scope=SCOPE search scope -v, --verbose increase verbosity -i, --interactive input from stdin -r, --recursive recursive delete --modules-path=PATH modules path --num-searches=INT number of test searches --num-records=INT number of test records -a, --all (|(objectClass=*)(distinguishedName=*)) --nosync non-synchronous transactions -S, --sorted sort attributes -I, --input=Input Input File -O, --output=Output Output File -o=OPTION ldb_connect option --controls=STRING controls Help options: -?, --help Show this help message --usage Display brief usage message Common samba options: -d, --debuglevel=DEBUGLEVEL Set debug level --debug-stderr Send debug output to STDERR -s, --configfile=CONFIGFILE Use alternative configuration file --option=name=value Set smb.conf option from command line -l, --log-basename=LOGFILEBASE Basename for log/debug files --leak-report enable talloc leak reporting on exit --leak-report-full enable full talloc leak reporting on exit Authentication options: -U, --user=[DOMAIN/]USERNAME[%PASSWORD] Set the network username -N, --no-pass Don't ask for a password --password=STRING Password -A, --authentication-file=FILE Get the credentials from a file -P, --machine-pass Use stored machine account password (implies -k) --simple-bind-dn=STRING DN to use for a simple bind -k, --kerberos=STRING Use Kerberos Connection options: -R, --name-resolve=NAME-RESOLVE-ORDER Use these name resolution services only -O, --socket-options=SOCKETOPTIONS socket options to use -n, --netbiosname=NETBIOSNAME Primary netbios name -S, --signing=on|off|required Set the client signing state -W, --workgroup=WORKGROUP Set the workgroup name --realm=REALM Set the realm name -i, --scope=SCOPE Use this Netbios scope -m, --maxprotocol=MAXPROTOCOL Set max protocol level Common samba options: -V, --version Print version Breakpoint 3, displayArgs (con=0x110e9b0, foo=POPT_CALLBACK_REASON_OPTION, key=0xb54850, arg=0x0, data=0x82af98) at ../lib/popt/popthelp.c:34 34 exit(0); (gdb) p ((struct tevent_context *) 0x110e370)->debug_ops $21 = {debug = 0x469588 , context = 0x110e0c0} (gdb) p ((struct tevent_context *) 0x110e370)->pipe_fde $22 = (struct tevent_fd *) 0x110e430 (gdb) c Continuing. Program received signal SIGABRT, Aborted. 0x00000031aee32215 in raise (sig=) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 64 return INLINE_SYSCALL (tgkill, 3, pid, selftid, sig); (gdb) bt full #0 0x00000031aee32215 in raise (sig=) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 pid = selftid = #1 0x00000031aee33d83 in abort () at abort.c:88 act = Could not find the frame base for "abort". sigs = Could not find the frame base for "abort". #2 0x000000000082763e in talloc_abort (reason=0x8df500 "Bad talloc magic value - unknown value") at ../lib/talloc/talloc.c:151 No locals. #3 0x000000000082766f in talloc_abort_unknown_value () at ../lib/talloc/talloc.c:164 No locals. #4 0x0000000000827761 in talloc_chunk_from_ptr (ptr=0x469588) at ../lib/talloc/talloc.c:176 pp = 0x469588 "UH\211�H\203�PH\211}�\211u�H\211U�H\211M�H\213}�H\2155\216)<" tc = (struct talloc_chunk *) 0x469538 #5 0x000000000082834e in _talloc_free (ptr=0x469588) at ../lib/talloc/talloc.c:501 tc = (struct talloc_chunk *) 0x1110130 #6 0x0000000000828f8b in talloc_free (ptr=0x469588) at ../lib/talloc/talloc.c:974 No locals. #7 0x0000000000821bc9 in tevent_common_context_destructor (ev=0x110e370) at ../lib/tevent/tevent.c:150 fd = (struct tevent_fd *) 0x0 fn = (struct tevent_fd *) 0x31af167a00 te = (struct tevent_timer *) 0x7fff527c3170 tn = (struct tevent_timer *) 0x460fd0 ie = (struct tevent_immediate *) 0x7fff527c3ab0 in = (struct tevent_immediate *) 0x110e370 se = (struct tevent_signal *) 0x110e370 sn = (struct tevent_signal *) 0x110e320 #8 0x000000000082841a in _talloc_free (ptr=0x110e370) at ../lib/talloc/talloc.c:531 d = (talloc_destructor_t) 0x821ba3 tc = (struct talloc_chunk *) 0x110e320 #9 0x00000000008285f9 in _talloc_free (ptr=0x110e190) at ../lib/talloc/talloc.c:562 child = (void *) 0x110e370 new_parent = (const void *) 0x110e060 tc = (struct talloc_chunk *) 0x110e140 #10 0x000000000082a3c5 in talloc_autofree () at ../lib/talloc/talloc.c:1686 No locals. #11 0x00000031aee358ad in exit (status=) at exit.c:75 atfct = onfct = cxafct = old = #12 0x00000000004673af in displayArgs (con=0x110e9b0, foo=POPT_CALLBACK_REASON_OPTION, key=0xb54850, arg=0x0, data=0x82af98) at ../lib/popt/popthelp.c:34 No locals. #13 0x0000000000463a30 in invokeCallbacksOPTION (con=0x110e9b0, opt=0xb54850, myOpt=0xb54850, myData=0x82af98, shorty=0) at ../lib/popt/popt.c:143 cb = (poptCallbackType) 0x46734c cbData = (const void *) 0x82af98 cbopt = (const struct poptOption *) 0xb54820 #14 0x0000000000463921 in invokeCallbacksOPTION (con=0x110e9b0, opt=0x7fff527c34b0, myOpt=0xb54850, myData=0x82af98, shorty=0) at ../lib/popt/popt.c:122 cbopt = (const struct poptOption *) 0x0 #15 0x0000000000465cb0 in poptGetNextOpt (con=0x110e9b0) at ../lib/popt/popt.c:962 origOptString = 0x7fff527c55e4 "--help" canstrip = 0 cb = (poptCallbackType) 0x46734c cbData = (const void *) 0x82af98 longArg = 0x0 shorty = 0 opt = (const struct poptOption *) 0xb54850 done = 0 #16 0x0000000000462564 in ldb_cmdline_process (ldb=0x110e0c0, argc=2, argv=0x7fff527c3ab8, usage=0x461871 ) at lib/ldb/tools/cmdline.c:118 ret = (struct ldb_cmdline *) 0x110e920 pc = (poptContext) 0x110e9b0 r = 0 num_options = 0 opt = 4626207 flags = 0 popt_options = {{longName = 0x0, shortName = 0 '\0', argInfo = 4, arg = 0xb54820, val = 0, descrip = 0x82af98 "Help options:", argDescrip = 0x0}, { longName = 0x82afa6 "url", shortName = 72 'H', argInfo = 1, arg = 0xb5d6e0, val = 0, descrip = 0x82afaa "database URL", argDescrip = 0x82afb7 "URL"}, { longName = 0x82afbb "basedn", shortName = 98 'b', argInfo = 1, arg = 0xb5d6f0, val = 0, descrip = 0x82afc2 "base DN", argDescrip = 0x82afca "DN"}, { longName = 0x82afcd "editor", shortName = 101 'e', argInfo = 1, arg = 0xb5d708, val = 0, descrip = 0x82afd4 "external editor", argDescrip = 0x82afe4 "PROGRAM"}, { longName = 0x82afec "scope", shortName = 115 's', argInfo = 1, arg = 0x0, val = 115, descrip = 0x82aff2 "search scope", argDescrip = 0x82afff "SCOPE"}, { longName = 0x82b005 "verbose", shortName = 118 'v', argInfo = 0, arg = 0x0, val = 118, descrip = 0x82b00d "increase verbosity", argDescrip = 0x0}, { longName = 0x82b020 "interactive", shortName = 105 'i', argInfo = 0, arg = 0xb5d700, val = 0, descrip = 0x82b02c "input from stdin", argDescrip = 0x0}, { longName = 0x82b03d "recursive", shortName = 114 'r', argInfo = 0, arg = 0xb5d714, val = 0, descrip = 0x82b047 "recursive delete", argDescrip = 0x0}, { longName = 0x82b058 "modules-path", shortName = 0 '\0', argInfo = 1, arg = 0xb5d6f8, val = 0, descrip = 0x82b065 "modules path", argDescrip = 0x82b072 "PATH"}, { longName = 0x82b077 "num-searches", shortName = 0 '\0', argInfo = 2, arg = 0xb5d73c, val = 0, descrip = 0x82b084 "number of test searches", argDescrip = 0x0}, { longName = 0x82b09c "num-records", shortName = 0 '\0', argInfo = 2, arg = 0xb5d738, val = 0, descrip = 0x82b0a8 "number of test records", argDescrip = 0x0}, { longName = 0x82b0bf "all", shortName = 97 'a', argInfo = 0, arg = 0xb5d718, val = 0, descrip = 0x82b0c8 "(|(objectClass=*)(distinguishedName=*))", argDescrip = 0x0}, { longName = 0x82b0f0 "nosync", shortName = 0 '\0', argInfo = 0, arg = 0xb5d71c, val = 0, descrip = 0x82b0f7 "non-synchronous transactions", argDescrip = 0x0}, { longName = 0x82b114 "sorted", shortName = 83 'S', argInfo = 0, arg = 0xb5d704, val = 0, descrip = 0x82b11b "sort attributes", argDescrip = 0x0}, { longName = 0x82b12b "input", shortName = 73 'I', argInfo = 1, arg = 0xb5d748, val = 0, descrip = 0x82b131 "Input File", argDescrip = 0x82b13c "Input"}, { longName = 0x82b142 "output", shortName = 79 'O', argInfo = 1, arg = 0xb5d750, val = 0, descrip = 0x82b149 "Output File", argDescrip = 0x82b155 "Output"}, { longName = 0x0, shortName = 111 'o', argInfo = 1, arg = 0x0, val = 111, descrip = 0x82b15c "ldb_connect option", argDescrip = 0x82b16f "OPTION"}, { longName = 0x82b176 "controls", shortName = 0 '\0', argInfo = 1, arg = 0x0, val = 99, descrip = 0x82b176 "controls", argDescrip = 0x0}, {longName = 0x0, shortName = 0 '\0', argInfo = 4, arg = 0xb545c0, val = 0, descrip = 0x82b17f "Common samba options:", argDescrip = 0x0}, {longName = 0x0, shortName = 0 '\0', argInfo = 4, arg = 0xb54220, val = 0, descrip = 0x82b195 "Authentication options:", argDescrip = 0x0}, {longName = 0x0, shortName = 0 '\0', argInfo = 4, arg = 0xb543e0, val = 0, descrip = 0x82b1ad "Connection options:", argDescrip = 0x0}, {longName = 0x0, shortName = 0 '\0', argInfo = 4, arg = 0xb54780, val = 0, descrip = 0x82b17f "Common samba options:", argDescrip = 0x0}, {longName = 0x0, shortName = 0 '\0', argInfo = 0, arg = 0x0, val = 0, descrip = 0x0, argDescrip = 0x0}} options = {url = 0x0, scope = LDB_SCOPE_DEFAULT, basedn = 0x0, modules_path = 0x0, interactive = 0, sorted = 0, editor = 0x82b1fa "vi", verbose = 0, recursive = 0, all_records = 0, nosync = 0, options = 0x0, argc = 0, argv = 0x0, num_records = 0, num_searches = 0, sasl_mechanism = 0x0, input = 0x0, output = 0x0, controls = 0x0} #17 0x0000000000461940 in main (argc=2, argv=0x7fff527c3ab8) at lib/ldb/tools/ldbedit.c:294 ldb = (struct ldb_context *) 0x110e0c0 result = (struct ldb_result *) 0x0 basedn = (struct ldb_dn *) 0x0 ret = 0 expression = 0x82af08 "(|(objectClass=*)(distinguishedName=*))" attrs = (const char * const *) 0x0 (gdb)