Bug 4441 - smbtorture dies while testing false expression
smbtorture dies while testing false expression
Status: RESOLVED WORKSFORME
Product: Samba 4.0
Classification: Unclassified
Component: Other
unspecified
x86 Linux
: P3 normal
: ---
Assigned To: Andrew Bartlett
Andrew Bartlett
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2007-03-08 18:39 UTC by Yves Junqueira
Modified: 2008-01-07 00:35 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Yves Junqueira 2007-03-08 18:39:44 UTC
Testing a false expression
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
INTERNAL ERROR: Signal 11 in pid 17512 (4.0.0tp5-SVN-build-21761)
Please read the file BUGS.txt in the distribution
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
PANIC: internal error
BACKTRACE: 18 stack frames:
 #0 smbtorture(call_backtrace+0x2b) [0x88c6f7f]
 #1 smbtorture(smb_panic+0x21e) [0x88c724c]
 #2 smbtorture [0x88c739f]
 #3 smbtorture [0x88c73d4]
 #4 [0xb7f81420]
 #5 smbtorture(convert_string+0xd1) [0x88d0482]
 #6 smbtorture(d_vfprintf+0xb8) [0x88c90f8]
 #7 smbtorture(d_printf+0x4c) [0x88c9311]
 #8 smbtorture [0x80c368c]
 #9 smbtorture(torture_ldap_schema+0xd4) [0x80c4372]
 #10 smbtorture [0x80be413]
 #11 smbtorture [0x80bdf20]
 #12 smbtorture(torture_run_tcase+0xfa) [0x80be125]
 #13 smbtorture(torture_run_suite+0xc4) [0x80bdc22]
 #14 smbtorture [0x80bb928]
 #15 smbtorture(main+0xb5b) [0x80bd304]
 #16 /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xc8) [0xb7e11ea8]
 #17 smbtorture [0x80bb5c1]
Comment 1 Yves Junqueira 2007-03-08 19:00:10 UTC
I could not reproduce this very well. Please ignore until I provide more details.
Comment 2 Yves Junqueira 2007-03-15 23:25:52 UTC
(In reply to comment #1)
> I could not reproduce this very well. Please ignore until I provide more
> details.
> 

I could reproduce it with the following command:

smbtorture -U administrator%<pass> ncacn_ip_tcp:yves.k ALL

this is the full backtrace:

Testing a false expression

Program received signal SIGSEGV, Segmentation fault.
0x7069702f in ?? ()
(gdb) bt full
#0  0x7069702f in ?? ()
No symbol table info available.
#1  0x088cf63b in smb_iconv (cd=0x8a88c50, inbuf=0xbfe3cff0, inbytesleft=0xbfe3cff8, outbuf=0xbfe3cfec,
    outbytesleft=0xbfe3cff4) at lib/charset/iconv.c:144
        bufp1 = 0xbfe3c7d2 ""
        bufp2 = 0xbfe3c7a4 "T"
        cvtbuf = "T\000e\000s\000t\000i\000n\000g\000 \000R\000o\000o\000t\000D\000S\000E\000 \000S\000e\000a\000r\000c\000h\000\n\000\000\000\000\000\000\000/\000\000\0005���xq�\bD�Y\bh����f\215\b\000�3\n\f���\020", '\0' <repeats 23 times>, "�\005�����\234�e@a\200\002\000\000\000\000\000\000\206\204�\214�����&\006�\000\000\000\000\200\000\000\000����\000\000\000\000\000\000\000\000�G�\b", '\0' <repeats 12 times>, "T���\000\000\000\000\200\002\000\000\000\000\000\000\001\000\000\000�\210���\205��\000�3\n\210���\210��"...
        bufsize = 46
#2  0x088d0ba6 in convert_string (from=CH_UNIX, to=CH_DISPLAY, src=0x8acf0c8, srclen=23, dest=0xa339598, destlen=46)
    at lib/charset/charcnv.c:164
        i_len = 0
        o_len = 46
        retval = 3219378200
        inbuf = 0x8acf0df ""
        outbuf = 0xa339598 "xI<\n"
        descriptor = (smb_iconv_t) 0x8a88c50
        __FUNCTION__ = "convert_string"
#3  0x088c9754 in d_vfprintf (f=0xb7ed73a0, format=0x88de08c "Testing RootDSE Search\n",
    ap=0xbfe3d0a4 "0><\n����z�a\b`><\n\v�a\b`\0203\n") at lib/util/dprintf.c:57
        p = 0x8acf0c8 "Testing RootDSE Search\n"
        p2 = 0xa339598 "xI<\n"
        ret = 23
        maxlen = 46
        clen = 143492531
        ap2 = 0xbfe3d0a4 "0><\n����z�a\b`><\n\v�a\b`\0203\n"
