Баги в v2.02 (build 905-1111)

Нашли баг? Воспользуйтесь поиском чтобы убедиться что его не нашли до вас и если он не упоминается добавьте его описание (желательно пошаговое).
Чем для автора программы отличаются баги, недоработки и фичи.

Модератор: motyara

Catwoolfii
Сообщения: 1
Зарегистрирован: Вс авг 09, 2015 10:28 am

Re: Баги в v2.02 (build 905-1090)

Сообщение Catwoolfii »

Хотел бы отметить не корректную сортировку по имени: сначала сортируются файлы и каталоги по верхнему регистру, потом по нижнему. Если сортировать в обратном порядке, то верхний и нижний регистр не учитывается, сортируется строго по алфавиту. Хотелось бы, чтобы сортировалось по алфавиту без учета регистра, или хотя бы чтобы в настройках был выбор типа сортировки, чтоли. Спасибо.
Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3431
Зарегистрирован: Пт окт 12, 2007 3:26 pm
Контактная информация:

Сообщение Max Diesel »

Catwoolfii писал(а):Хотел бы отметить не корректную сортировку по имени: сначала сортируются файлы и каталоги по верхнему регистру, потом по нижнему. Если сортировать в обратном порядке, то верхний и нижний регистр не учитывается, сортируется строго по алфавиту. Хотелось бы, чтобы сортировалось по алфавиту без учета регистра, или хотя бы чтобы в настройках был выбор типа сортировки, чтоли. Спасибо.
Спасибо за эту информацию, исправлено с билда 1091.
i3v
Охотник за багами
Сообщения: 206
Зарегистрирован: Пн апр 27, 2015 8:39 pm

Re: Re:

Сообщение i3v »

О! В 1092 ваще шикарно: Вот только в новой версии я почему-то вообще не могу зайти в сетевые папки с длинными именами - вместо того, чтобы открыть нужную папку UC открывает какую-то совершенно другую (ту, которая была открыта первой, в момент запуска программы?)...
Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3431
Зарегистрирован: Пт окт 12, 2007 3:26 pm
Контактная информация:

Сообщение Max Diesel »

i3v писал(а):Вот только в новой версии я почему-то вообще не могу зайти в сетевые папки с длинными именами - вместо того, чтобы открыть нужную папку UC открывает какую-то совершенно другую (ту, которая была открыта первой, в момент запуска программы?)...
Почему-то не получается воспроизвести эту проблему.
i3v
Охотник за багами
Сообщения: 206
Зарегистрирован: Пн апр 27, 2015 8:39 pm

Re: Баги в v2.02 (build 905-1094)

Сообщение i3v »

Гм.. странно...

Проверил ещё раз (b1094), на двух ПК с Win7 x64. Оказывается, и у меня всё не так однозначно.
Простой рецепт:
  1. распаковываю тот же архив в "C:\temp",
  2. расшариваю папку как "Ctemp"
  3. захожу с этого же самого ПК в эту папку ("\\IMP\Ctemp") ("\\IMP" ввожу руками в строке текущего пути)
  4. добираюсь до "abcdefghkL19"
  5. внутрь "abcdefghkL20" уже войти не могу - выкидывает. Полная длинна пути (считая название этой папки), получается 272.
составил этот алгоритм, прогнал пару раз - и вот тебе раз - пару раз взяло и сработало всё нормально, хотя обычно "выкидывает". Не смог отловить, в чём баг.

Тут что-то "динамическое" похоже. Зато наткнулся на другой пример "динамического" бага:
  1. я повесил себе на тулбар кнопку с командой "cd \\IMP". (честно говоря, не уверен, что данные пункт существеннен, но просто для определённости - пусть будет)
  2. закрываю все "фоновые" вкладки.
  3. обе панели показывают "C:\"
  4. закрываю UC, открываю UC
  5. обе панели показывают всё то же
  6. нажимаю кнопку из п.1
  7. попадаю в "\\IMP"
  8. если я пытаюсь войти в какую-либо подпапку - UC только подвисает секунд на 10, каталог не меняется. (В проводнике в эту же папку я войти могу)
  9. дожидаюсь пока отвиснет, закрываю UC, открываю UC
  10. в одной из вкладок должен быть открыт "\\IMP"
  11. теперь я могу войти в любую папку
==> такое ощущение, что возможность зайти в "\\IMP\Ctemp" зависит от того, была ли открыта папка "\\IMP" в момент запуска UC.
Проверил на тех же двух ПК.

Если это тоже не повторяется - могу попробовать повторить на чистой виртуалке, дабы 100% повторябельно было :mrgreen: .
Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3431
Зарегистрирован: Пт окт 12, 2007 3:26 pm
Контактная информация:

Сообщение Max Diesel »

i3v писал(а):Если это тоже не повторяется - могу попробовать повторить на чистой виртуалке, дабы 100% повторябельно было :mrgreen: .
На этот раз удалось получить тот же эффект. Ситуация с кнопкой со следующего билда предположительно повторяться не будет, в код внесены изменения, благодарю за содействие. Однако насчет длинных имен дело обстоит хуже - система принципиально возвращает ответ ERROR_BAD_NETPATH, более того - при тестировании Проводник тоже отказался заходить в каталог с именем экстремальной длины (Windows 10).
i3v
Охотник за багами
Сообщения: 206
Зарегистрирован: Пн апр 27, 2015 8:39 pm

Re:

Сообщение i3v »

Max Diesel писал(а):Ситуация с кнопкой со следующего билда предположительно повторяться не будет
Да, в b1098 починилось, спасибо!
Max Diesel писал(а):Однако насчет длинных имен дело обстоит хуже - система принципиально возвращает ответ ERROR_BAD_NETPATH,
Гм, странно... Оно ж точно возможно. Для проверки сделал чуть более длинную версию тестовой структуры - в 50 уровней, чтобы эксплореру уже не хватало "читерства" со "сжатием пути" (см. вложение).
Эксплорер в win7 даёт зайти только в "\\127.0.0.1\Ctemp\Test 00050-level file structure\abcdefghkL01\<....>\abcdefghkL25", длинна этого пути после "сжатия имён до 8.3" получается 259 символов. "Сжатие" включается при появлении в адресной строке "abcdefghkL17" (длинна пути, заканчивающегося на "L16" - 257 символов). Что забавно - при этом появляются заметные подтормаживание при переходе в следующую папку :lol: .

UC b1098 добирается до туда же, до "...L16". (И теперь при попытке пройти глубже не "сбрасывает путь на исходный" - тоже гут.)
7-zip и TC без проблем доходят до конца.

Я вообще во всей этой кухне не очень разбираюсь, но вот, попробовал набросать тестик - ошибку 53 от WNetAddConnection2() действительно можно получить, если пытаться скормить ей весь путь, а не только "\\127.0.0.1\Ctemp". А в целом - всё вроде заводится, список файлов из "...L29" показывает, по крайней мере:

Код: Выделить всё

// Useful links: 
// https://msdn.microsoft.com/en-us/library/windows/desktop/ms681382%28v=vs.85%29.aspx


// Need to link with Netapi32.lib(?) and Mpr.lib
#pragma comment(lib, "mpr.lib")
#pragma comment(lib, "Netapi32.lib")

#include "stdafx.h"
#include <stdio.h>
#include <string>
#include <iostream>
#include <windows.h>
#include <vector>
#include <Winnetwk.h>
#include <tchar.h>
using namespace std;




void get_all_files_names_within_folder(wstring server, wstring share, wstring folder)
{
		
	DWORD dwFlags;


	// Assign our values to the NETRESOURCE structure.

	wstring serverAndShare = L"\\\\" + server + L"\\" + share;         // "\\127.0.0.1\Ctemp"  - works OK
	//wstring serverAndShare = L"\\\\" + server + L"\\" + share + L"\\" + folder;  //   - results in error 53
	NETRESOURCE nr = { 0 };
	nr.dwType = RESOURCETYPE_DISK;	

	// From docs: https://msdn.microsoft.com/en-us/library/windows/desktop/aa385413%28v=vs.85%29.aspx
	// lpRemoteName :: A pointer to a null-terminated string that specifies the network resource to connect to. The string can be up to MAX_PATH characters in length, and must follow the network provider's naming conventions.
	nr.lpRemoteName = &serverAndShare[0];   

	const LPCWSTR username = L"someuser";
	const LPCWSTR passwd = L"somepasswd";	

	wprintf(L"Connecting to %s\n", nr.lpRemoteName);
	DWORD dwRetVal = WNetAddConnection2(&nr, passwd, username, CONNECT_TEMPORARY);


	wprintf(L"WNetAddConnection2 result: %u\n", dwRetVal);

	if (dwRetVal == NO_ERROR || dwRetVal == 1219) // not sure if just ignoring 1219 is the best option
	{		
		
		wstring suffix = L"\\*.*";
		wstring search_path = L"\\\\?\\UNC\\" + server + L"\\" + share + L"\\" + folder + suffix;

		wprintf(L"\n\n\n");
		wprintf(L"Looking for files in %s\n", search_path.c_str());
		wprintf(L"\n\n\n");

		WIN32_FIND_DATAW fd;
		HANDLE hFind = ::FindFirstFileW(search_path.c_str(), &fd);
		if (hFind != INVALID_HANDLE_VALUE)
		{
			do
				wprintf(L"%s\n", fd.cFileName);
			while (::FindNextFileW(hFind, &fd));
			::FindClose(hFind);
		}
		else
		{
			wprintf(L"hFind != INVALID_HANDLE_VALUE");
		};
	}
	else
	{
		wprintf(L"WNetAddConnection2 failed");		
	}


	WNetCancelConnection2(nr.lpRemoteName, 0, TRUE);	
}

int _tmain(int argc, _TCHAR* argv[])
{
	  get_all_files_names_within_folder(L"127.0.0.1",L"Ctemp",L"Test 00050-level file structure\\abcdefghkL01\\abcdefghkL02\\abcdefghkL03\\abcdefghkL04\\abcdefghkL05\\abcdefghkL06\\abcdefghkL07\\abcdefghkL08\\abcdefghkL09\\abcdefghkL10\\abcdefghkL11\\abcdefghkL12\\abcdefghkL13\\abcdefghkL14\\abcdefghkL15\\abcdefghkL16\\abcdefghkL17\\abcdefghkL18\\abcdefghkL19\\abcdefghkL20\\abcdefghkL21\\abcdefghkL22\\abcdefghkL23\\abcdefghkL24\\abcdefghkL25\\abcdefghkL26\\abcdefghkL27\\abcdefghkL28\\abcdefghkL29");
	//get_all_files_names_within_folder(L"127.0.0.1",L"Ctemp",L"abcdefghkL01");
	getchar();
	return 0;
};
Но со стороны M$ - это конечно, свинство , создавать столько гемороя на ровном месте...
Вложения
Test 00050-level file structure.7z
(3.6 КБ) 123 скачивания
Neytreenor
Сообщения: 7
Зарегистрирован: Пт авг 22, 2014 4:30 pm

Re: Баги в v2.02 (build 905-1098)

Сообщение Neytreenor »

Наткнулся на баг:
1) запускаем что-нибудь копироваться (так чтоб заняло по времени секунд 30-60)
2) выделяем какой-нибудь файл, F8 (delete), выбираем очередь в которой копируются файлы
3) дожидаемся окончания копирования и только тогда жмём ОК
в результате ничего не происходит, программа считает, что она уже справилась и ничего не удаляет
Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3431
Зарегистрирован: Пт окт 12, 2007 3:26 pm
Контактная информация:

Сообщение Max Diesel »

i3v писал(а):
Max Diesel писал(а):Однако насчет длинных имен дело обстоит хуже - система принципиально возвращает ответ ERROR_BAD_NETPATH,
Гм, странно... Оно ж точно возможно. Для проверки сделал чуть более длинную версию тестовой структуры - в 50 уровней, чтобы эксплореру уже не хватало "читерства" со "сжатием пути" (см. вложение).
Эксплорер в win7 даёт зайти только в "\\127.0.0.1\Ctemp\Test 00050-level file structure\abcdefghkL01\<....>\abcdefghkL25", длинна этого пути после "сжатия имён до 8.3" получается 259 символов. "Сжатие" включается при появлении в адресной строке "abcdefghkL17" (длинна пути, заканчивающегося на "L16" - 257 символов). Что забавно - при этом появляются заметные подтормаживание при переходе в следующую папку :lol: .
Хорошо, со следующего билда добавлю невосприимчивость программы к системным недовольствам в случаях, когда длина пути в понимании системы "выходит за рамки".
Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3431
Зарегистрирован: Пт окт 12, 2007 3:26 pm
Контактная информация:

Сообщение Max Diesel »

Neytreenor писал(а):Наткнулся на баг:
1) запускаем что-нибудь копироваться (так чтоб заняло по времени секунд 30-60)
2) выделяем какой-нибудь файл, F8 (delete), выбираем очередь в которой копируются файлы
3) дожидаемся окончания копирования и только тогда жмём ОК
в результате ничего не происходит, программа считает, что она уже справилась и ничего не удаляет
Да, действительно. Со следующего билда будет исправлено, благодарю за содействие.
zuzuzu
Сообщения: 10
Зарегистрирован: Ср окт 07, 2009 5:02 pm

Re: Баги в v2.02 (build 905-1098)

Сообщение zuzuzu »

1) При установке новых версий теряется значение Custom Editor (Configuration - Options - Operations - Edit/View - Editor). Так работало и на предыдущих билдах.
2) Если поле "Find text" (диалог Alt+F7) включает двойную кавычку ("), то дальнейший поиск по найденых файлах (F3 на файле и Ctlr+F для поиска) ищет уже без кавычек. Например ищем файлы c "D" (включая кавычки), в найденом файле хочу также найти ту же строчку, но вместо нее ищет все вхождения D в любом слове, так как кавычки упускает. Утрудняет поиск по CSV файлам. Но конечно же это не критично, можно и вручную снова дописать кавычки.
Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3431
Зарегистрирован: Пт окт 12, 2007 3:26 pm
Контактная информация:

Сообщение Max Diesel »

zuzuzu писал(а):1) При установке новых версий теряется значение Custom Editor (Configuration - Options - Operations - Edit/View - Editor). Так работало и на предыдущих билдах.
2) Если поле "Find text" (диалог Alt+F7) включает двойную кавычку ("), то дальнейший поиск по найденых файлах (F3 на файле и Ctlr+F для поиска) ищет уже без кавычек. Например ищем файлы c "D" (включая кавычки), в найденом файле хочу также найти ту же строчку, но вместо нее ищет все вхождения D в любом слове, так как кавычки упускает. Утрудняет поиск по CSV файлам. Но конечно же это не критично, можно и вручную снова дописать кавычки.
1. возможно на самом деле значение не теряется, просто там использован Combobox, в нем все дополнительные значения отображаются в виде ниспадающего списка. Это позволяет выбрать несколько редакторов для разных типов файлов. Или же при нажатии на эту кнопку список не появляется?
combobox.png
2. к сожалению тут имеет место проблема технического характера - по некоторой причине не удается передача строки поиска, в которой есть кавычки, из Unreal Commander'а в Universal Viewer, так как кавычки являются спецсимволами и даже будучи экранированными они почему-то не доходят к Universal Viewer'у.
zuzuzu
Сообщения: 10
Зарегистрирован: Ср окт 07, 2009 5:02 pm

Re: Баги в v2.02 (build 905-1100)

Сообщение zuzuzu »

По №2 понятно, спасибо. По №1, при открытии списка комбобокса старое значение не появляется. Кроме того, при нажатии F4 на файле начинает использовать notepad.exe вместо ранее установленого значения (C:\Program Files (x86)\Notepad++\notepad++.exe в моем случае).
Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3431
Зарегистрирован: Пт окт 12, 2007 3:26 pm
Контактная информация:

Сообщение Max Diesel »

zuzuzu писал(а):По №1, при открытии списка комбобокса старое значение не появляется. Кроме того, при нажатии F4 на файле начинает использовать notepad.exe вместо ранее установленого значения (C:\Program Files (x86)\Notepad++\notepad++.exe в моем случае).
Ну прямо-таки мистика какая-то. Попробуйте сделать так: добавьте второй редактор, удостоверьтесь что по F4 файлы открываются именно в нем, а затем выполните в командной строке команду ":reinstall", программа произведет те же действия, что и при обновлении на новый билд - скачает инсталлятор с сайта и установит его. Исчезнет ли после этого второй редактор или нет?

Кроме того, пожалуйста сделайте скриншот вкладки "переменные" (Справка -> О программе -> Переменные) и пришлите его мне (можно прикрепить к сообщению на форуме, можно через личные сообщения, можно на email - любой вариант приемлем). Вот эта вкладка:
переменные.png
zuzuzu
Сообщения: 10
Зарегистрирован: Ср окт 07, 2009 5:02 pm

Re: Баги в v2.02 (build 905-1100)

Сообщение zuzuzu »

Кажется понял почему так. Выключаю компьтер крайне редко, от версии к версии Unreal Commander запускаю только 1 раз. Получается следующее.

Запускаю UC, работает например месяц до появления следующей версии (без закрытия окна). Появляется окошко новой версии, подтверждаю обновление. UC перезапускается и настройка редактора сбивается.

Попробовал специально после настройки редактора закрыть UC и снова открыть, и запустить ":reintall". В этом случае настройка не сбилась.

Похоже запись в ini файл идет по закрытию программы, и во время инсталляции новой версии возможно не успевает записать установленое значение.
Закрыто