Bug 2873

Summary: Зависает extrac32 при распаковке cab-файлов с повторяющимися названиями
Product: [Сторонние программы (Other programs)] Windows Reporter: Vitaly Lipatov <lav>
Component: ПрограммыAssignee: Сергей Тимушев <tsergey>
Status: CLOSED WORKSFORME QA Contact: Дмитрий Галочкин <dm>
Severity: minor    
Priority: P4 CC: baraka, mibori, vitperov
Version: не указана   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on:    
Bug Blocks: 5101, 8900    
Deadline: 2013-05-20   
Attachments: Волшебный cab

Description Vitaly Lipatov 2008-11-11 11:02:46 MSK
В cab-файле дистрибутива обновления некоторые файлы повторяются (имея названия в разных регистрах), например BP.res и bp.res.
Ошибку при установке в Windows это каким-то образом не вызывает.
Comment 1 Vitaly Lipatov 2008-11-11 14:24:44 MSK
Дополнительно выяснено, что файлы эти имеют разный размер (содержание), например
распакованное 7z: BP.res - 12288b, bp.res - 11776b
Comment 2 Anton Rudnev 2008-11-11 14:54:38 MSK
При попытке распаковать Data1.cab под Windows через extrac32 /E Data1.cab
наблюдается сначала частичная распаковка, а потом зависание посередине процесса.
Зависание сопровождается использованием CPU на 100%
Comment 3 Anton Rudnev 2008-11-11 15:16:02 MSK
Created attachment 880 [details]
Волшебный cab

Кабинет файл a.cab
Внутри BP.res и bp.res

Делается такой файл так:
[mibori@server oh]$ wwxp cabarc.exe n a.cab BP.res bp.res

Microsoft (R) Cabinet Tool - Version 1.00.0601 (03/18/97)
Copyright (c) Microsoft Corp 1996-1997. All rights reserved.

Creating new cabinet 'a.cab' with compression 'MSZIP':
0x8000080
  -- adding BP.res
  -- adding bp.res

Completed successfully
[mibori@server oh]$
Comment 4 Anton Rudnev 2008-11-11 15:26:33 MSK
(In reply to comment #3)
> Created an attachment (id=880) [details]
> Волшебный cab

попытка распаковать его в Windows через extrac32 /E a.cab вызывает аналогичное зависание.
Comment 5 Anton Rudnev 2008-11-11 15:29:31 MSK
> попытка распаковать его в Windows через extrac32 /E
> a.cab вызывает аналогичное зависание.

перед зависанием распакованным файлом является BP.res 

Comment 6 Anton Rudnev 2008-11-11 16:24:10 MSK
если такой файл сделать с обратным следованием файлов:
[mibori@server nyah]$ [mibori@server oh]$ wwxp cabarc.exe n a.cab bp.res BP.res

Microsoft (R) Cabinet Tool - Version 1.00.0601 (03/18/97)
Copyright (c) Microsoft Corp 1996-1997. All rights reserved.

Creating new cabinet 'a.cab' with compression 'MSZIP':
  -- adding bp.res
  -- adding BP.res

Completed successfully

, то перед зависанием распаковывается bp.res

т. е. кабинет распаковывается в порядке его запаковки.
Comment 7 Anton Rudnev 2008-11-11 16:31:45 MSK
и, наконец, кабинет, созданный, без ситуации существования одноименных файлов, распаковывается по виндой нормально.

Comment 8 Виталий Перов 2011-06-28 16:26:14 MSK
Откатил патч к данной баге:

commit e83b74d7248cf4f088fe39f7dda7410e2491bc0e
Author: Anton Rudnev <mibori@etersoft.ru>
Date:   Mon Nov 22 17:10:29 2010 +0300

    eterbug 6497: fix installation process for update-8.0.18.2 1Cv80 msi: detect duplicate files in cab-files (eterbug 2873)


Так и не понял в чём бага, и как она воспроизводится.
Пока оставляю как есть
Comment 9 Vitaly Lipatov 2012-01-18 02:55:35 MSK
Больше не поручаем заданий bugs@.
Comment 10 Денис Баранов 2013-05-13 17:23:32 MSK
Воспроизвести проблему на текущих версиях W@E, если она ещё есть.
Comment 11 Сергей Тимушев 2013-05-14 15:45:07 MSK
WINE@Etersoft Network 2.0.3-eter26/5
Product: WINE@Etersoft 2.0 SQL Local Network CAD School

$ wine extrac32 a.cab /C

Ничего не зависло.
Comment 12 Дмитрий Галочкин 2013-05-22 17:44:19 MSK
Закрываю.