#4  0x088c996d in d_printf (format=0x88de08c "Testing RootDSE Search\n") at lib/util/dprintf.c:113
        ret = 171720288
        ap = 0xbfe3d0a4 "0><\n����z�a\b`><\n\v�a\b`\0203\n"
#5  0x080c368c in test_search_rootDSE (ldb=0xa3c3e60, root=0xbfe3d120) at torture/ldap/schema.c:57
        ret = 171720288
        msg = (struct ldb_message *) 0x0
        r = (struct ldb_result *) 0xbfe3d0f8
---Type <return> to continue, or q <return> to quit---
#6  0x080c4372 in torture_ldap_schema (torture=0x8a5b3c0) at torture/ldap/schema.c:384
        ldb = (struct ldb_context *) 0xa3c3e60
        ret = true
        host = 0x8a4a408 "yves.k"
        url = 0xa331018 "ldap://yves.k/"
        rootDSE = {defaultdn = 0x0, rootdn = 0x0, configdn = 0x0, schemadn = 0x0}
        schema = (struct dsdb_schema *) 0x0
#7  0x080be413 in wrap_simple_test (torture_ctx=0x8a5b3c0, tcase=0x8a49ba8, test=0x8a49c40) at torture/ui.c:385
        fn = (_Bool (*)(struct torture_context *)) 0x80c429e <torture_ldap_schema>
#8  0x080bdf20 in internal_torture_run_test (context=0x8a5b3c0, tcase=0x8a49ba8, test=0x8a49c40, already_setup=true)
    at torture/ui.c:243
        ret = 191
        old_testname = 0xa2d0970 "LDAP-SCHEMA"
#9  0x080be125 in torture_run_tcase (context=0x8a5b3c0, tcase=0x8a49ba8) at torture/ui.c:290
        ret = true
        old_testname = 0x8a92840 "LDAP"
        test = (struct torture_test *) 0x8a49c40
#10 0x080bdc22 in torture_run_suite (context=0x8a5b3c0, suite=0x8a49788) at torture/ui.c:161
        ret = true
        tcase = (struct torture_tcase *) 0x8a49ba8
        tsuite = (struct torture_suite *) 0x0
        old_testname = 0x0
#11 0x080bb928 in run_test (torture=0x8a5b3c0, name=0xbfe3d9b5 "ALL") at torture/smbtorture.c:111
        ret = false
        matched = false
        o = (struct torture_suite *) 0x8a49788
#12 0x080bd304 in main (argc=5, argv=0xbfe3d664) at torture/smbtorture.c:684
        opt = -1
        i = 2
        correct = true
        max_runtime = 0
        argc_new = 3
        torture = (struct torture_context *) 0x8a5b3c0
        ui_ops = (const struct torture_ui_ops *) 0x8a08020
        argv_new = (char **) 0x8a251a0
        pc = (poptContext) 0x8a25008
