{"thread":{"id":"27460","subject":"git dies with sigseg due to enless recursion on broken repo","startedAt":"2011-05-26T01:33:16Z","lastAt":"2011-05-26T01:33:16Z","messageCount":1,"participants":["Jörg Sommer"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"168740","messageId":"20110526013316.GA22589@alea.gnuu.de","threadId":"27460","inReplyTo":null,"subject":"git dies with sigseg due to enless recursion on broken repo","fromName":"Jörg Sommer","fromEmail":"joerg@alea.gnuu.de","sentAt":"2011-05-26T01:33:16Z","receivedAt":"2011-05-26T01:33:16Z","isPatch":false,"sender":{"key":"joerg@alea.gnuu.de","avatar":null},"body":"Hi,\n\nI've a broken repository which causes git goes into an endless recursion\nuntil it gets a segmentation fault. I can reproduce this problem with\nversion 1.7.5.2.353.g5df3e.\n\n% gdb -batch -ex \"run --git-dir=$HOME/broken-git fsck\" -ex bt\\ full git\n\n[Thread debugging using libthread_db enabled]\n\nProgram received signal SIGSEGV, Segmentation fault.\nuse_pack (p=Cannot access memory at address 0xbf7ffff8\n) at sha1_file.c:837\n837     {\n#0  use_pack (p=Cannot access memory at address 0xbf7ffff8\n) at sha1_file.c:837\n        win = <error reading variable win (Cannot access memory at address 0xbf7fffd8)>\n#1  0x10140290 in get_delta_base (p=0x10222470, w_curs=0xbf800140, curpos=0xbf800100, type=OBJ_REF_DELTA, delta_o\n        base_info = 0x0\n        base_offset = 0\n#2  0x1014131c in unpack_delta_entry (p=0x10222470, w_curs=0xbf800140, curpos=13082, delta_size=7, obj_offset=130\n        delta_data = 0xbf800120\n        result = 0x10140720\n        base = 0x48054319\n        base_size = 1208304409\n        base_offset = -4647713764261494296\n#3  0x1014173c in unpack_entry (p=0x10222470, obj_offset=13081, type=0xbfffe1a8, sizep=0xbf8001e8) at sha1_file.c\n        w_curs = 0x1021a570\n        curpos = 13082\n        data = 0x48021018\n#4  0x10140e48 in cache_or_unpack_entry (p=0x10222470, base_offset=13081, base_size=0xbf8001e8, type=0xbfffe1a8, \n        ret = 0x0\n        hash = 2\n        ent = 0x10201388\n#5  0x10141394 in unpack_delta_entry (p=0x10222470, w_curs=0xbf800240, curpos=13102, delta_size=7, obj_offset=130\n        delta_data = 0xbf800220\n        result = 0x10140720\n        base = 0x48054319\n        base_size = 7\n        base_offset = 13081\n#6  0x1014173c in unpack_entry (p=0x10222470, obj_offset=13081, type=0xbfffe1a8, sizep=0xbf8002e8) at sha1_file.c\n        w_curs = 0x0\n        curpos = 13082\n        data = 0x48021018\n#7  0x10140e48 in cache_or_unpack_entry (p=0x10222470, base_offset=13081, base_size=0xbf8002e8, type=0xbfffe1a8, \n        ret = 0x0\n        hash = 2\n        ent = 0x10201388\n#8  0x10141394 in unpack_delta_entry (p=0x10222470, w_curs=0xbf800340, curpos=13102, delta_size=7, obj_offset=130\n        delta_data = 0xbf800320\n        result = 0x10140720\n        base = 0x48054319\n        base_size = 7\n        base_offset = 13081\n#9  0x1014173c in unpack_entry (p=0x10222470, obj_offset=13081, type=0xbfffe1a8, sizep=0xbf8003e8) at sha1_file.c\n        w_curs = 0x0\n        curpos = 13082\n        data = 0x48021018\n#10 0x10140e48 in cache_or_unpack_entry (p=0x10222470, base_offset=13081, base_size=0xbf8003e8, type=0xbfffe1a8, \n        ret = 0x0\n        hash = 2\n        ent = 0x10201388\n#11 0x10141394 in unpack_delta_entry (p=0x10222470, w_curs=0xbf800440, curpos=13102, delta_size=7, obj_offset=130\n        delta_data = 0xbf800420\n        result = 0x10140720\n        base = 0x48054319\n        base_size = 7\n        base_offset = 13081\n#12 0x1014173c in unpack_entry (p=0x10222470, obj_offset=13081, type=0xbfffe1a8, sizep=0xbf8004e8) at sha1_file.c\n        w_curs = 0x0\n        curpos = 13082\n        data = 0x48021018\n#13 0x10140e48 in cache_or_unpack_entry (p=0x10222470, base_offset=13081, base_size=0xbf8004e8, type=0xbfffe1a8, \n        ret = 0x0\n        hash = 2\n        ent = 0x10201388\n#14 0x10141394 in unpack_delta_entry (p=0x10222470, w_curs=0xbf800540, curpos=13102, delta_size=7, obj_offset=130\n        delta_data = 0xbf800520\n        result = 0x10140720\n        base = 0x48054319\n        base_size = 7\n        base_offset = 13081\n#15 0x1014173c in unpack_entry (p=0x10222470, obj_offset=13081, type=0xbfffe1a8, sizep=0xbf8005e8) at sha1_file.c\n        w_curs = 0x0\n        curpos = 13082\n        data = 0x48021018\n#16 0x10140e48 in cache_or_unpack_entry (p=0x10222470, base_offset=13081, base_size=0xbf8005e8, type=0xbfffe1a8, \n        ret = 0x0\n        hash = 2\n        ent = 0x10201388\n\nThere are more than 133205 stack frames.\n\nThe problem is, this repository contains private data. I don't want to\nput it in public, but I would send it to someone in the hope he doesn't\nexpose its contents. Or you tell me, what you are interested in and I dig\nfor it.\n\nBye, Jörg.\n-- \nNichts ist so langweilig, wie die Wiederholung seinerselbst.\n                                        (Marcel Reich‐Ranicki)\n"}]}