Summary: | svn падает на update при большой вложенности каталогов | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Denis Smirnov <mithraen> |
Component: | subversion | Assignee: | Sviatoslav Sviridov <svd> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | critical | ||
Priority: | P2 | CC: | cas, ender, shrek |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux |
Description
Denis Smirnov
2005-08-12 16:18:52 MSD
А можно тесткейс как получить такой segfault? И если не сложно - можете закинуть в апстим? Тесткейс элементарный: #!/bin/sh mkdir 1 svnadmin create 1 mkdir 2 svn co file://`realpath 1` 2 mkdir -p 2/1/2/3/4/5/6/7/8/9/10/11/12 svn add 2/1 svn commit -m '' 2 svn co file://`realpath 1` 3 кинуть в апстрим не могу. На 1.2.0 проявляется, на 1.2.1 не проявляется. Похоже, придется закидывать в сизиф 1.2.1 с оторванными perl-bindings... Кстати, на 1.2.1 есть более другие баги, проявляющиеся при больших уровнях вложенности: 1. при слишком больших уровнях вложенности svn не может прочитать собственный файл описания изменения в транзакции (во время коммита): svn: Commit failed (details follow): svn: Can't read length line in file '<censored>/1/db/transactions/0-1.txn/node._7t.0' (обламывается на уровне 282) 2. Если 1й баг не проявляется (например, при 280 вложенных каталогах), то во время собсно коммита память кушается нещадно. Для коммита используется вся память и своп на машине с 384М RAM + 128M swap. Но данне баги, думаю, пока можно считать минорными. =====#!/bin/sh mkdir 1 svnadmin create 1 mkdir 2 svn co file://`realpath 1` 2 DIRS=`seq 1 285|xargs echo|tr ' ' '/'` mkdir -p "2/$DIRS" svn add 2/1 svn commit -m '' 2 svn co file://`realpath 1` 3 ========= Исправлено в 1.2.1-alt1 А.. Ну глюки при уровне вложенности больше нескольких десятков как-то мало волнуют :) |