---Type <return> to continue, or q <return> to quit---
        binding_struct = (struct dcerpc_binding *) 0x8a5b248
        status = {v = 0}
        shell = 0
        long_options = {{longName = 0x0, shortName = 0 '\0', argInfo = 4, arg = 0x8a1d660, val = 0,
    descrip = 0x88db750 "Help options:", argDescrip = 0x0}, {longName = 0x88db75e "format", shortName = 0 '\0',
    argInfo = 1, arg = 0x8a174ec, val = 0, descrip = 0x88db768 "Output format (one of: simple, subunit, harness)",
    argDescrip = 0x0}, {longName = 0x88db799 "smb-ports", shortName = 112 'p', argInfo = 1, arg = 0x0, val = 1006,
    descrip = 0x88db7a3 "SMB ports", argDescrip = 0x0}, {longName = 0x88db7ad "basedir", shortName = 0 '\0', argInfo = 1,
    arg = 0x0, val = 1009, descrip = 0x88db7b5 "base directory", argDescrip = 0x88db7c4 "BSAEDIR"}, {
    longName = 0x88db7cc "seed", shortName = 0 '\0', argInfo = 2, arg = 0x8a231a0, val = 0, descrip = 0x88db7cc "seed",
    argDescrip = 0x0}, {longName = 0x88db7d1 "num-progs", shortName = 0 '\0', argInfo = 2, arg = 0x0, val = 1008,
    descrip = 0x88db7db "num progs", argDescrip = 0x0}, {longName = 0x88db7e5 "num-ops", shortName = 0 '\0', argInfo = 2,
    arg = 0x8a174f4, val = 0, descrip = 0x88db7ed "num ops", argDescrip = 0x0}, {longName = 0x88db7f5 "entries",
    shortName = 0 '\0', argInfo = 2, arg = 0x8a174f8, val = 0, descrip = 0x88db7f5 "entries", argDescrip = 0x0}, {
    longName = 0x88db7fd "loadfile", shortName = 0 '\0', argInfo = 1, arg = 0x0, val = 1000,
    descrip = 0x88db7fd "loadfile", argDescrip = 0x0}, {longName = 0x88db806 "list", shortName = 0 '\0', argInfo = 0,
    arg = 0x8a22d84, val = 0, descrip = 0x0, argDescrip = 0x0}, {longName = 0x88db80b "unclist", shortName = 0 '\0',
    argInfo = 1, arg = 0x0, val = 1001, descrip = 0x88db80b "unclist", argDescrip = 0x0}, {
    longName = 0x88db813 "timelimit", shortName = 116 't', argInfo = 2, arg = 0x0, val = 1002,
    descrip = 0x88db813 "timelimit", argDescrip = 0x0}, {longName = 0x88db81d "failures", shortName = 102 'f', argInfo = 2,
    arg = 0x8a174fc, val = 0, descrip = 0x88db81d "failures", argDescrip = 0x0}, {longName = 0x88db826 "parse-dns",
    shortName = 68 'D', argInfo = 1, arg = 0x0, val = 1003, descrip = 0x88db826 "parse-dns", argDescrip = 0x0}, {
    longName = 0x88db830 "dangerous", shortName = 88 'X', argInfo = 0, arg = 0x0, val = 1005,
    descrip = 0x88db83c "run dangerous tests (eg. wiping out password database)", argDescrip = 0x0}, {
    longName = 0x88db873 "shell", shortName = 0 '\0', argInfo = 0, arg = 0xbfe3d598, val = 1,
    descrip = 0x88db879 "Run shell", argDescrip = 0x0}, {longName = 0x88db883 "target", shortName = 84 'T', argInfo = 1,
    arg = 0x8a174f0, val = 0, descrip = 0x88db88a "samba3|samba4|other", argDescrip = 0x0}, {longName = 0x88db89e "async",
    shortName = 97 'a', argInfo = 0, arg = 0x0, val = 1007, descrip = 0x88db8a4 "run async tests", argDescrip = 0x0}, {
    longName = 0x88db8b4 "num-async", shortName = 0 '\0', argInfo = 2, arg = 0x8a17500, val = 0,
    descrip = 0x88db8c0 "number of simultaneous async requests", argDescrip = 0x0}, {
    longName = 0x88db8e6 "maximum-runtime", shortName = 0 '\0', argInfo = 2, arg = 0xbfe3d5a4, val = 0,
    descrip = 0x88db8f8 "set maximum time for smbtorture to live", argDescrip = 0x88db920 "seconds"}, {longName = 0x0,
    shortName = 0 '\0', argInfo = 4, arg = 0x8a1d0a0, val = 0, descrip = 0x88db928 "Common samba options:",
    argDescrip = 0x0}, {longName = 0x0, shortName = 0 '\0', argInfo = 4, arg = 0x8a1cfa0, val = 0,
    descrip = 0x88db93e "Connection options:", argDescrip = 0x0}, {longName = 0x0, shortName = 0 '\0', argInfo = 4,
    arg = 0x8a1d520, val = 0, descrip = 0x88db952 "Authentication options:", argDescrip = 0x0}, {longName = 0x0,
---Type <return> to continue, or q <return> to quit---
    shortName = 0 '\0', argInfo = 4, arg = 0x8a1d1a0, val = 0, descrip = 0x88db928 "Common samba options:",
    argDescrip = 0x0}, {longName = 0x0, shortName = 0 '\0', argInfo = 0, arg = 0x0, val = 0, descrip = 0x0,
    argDescrip = 0x0}}
        target = 0x88db74a "other"
        ui_ops_name = 0x88db743 "simple"
        list_tests = 0



Since the there were recent changes to the code, I'll check to see if it still applies as of today
Comment 3 Andrew Bartlett 2007-07-16 23:13:37 UTC
I think this is an issue in the iconv() code, and something going very wrong with the conversion into your 'display charset'.

What localle are you using?  Can you reproduce this issue under valgrind?
Comment 4 Andrew Bartlett 2008-01-07 00:35:44 UTC
Without enough details for what might be wrong, I'll have to close this.