Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-16615

Long database names will crash server during repair on mmapv1 when using directoryperdb

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 2.8.0-rc5
    • Affects Version/s: None
    • Component/s: Storage
    • Fully Compatible
    • ALL
    • Hide

      Start a fresh database with:
      ./mongod --directoryperdb
      and run in the shell:

      > use aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
      switched to db aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
      > db.u.insert({})
      WriteResult(

      { "nInserted" : 1 }

      )
      > db.runCommand(

      {repairDatabase: 1}

      )

      Show
      Start a fresh database with: ./mongod --directoryperdb and run in the shell: > use aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa switched to db aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa > db.u.insert({}) WriteResult( { "nInserted" : 1 } ) > db.runCommand( {repairDatabase: 1} )

      A document inserted into a mmapv1 database using directoryperdb with a sufficiently long name will terminate the server and cause a backtrace when repairDatabase is executed. This behavior was not observed under WiredTiger.

      2014-12-19T18:04:26.157-0500 I INDEX [conn1] build index on: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.u properties: { v: 1, key:

      { _id: 1 }

      , name: "id", ns: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.u" }
      2014-12-19T18:04:26.157-0500 I INDEX [conn1] building index using bulk method
      2014-12-19T18:04:26.157-0500 D STORAGE [conn1] aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.u: clearing plan cache - collection info cache reset
      2014-12-19T18:04:26.157-0500 D INDEX [conn1] bulk commit starting for index: id
      2014-12-19T18:04:26.157-0500 D INDEX [conn1] done building bottom layer, going to commit
      2014-12-19T18:04:26.157-0500 D STORAGE [conn1] aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.u: clearing plan cache - collection info cache reset
      2014-12-19T18:04:26.157-0500 D STORAGE [conn1] aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.u: clearing plan cache - collection info cache reset
      2014-12-19T18:04:26.158-0500 D JOURNAL [journal] _groupCommit
      2014-12-19T18:04:26.158-0500 D STORAGE [journal] flushing directory /data/db/journal
      2014-12-19T18:04:26.162-0500 D STORAGE [journal] flushing directory /data/db/journal
      2014-12-19T18:04:26.177-0500 D JOURNAL [journal] lsn set 13651
      2014-12-19T18:04:26.177-0500 D JOURNAL [journal] journal WRITETODATAFILES 1
      2014-12-19T18:04:26.177-0500 I JOURNAL [journal] problem processing journal file during recovery
      2014-12-19T18:04:26.177-0500 I JOURNAL [journal] unhandled exception in durThread causing immediate shutdown
      2014-12-19T18:04:26.177-0500 F COMMAND [journal] unhandled exception in durThread
      2014-12-19T18:04:26.184-0500 F - [journal] Got signal: 6 (Aborted).

      0x19a1e53 0x19a1d15 0x19a1823 0x7f7a015ae550 0x7f7a015ae4c9 0x7f7a015af958 0x136ef84 0x16d309d 0x1596cc6 0x19e9084 0x7f7a022be0db 0x7f7a0166058d
      ----- BEGIN BACKTRACE -----
      {"backtrace":[

      {"b":"400000","o":"15A1E53"}

      ,

      {"b":"400000","o":"15A1D15"}

      ,

      {"b":"400000","o":"15A1823"}

      ,

      {"b":"7F7A01579000","o":"35550"}

      ,

      {"b":"7F7A01579000","o":"354C9"}

      ,

      {"b":"7F7A01579000","o":"36958"}

      ,

      {"b":"400000","o":"F6EF84"}

      ,

      {"b":"400000","o":"12D309D"}

      ,

      {"b":"400000","o":"1196CC6"}

      ,

      {"b":"400000","o":"15E9084"}

      ,

      {"b":"7F7A022B6000","o":"80DB"}

      ,

      {"b":"7F7A01579000","o":"E758D"}

      ],"processInfo":{ "mongodbVersion" : "2.8.0-rc4-pre-", "gitVersion" : "e7b514171c2bfbd6029e9cfc5daf3ac2a699e293 modules: subscription", "uname" :

      { "sysname" : "Linux", "release" : "3.17.4-2.g2d23787-desktop", "version" : "#1 SMP PREEMPT Tue Nov 25 20:17:30 UTC 2014 (2d23787)", "machine" : "x86_64" }

      , "somap" : [

      { "elfType" : 2, "b" : "400000", "buildId" : "127F808698F4CA62F7627FF75D7EA3C5A552321D" }

      ,

      { "b" : "7FFF925FE000", "path" : "linux-vdso.so.1", "elfType" : 3, "buildId" : "6B2E43D38205BED52DFAD1887AC63806A7345757" }

      ,

      { "b" : "7F7A04456000", "path" : "/usr/lib64/libsasl2.so.2", "elfType" : 3, "buildId" : "BE3019C7B6BB3BB0312613871673857E98EBF34E" }

      ,

      { "b" : "7F7A03F9E000", "path" : "/usr/lib64/libnetsnmpmibs.so.30", "elfType" : 3, "buildId" : "6BAB066098313A5B6F6E503B3E5CA738EC00A3EF" }

      ,

      { "b" : "7F7A03D8F000", "path" : "/usr/lib64/libsensors.so.4", "elfType" : 3, "buildId" : "FB719500964D1833D52CE8DD730849E89D96BA05" }

      ,

      { "b" : "7F7A03B8B000", "path" : "/lib64/libdl.so.2", "elfType" : 3, "buildId" : "666913EC064C25FDE1720DB77B1F57BDEB5D9B3A" }

      ,

      { "b" : "7F7A037B7000", "path" : "/usr/lib64/librpm.so.3", "elfType" : 3, "buildId" : "038922E310A8B00BE9E9BA564CDAA47C87A184AA" }

      ,

      { "b" : "7F7A03566000", "path" : "/usr/lib64/librpmio.so.3", "elfType" : 3, "buildId" : "B42C339BCC9D9CB51416716F080F1A32013C92BC" }

      ,

      { "b" : "7F7A032F7000", "path" : "/usr/lib64/libnetsnmpagent.so.30", "elfType" : 3, "buildId" : "AB25E6A40B2BFE5F7EE213E271A496F7724A5821" }

      ,

      { "b" : "7F7A030EC000", "path" : "/lib64/libwrap.so.0", "elfType" : 3, "buildId" : "1B986139DE9922CBAD77FD86BBBEDD752844FEAF" }

      ,

      { "b" : "7F7A02E09000", "path" : "/usr/lib64/libnetsnmp.so.30", "elfType" : 3, "buildId" : "B7518EBA89C271B322A57A42E3427E52AF54EB74" }

      ,

      { "b" : "7F7A02A1D000", "path" : "/lib64/libcrypto.so.1.0.0", "elfType" : 3, "buildId" : "D781931A27CC80C55A27B8448944BA7F5B0C3E08" }

      ,

      { "b" : "7F7A0271A000", "path" : "/lib64/libm.so.6", "elfType" : 3, "buildId" : "35D35D9CE781BE3A140A34242D998498615B021F" }

      ,

      { "b" : "7F7A024D4000", "path" : "/usr/lib64/libgssapi_krb5.so.2", "elfType" : 3, "buildId" : "4500EFC6B03F2515A34C8CBFFEB536EAB625BFFA" }

      ,

      { "b" : "7F7A022B6000", "path" : "/lib64/libpthread.so.0", "elfType" : 3, "buildId" : "24A941B6C85E244BD2E4906928DC17AB63B0A38A" }

      ,

      { "b" : "7F7A0204E000", "path" : "/lib64/libssl.so.1.0.0", "elfType" : 3, "buildId" : "44F5AFDAB585C00E3E94A89882CBFDB9BAA60F06" }

      ,

      { "b" : "7F7A01E46000", "path" : "/lib64/librt.so.1", "elfType" : 3, "buildId" : "0913D5EA4659CFA3FFAD451ACC84A6ED62772141" }

      ,

      { "b" : "7F7A01B3E000", "path" : "/usr/lib64/libstdc++.so.6", "elfType" : 3, "buildId" : "893844CE9810835B76559F6EC3DC5A15E0D32A00" }

      ,

      { "b" : "7F7A01927000", "path" : "/lib64/libgcc_s.so.1", "elfType" : 3, "buildId" : "26253BEC1076626F73B8B13BED9510AE626E1EAD" }

      ,

      { "b" : "7F7A01579000", "path" : "/lib64/libc.so.6", "elfType" : 3, "buildId" : "71DBBED0200919BA751AD20A545B9266258CD5E5" }

      ,

      { "b" : "7F7A04673000", "path" : "/lib64/ld-linux-x86-64.so.2", "elfType" : 3, "buildId" : "AFA98667969782208459E394F8C8F87AC7510710" }

      ,

      { "b" : "7F7A0136D000", "path" : "/usr/lib64/libpopt.so.0", "elfType" : 3, "buildId" : "006D8E514AC130530294E6CFF5D8F77900DF869B" }

      ,

      { "b" : "7F7A01149000", "path" : "/lib64/libselinux.so.1", "elfType" : 3, "buildId" : "E2BBA1E6E7493C181AB4DA9F2C771C8DB0875872" }

      ,

      { "b" : "7F7A00F44000", "path" : "/lib64/libcap.so.2", "elfType" : 3, "buildId" : "6F5E67B736B349EBE34CC2196BD4342736278777" }

      ,

      { "b" : "7F7A00D3B000", "path" : "/lib64/libacl.so.1", "elfType" : 3, "buildId" : "684353207FA9BBA104A505EA9577DD10D74B9B51" }

      ,

      { "b" : "7F7A00B0B000", "path" : "/usr/lib64/liblua.so.5.1", "elfType" : 3, "buildId" : "8A9137F7CB106BDC6A51591F03AADABADB2088F9" }

      ,

      { "b" : "7F7A008FC000", "path" : "/usr/lib64/libbz2.so.1", "elfType" : 3, "buildId" : "0B6B84C801AD3C496B90FDA2D310259CEF812099" }

      ,

      { "b" : "7F7A006E6000", "path" : "/lib64/libz.so.1", "elfType" : 3, "buildId" : "9E815EF41BF59451F1855B91195B2124E2A95F9E" }

      ,

      { "b" : "7F7A004D0000", "path" : "/usr/lib64/libelf.so.1", "elfType" : 3, "buildId" : "984C530D8F881257D517CE19FCD80841F2230D80" }

      ,

      { "b" : "7F7A002AA000", "path" : "/usr/lib64/liblzma.so.5", "elfType" : 3, "buildId" : "8F2CBB2A0E341BEF4D5116EEDE8A83465DE6CA4B" }

      ,

      { "b" : "7F79FFF17000", "path" : "/usr/lib/perl5/5.18.1/x86_64-linux-thread-multi/CORE/libperl.so", "elfType" : 3, "buildId" : "217B4A7EA7DF2A7B46BC93993FD7630EC1175D0C" }

      ,

      { "b" : "7F79FFC48000", "path" : "/usr/lib64/libkrb5.so.3", "elfType" : 3, "buildId" : "43FCBEA839B52BDA91D5CC00AFA9EC4AE0E324DC" }

      ,

      { "b" : "7F79FFA15000", "path" : "/usr/lib64/libk5crypto.so.3", "elfType" : 3, "buildId" : "3EA89068D8F8FEE53C767950C64293B4D678FF61" }

      ,

      { "b" : "7F79FF811000", "path" : "/lib64/libcom_err.so.2", "elfType" : 3, "buildId" : "94324D6C48D39D04069706D01E6AF2D5D4429385" }

      ,

      { "b" : "7F79FF604000", "path" : "/usr/lib64/libkrb5support.so.0", "elfType" : 3, "buildId" : "BC48F2A6DC84F7475BCD61857A742D8F2FE27139" }

      ,

      { "b" : "7F79FF39E000", "path" : "/usr/lib64/libpcre.so.1", "elfType" : 3, "buildId" : "EF846533CF9AA9F40966FF8F2C1D120F1847BB45" }

      ,

      { "b" : "7F79FF199000", "path" : "/lib64/libattr.so.1", "elfType" : 3, "buildId" : "B6C7F251CBA059292F8892B74F4D2C167665C785" }

      ,

      { "b" : "7F79FEF5E000", "path" : "/lib64/libcrypt.so.1", "elfType" : 3, "buildId" : "355B60D4EFA51BB76FF03EB56A0986F555755453" }

      ,

      { "b" : "7F79FED5A000", "path" : "/lib64/libkeyutils.so.1", "elfType" : 3, "buildId" : "8EEA8B23F6DF125C66129A2DB29614A38300B77A" }

      ,

      { "b" : "7F79FEB43000", "path" : "/lib64/libresolv.so.2", "elfType" : 3, "buildId" : "799562EB36D9479DF11B4BB13D8C29D852484FE8" }

      ] }}
      mongod(_ZN5mongo15printStackTraceERSo+0x23) [0x19a1e53]
      mongod(+0x15A1D15) [0x19a1d15]
      mongod(+0x15A1823) [0x19a1823]
      libc.so.6(+0x35550) [0x7f7a015ae550]
      libc.so.6(gsignal+0x39) [0x7f7a015ae4c9]
      libc.so.6(abort+0x148) [0x7f7a015af958]
      mongod(_ZN5mongo10mongoAbortEPKc+0x64) [0x136ef84]
      mongod(+0x12D309D) [0x16d309d]
      mongod(_ZN5boost6detail11thread_dataIPFvvEE3runEv+0x16) [0x1596cc6]
      mongod(+0x15E9084) [0x19e9084]
      libpthread.so.0(+0x80DB) [0x7f7a022be0db]
      libc.so.6(clone+0x6D) [0x7f7a0166058d]
      ----- END BACKTRACE -----

            Assignee:
            spencer.jackson@mongodb.com Spencer Jackson
            Reporter:
            spencer.jackson@mongodb.com Spencer Jackson
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: