PinkRabbitMQ icon indicating copy to clipboard operation
PinkRabbitMQ copied to clipboard

Падение рабочих процессов 1С в linux при [неправильной] работе с компонентой

Open ovcharenko-di opened this issue 4 years ago • 2 comments

Дано: Компонента версии 1.8 Ubuntu 18.04, платформа 1С 8.3.13-16

При вызове метода Connect("server", "5672", "admin", "1234", "/") падает рабочий процесс сервера 1С.

Ожидаемое поведение: Как и в Windows, должно выводиться сообщение о том, что в параметре 1 передано значение неправильного типа. В примере "5672" - это Строка, а должно быть 5672 - Число.

ovcharenko-di avatar Apr 05 '20 15:04 ovcharenko-di

Я не знаю, важно ли это, но в файле PinkRabbitMQLinux/src/AddInNative.cpp есть такой кусок:

bool AddInNative::CallAsProc(const long lMethodNum, tVariant* paParams, const long lSizeArray)
{
	if (!validateInputParameters(paParams, lMethodNum, lSizeArray))
		return false;

	switch (lMethodNum)
	{
		case eMethConnect:
		{
			std::string host = inputParamToStr(paParams, 0);
			std::string login = inputParamToStr(paParams, 2);
			std::string pwd = inputParamToStr(paParams, 3);
			std::string vhost = inputParamToStr(paParams, 4);
			return client.connect(host, 5672, login, pwd, vhost);
		}
        ...

Как я понимаю, компонента вообще не позволяет переопределять порт?

antonwantstosleep avatar Apr 06 '20 08:04 antonwantstosleep

@antonwantstosleep судя по этому фрагменту да, но у меня поведение системы отличается в зависимости от значения этого параметра. Значит, он обрабатывается или переопределяется где-то еще. Или же параметр обрабатывается где-то до этого фрагмента и там как раз и есть ошибка.

ovcharenko-di avatar Apr 06 '20 08:04 ovcharenko-di