This stream is already in use ошибка торрент

Корректное отключение Для корректного завершения сетевого подключения обе стороны должны послать пакеты с сигналом о завершении (FIN), которые указывают что стор...
Корректное отключение

Для корректного завершения сетевого подключения обе стороны должны послать пакеты с сигналом о завершении (FIN), которые указывают что стороны не будут больше отсылать данные, также каждая сторона должна подтвердить (ACK) получение сигнала о завершении сетевого обмена данными. FIN инициируется когда приложение вызывает метод close(), shutdown() или exit(). После завершения работы метода close() ядро переходит в режим ожидания подтверждения от второй стороны приема сигнала о завершении. Это делает возможной ситуацию когда процесс инициировавший отключение будет завершен прежде чем ядро освободит рессурсы связанные с подключением, и снова разрешит использовать порт для связывания с другим процесоом (в этом случае, при попытке использования порта мы получим исключение AddressAlreadyInUse).

На изображении:

  1. Имеется установленное соединение, состояние ESTABLISHED
  2. Клиент инициирует окончание подключения, посылает серверу сигнал о завершении подключения (FIN), переходит в состояние ожидания ответа сервера (FIN_WAIT_1)
  3. Сервер получает сигнал о завершении подключения и отправляет подтверждение (ACK), переходит в состояние ожидания завершения подключения (CLOSE_WAIT) (вызывает close())
  4. Сервер отсылает клиенту сигнал о том что успешно закрыл подключение (FIN) и пробует прочитать подтверждение клиента (ACK), после чего не дожидаясь его отключается.
  5. Теперь клиенту может придти два сигнала в разной очередности

    ACK — клиент получил подтверждение о том что сервер понял его намерение закрыть подключение

    • Клиент переходит в состояние ожидания сигнала об окончании закрытия подключения (FIN) от сервера (FIN_WAIT_2)
    • Клиент получает сигнал о закрытии подключения сервером (FIN), отправляет подтверждение (ACK), некоторое время ждет(TIME_WAIT) и отключается (ядро освобождает рессурсы) (CLOSED)

    FIN — клиент получает сигнал о закрытии подключения на стороне сервера(FIN), раньше чем подтверждение от сервера (ACK), о получении инициирующего сигнала о закрытии от клиента (FIN)

    1. Клиент отправляет подтверждение приема сигнала о том что сервер закрывает соединение, и переходит в состояние отключения (CLOSING)
    2. После отключения пробует считать сигнал подтверждения от сервера (который был отправлен сервером сразу после получения от клиента сигнала о завершении работы, пункт 2), некоторое время ожидает(TIME_WAIT) и ядро освобождает рессурсы (CLOSING).

На рисунке показаны все воможные состояния, которые могут быть во время корректного завершения, в зависимости от порядка получения пакетов FIN и ACK от удаленной стороны. Обратите внимание, если вы инициировали завершение подключения (левая половина рисунка), то другая сторона не будет ожидать подтверждения получения вами пакета FIN (правая половина рисунка). Сотояние TIME_WAIT требуется на случай если подтверждение (ACK) которое вы отправили не было получено на другой стороне, или на случай появления ложных пакетов по какой-то причине. Я не знаю почему на стороне сервера не сделали состояние TIME_WAIT, хотя если клиент инициирует закрытие, это безусловно и не должно требовать ожидания. Состояние TIME_WAIT может удерживать порт в течение нескольких минут после завершения процесса. Время удержания варьируется в зависимости от операционной системы, в некоторых операционных системах оно является динамическим, стандартные значения лежат в диапазоне от 1 до 4 минут.

Если обе стороны успеют инициировать сигнал завершения, раньше чем получат его от другой стороны, то обе стороны будут вынуждены пройти через ожидание (TIME_WAIT).

Корректное отключение слушающей стороны

Слушающий сокет может быть закрыт немедленно, при отсутствии входящих подключений, его состояние переходит сразу в CLOSED. При наличии входящих подключений, будет произведен переход к FIN_WAIT_1 и затем к TIME_WAIT.

Обратите внимание, на стороне слушающего сокета невозможно гарантировать чистое закрытие. Пока вы проверяете использование соединения методом select() до закрытия, существует крошечная, но реальная возможность появления входящего подключения после вызова select() и до вызова close().

Непредвиденное отключение удаленной стороны

При внезапном отключении сервера, локальная сторона инициирует закрытие соединения, и в этом случае TIME_WAIT неизбежен. Если удаленная сторона исчезает из-за сбоя сети или перезагрузки машины (редкие случаи), локальный порт будет оставаться привязанным вплоть до истечения таймаута состояния TIME_WAIT. Хуже того, некоторые старые операционные системы, не реализуют таймаут для состояния FIN_WAIT_2, и могут оставаться в нем бесконечно долго, в этом случае спасти может только перезагрузка системы.

Если же локальное приложение (клиент) падает в процессе активного соединения, порт будет занят пока не завершится состояние TIME_WAIT, то же верно для приложений, закрытых в процессе подключения к удаленной стороне(pending).

Способы избежания проблем

Опция SO_REUSEADDR

Можно использовать метод setsockopt(), для установки опции SO_REUSEADDR, что позволит создавать привязку к порту даже если он еще находится в состоянии TIME_WAIT (привязка к порту будет разрешена только для одного процесса). Это самый простой и эффективный метод избежать сообщения «address already in use».

Но, как ни странно, использование опции SO_REUSEADDR, может привести к более трудноотлавливаемым ошибкам чем «address already in use». SO_REUSEADDR позволяет использовать порт застрявший в TIME_WAIT, но вы все еще сможете использовать этот порт в том процессе, в котором он привязан изначально.

WHAT?

Предположим я использую локальный порт 1010 и подключаюсь на порт 300 сервера foobar.com, затем клиент отключается и порт переходит в состояние TIME_WAIT, и я могу использовать этот порт (1010) в любом подключении за исключением подключения к foobar.com на порт 300.
Ситуация в которой это может вызвать проблему может быть такой: моя программа пытается найти зарезервированный локальный порт(<1024) для привязки, чтобы подключиться к службе которая требует зарезервированный порт, и если я буду использовать опцию SO_REUSEADDR, то при каждом запуске программы на моей машине я буду получать тот же зарезервированный порт, даже если он висит в TIME_WAIT, и могу получить «Address already in use», в том месте где порт был использован в последний раз. В этом случае нужно отказаться от использования опции SO_REUSEADDR.

Некоторые не любят использовать SO_REUSEADDR, т.к. эта опция имеет проблемы с безопасностью. В некоторых операционных системах эта опция может позволить разным процессам использовать один и тот же порт одновременно. И это проблема, потому что большинство серверов привязываются к порту не используя конкретный адрес, вместо этого они используют INADDR_ANY (команда netstat отобразит их как *.8080). Таким образом, если сервер связывается с адресом *.8080, то другой процесс, от другого пользователя локальной машины, может подключиться к адресу local_machine.8080 (и намерения его могут быть совсем не хорошими), и перехватывать все ваши подключения, т.к. он указал более конкретный адрес. Эта проблема проявляется только на многопользовательских системах, не имеющих ограничений для учетных записей, и это не является уязвимостью которая доступна снаружи локальной машины, ее можно легко избежать используя привязку к конкретному адресу машины (не используя INADDR_ANY).

Другим не нравится что ядро системы тратит свои рессурсы на сотни или даже тысячи TIME_WAIT состояний, этой проблемы также можно избежать используя подход описанный ниже.

Клиент отключается первым

Глядя на рисунок выше, мы видим, что состояния TIME_WAIT можно избежать когда закрытие инициируется на удаленной стороне, а значит проблем можно избежать, если сервер позволяет клиенту инициировать отключение первым. Для этого можно построить архитектуру пользовательского протокола таким образом, что клиент знает когда ему нужно инициировать закрытие. Сервер может произвести безопасное отключение получив команду EOF от клиента, однако нам все равно придется установить таймаут ожидания отключения клиента, чтобы тот смог корректно завершить работу. Почти всегда достаточно подождать несколько секунд, пока соединение с сервером не будет корректно завершено.

Эту концепцию, вероятно, имеет смысл назвать «удаленная сторона отключается первой», иначе мы будем зависить от того что мы называем клиентом и что сервером. Если вы разрабатываете некую систему, состоящую из нескольких клиентских программ, которые находятся на одной машине и обращаются к разным серверам, то вы захотите перенести ответственность за отключение на сервера, для сберегания рессурсов клиентской машины.

К примеру, я написал скрипт который использует remote shell(rsh), для общения со всеми машинами моей сети, и он выполняет работу параллельно, постоянно используя несколько открытых соединения. Для rsh доступно меньше 1024 портов. Сначала я использовал команду «rsh -n», которая вызывает отключение локальной стороны в первую очередь. После нескольких тестов все свободные порты меньше 1024, оказались в состоянии TIME_WAIT, и процесс остановился. Удаление опции -n приводит к инициированию отключения на удаленной стороне, и проблема TIME_WAIT устраняется, однако это может привести rsh к зависанию в ожидании входаящего подключения. И если вы закрываете входящее подключение локально, порт снова окажется в состояние TIME_WAIT. В конечном счете я просто отказался от использования rsh и написал свою реализацию на perl (текущую версию можно скачать тут)

Уменьшение таймаута

Если, по какой-то причине, ни один из изложенных вариантов вам не подходит, есть возможность сократить таймаут состояния TIME_WAIT. Возможность и реализация такой операции зависит от операционной системы которую вы используете. Стоить помнить, что слишком короткий таймаут может иметь негативные последствия, в частности при потере пакетов или в перегруженных сетях.

When I’m trying to send an email with attachment with more than one recipients through my C# code an System.Net.Mail.SmtpException is thrown saying «Failure sending mail.»
The inner exception is «One of the streams has already been used and can’t be reset to the origin.»

I understand this kind of error maybe happening because of my attachment.
I have created my attachment in a different class as —

Attatchment file;
string fileContents = File.ReadAllText(fileName);
file = Attachment.CreateAttachmentFromString(fileContents, fileName);

I’m sending it in this format to my class that sends the email. The following happens in that class —

try
{    
     email.Subject = subject;
     email.Body = body;
     if (file != null)
     {
         email.Attachments.Add(file);
     }
    _smtpClient.Send(email);
}   
catch
{
     mailSent = false;
}

The mail is always sent to the first recipient but fails for all the rest.
Any ideas why this could be happening?

asked Oct 26, 2015 at 9:21

DeeDeeR's user avatar

DeeDeeRDeeDeeR

1251 silver badge5 bronze badges

5

Internally to the Attachment class it appears to use a Stream to contain the data. Some types of stream don’t allow you to reset the position back to the start and will throw an InvalidOperationException with the message you see above.

Your solutions are:

  1. Send a single mail but put all recipients in the Bcc field.
  2. Create the attachment for each mail you send — do not reuse the same object each time.
  3. This may not work, but you could try using the constructor for Attachment that takes a stream as a parameter instead of string. Put all your string data into a MemoryStream which does allow repositioning. For example:

    public Stream StringToStream(string s)
    {
        MemoryStream stream = new MemoryStream();
        StreamWriter writer = new StreamWriter(stream);
        writer.Write(s);
        writer.Flush();
        stream.Position = 0;
        return stream;
    }
    

    Then this:

    var stream = StringToStream(File.ReadAllText(fileName));
    Attatchment file = new Attachment(stream, fileName);
    

Note: You are initialising the attachment object incorrectly. In the constructor that takes two string parameters, the second parameter is the media type, not the filename.

answered Oct 26, 2015 at 9:40

DavidG's user avatar

DavidGDavidG

110k12 gold badges215 silver badges212 bronze badges

2

In our case it was the LinkedResource instance (file-attachment, embedded into an email as an inline image) that was RE-USED for multiple messages. And messages were .Dispose‘d after sending — which closed all the underlying streams.

I guess it essentially boils down to @DavidG’s answer, just adding my two cents — remember to check embedded resources not just plain attachments.

answered Dec 4, 2018 at 20:42

Alex from Jitbit's user avatar

Alex from JitbitAlex from Jitbit

49.5k18 gold badges147 silver badges140 bronze badges

1

Table of Contents
Hide
  1. Reasons of this error
  2. Solutions
    1. 1. nginx: [emerg] listen() to [::]:80, backlog 511 failed (98: Address already in use)
    2. 2. nginx: [emerg] unexpected end of file, expecting “;” or “}” in /etc/nginx/c>
    3. 3. nginx: [emerg] a duplicate default server for [::]:80 in /etc/nginx/sites-enabled/default
    4. 4. nginx: [emerg] unknown directive “stream” in /etc/nginx/nginx.conf
    5. 5. nginx: [emerg] directive “root” is not terminated by “;” in /etc/nginx/conf.d/writefreely.conf:6
    6. 6. Error in configuration file
  3. Conclusion
    1. Related Posts

You run the command systemctl status nginx.service or sudo systemctl start nginx and bam, you got a scary multi lines error stating that nginx failed to start high performance web server and a reverse proxy server. In this article we will focus on resolving this issue completely.

Reasons of this error

The error is generic. It means there could be multiple reasons for nginx failing to start. Your error logs will show you the reason as to why this is happening. Some of them are –

  • nginx: [emerg] listen() to [::]:80, backlog 511 failed (98: Address already in use)
  • nginx: [emerg] unexpected end of file, expecting “;” or “}” in /etc/nginx/c>
  • nginx: [emerg] a duplicate default server for [::]:80 in /etc/nginx/sites-enabled/default
  • nginx: [emerg] unknown directive “stream” in /etc/nginx/nginx.conf
  • nginx: [emerg] directive “root” is not terminated by “;” in /etc/nginx/conf.d/writefreely.conf:6
  • Others..

Let’s look at each of these errors and solve them.

Solutions

1. nginx: [emerg] listen() to [::]:80, backlog 511 failed (98: Address already in use)

This error appears when the nginx port i.e. 80 and 443 are occupied by some other process like Apache. The solution is to kill all the process which are running on these ports and let nginx use them.

First get the list of all the processes that are running on port 80 –

sudo lsof -i:80

Next, we will stop all these processes –

sudo fuser -k 80/tcp

If apache2 is running on this port then you may also stop it directly –

sudo service apache2 stop

Now you may start your nginx server –

sudo service nginx restart

2. nginx: [emerg] unexpected end of file, expecting “;” or “}” in /etc/nginx/c>

This error shows that there is some syntax error in config file. Open the indicated file at /etc/nginx/ and check for the syntax errors in the file.

3. nginx: [emerg] a duplicate default server for [::]:80 in /etc/nginx/sites-enabled/default

This error arises when you have multiple nginx websites running. Since they all are using the same 80 port so there is a clash. The solution is to change ports or if you can disable them like default website, then do that.

First remove or unlink the default website –

sudo unlink /etc/nginx/sites-enabled/default

# OR

sudo rm /etc/nginx/sites-enabled/default

Restart the nginx server –

sudo service nginx restart

4. nginx: [emerg] unknown directive “stream” in /etc/nginx/nginx.conf

nginx use the stream module and if we load it dynamically then nginx fails to start and throw this error. To resolve it, you need to statically add the stream module.

First open the nignx.conf file located at /etc/nignx/nginx.conf and add the below code at the very top of this file –

load_module /usr/lib/nginx/modules/ngx_stream_module.so;

Here you need to check whether this ngx_stream_module is located in lib or lib64 on your operating system. In CentOS it is in lib64. So, the address will change to –

load_module /usr/lib64/nginx/modules/ngx_stream_module.so;

Then save the nginx.conf file and run these commands in your terminal –

nginx -t
nginx -s reload
service nginx restart

5. nginx: [emerg] directive “root” is not terminated by “;” in /etc/nginx/conf.d/writefreely.conf:6

This is again a syntax error in a file. It is saying that “root” is not terminated by semicolon. So, solution is to open the file located at /etc/nginx/conf.d/writefreely.conf, move to line number 6 and add a semicolon at the end.

6. Error in configuration file

If there is some error in configuration file then you can understand it by running this command –

nginx -t -c /etc/nginx/nginx.conf

Once you find the bug, you can resolve it and then restart the nginx server –

sudo service nginx restart

Conclusion

In this article we saw various reasons for error “nginx: failed to start high performance web server and a reverse proxy server”. In your case, the reason could be different but solution will be one of our provided ones.

This is Akash Mittal, an overall computer scientist. He is in software development from more than 10 years and worked on technologies like ReactJS, React Native, Php, JS, Golang, Java, Android etc. Being a die hard animal lover is the only trait, he is proud of.

Related Tags
  • Error,
  • nginx

STREAM_STATUS_INFO

Events

AGENT_SERVICING_ORIGIN_STREAM_IS_SHUTTING_DOWN

Shutdown agent servicing origin stream.

Source:
  • constants.js, line 470

BAD_URI

Bad referenced rtsp link, check for correct, example: rtsp://user:b@d_password@127.0.0.1/stream.

Source:
  • constants.js, line 420

CDN_STREAM_NOT_FOUND

CDN stream not found.

Source:
  • constants.js, line 456

DISTRIBUTOR_STOPPED

Stopped shapshot distributor.

Source:
  • constants.js, line 330

FAILED_BY_DTLS_ERROR

Client did not send DTLS packets or packets were lost/corrupted during transmission.

Source:
  • constants.js, line 270

FAILED_BY_DTLS_FINGERPRINT_ERROR

DTLS has wrong fingerprint.

Source:
  • constants.js, line 264

FAILED_BY_ERROR

Error occurred on the stream.

Source:
  • constants.js, line 318

FAILED_BY_HLS_WRITER_ERROR

Indicates general HLS packetizer error, can occur during initialization or packetization (wrong input or out of disk space).

Source:
  • constants.js, line 276

FAILED_BY_ICE_ERROR

Indicates general error during ICE negotiation. Usually occurs if client is behind some exotic nat/firewall.

Source:
  • constants.js, line 246

FAILED_BY_ICE_TIMEOUT

Timeout has been reached during ICE establishment.

Source:
  • constants.js, line 252

FAILED_BY_KEEP_ALIVE

ICE refresh failed on session.

Source:
  • constants.js, line 258

FAILED_BY_RTMP_WRITER_ERROR

Indicates general RTMP republishing error, can occur during initialization or rtmp packetization.

Source:
  • constants.js, line 282

FAILED_BY_RTP_ACTIVITY

RTP session failed by RTP activity timer.

Source:
  • constants.js, line 288

FAILED_TO_ADD_STREAM_TO_PROXY

Indicates that error occurred during media session creation. This might be SDP parsing error, all ports are busy, wrong session related config etc.

Source:
  • constants.js, line 324

FAILED_TO_CONNECT_TO_ORIGIN_STREAM

Server failed to establish websocket connection with origin server.

Source:
  • constants.js, line 450

FAILED_TO_CONNECT_TO_RTSP_STREAM

Failed to connect to rtsp stream.

Source:
  • constants.js, line 390

FAILED_TO_GET_AGENT_STORAGE

Indicates that provided URL protocol in stream name is invalid.
Valid: vod://file.mp4
Invalid: dov://file.mp4

Source:
  • constants.js, line 462

FAILED_TO_READ_FILE

Failed to create movie, file can not be read.

Source:
  • constants.js, line 438

FILE_HAS_WRONG_FORMAT

Failed to play vod stream, this format is not supported.

Source:
  • constants.js, line 384

FILE_NOT_FOUND

File does not exist, check filename.

Source:
  • constants.js, line 444

GOT_EXCEPTION_WHILE_STREAMING_FILE

General VOD error, indicates that Exception occurred while reading/processing media file.

Source:
  • constants.js, line 426

MEDIASESSION_ID_ALREADY_IN_USE

Published or subscribed sessions used this MediaSessionId.

Source:
  • constants.js, line 360

MEDIASESSION_ID_NULL

Error indicates that stream object received by server has empty mediaSessionId field.

Source:
  • constants.js, line 354

NO_AVAILABLE_TRANSCODERS

No available transcoders for stream

Source:
  • constants.js, line 494

NO_COMMON_CODECS

No common codecs on setup track, did not found corresponding trackId->mediaPort.

Source:
  • constants.js, line 414

PUBLISH_STREAM_IS_NOT_READY

Publish stream is not ready, try again later.

Source:
  • constants.js, line 336

REQUESTED_STREAM_SHUTDOWN

Requested stream shutdown.

Source:
  • constants.js, line 432

RESTRICTED_ACCESS

Access restricted by access list

Source:
  • constants.js, line 488

RTSP_HAS_WRONG_FORMAT

RTSP has wrong format on play stream, check the RTSP url validity.

Source:
  • constants.js, line 378

RTSP_STREAM_NOT_FOUND

Rtsp stream is not found, agent received «404-Not Found».

Source:
  • constants.js, line 396

RTSPAGENT_SHUTDOWN

On shutdown RTSP agent.

Source:
  • constants.js, line 402

SESSION_DOES_NOT_EXIST

Actual session does not exist.

Source:
  • constants.js, line 372

SESSION_NOT_READY

Session is not initialized or terminated on play ordinary stream.

Source:
  • constants.js, line 366

STOPPED_BY_PUBLISHER_STOP

Related publisher stopped its stream or lost connection.

Source:
  • constants.js, line 306

STOPPED_BY_REST_TERMINATE

Stream was stopped by rest terminate request.

Source:
  • constants.js, line 300

STOPPED_BY_SESSION_DISCONNECT

Related session was disconnected.

Source:
  • constants.js, line 294

STOPPED_BY_USER

Stop the media session by user after call was finished or unpublish stream.

Source:
  • constants.js, line 312

STREAM_FAILED

Stream failed

Source:
  • constants.js, line 408

STREAM_NAME_ALREADY_IN_USE

Server already has a publish stream with the same name, try using different one.

Source:
  • constants.js, line 348

STREAM_NOT_FOUND

Stream with this name is not found, check the correct of the name.

Source:
  • constants.js, line 342

TERMINATED_BY_KEEP_ALIVE

Terminated by keep-alive on walk through subscribers.

Source:
  • constants.js, line 476

TRANSCODING_REQUIRED_BUT_DISABLED

Transcoding required, but disabled in server settings

Source:
  • constants.js, line 482

Java 8 Stream API is used to process data collections such as arrays, lists, and maps. If we often work with streams, we may have encountered the following error: java.lang.IllegalStateException: stream has already been operated upon or closed.

Let us examine the root cause of the problem and how to solve it.

1. Reason

The Java Streams process the collection items with 2 types of operations:

  • Intermediate operations: that help in method chaining and return a new Stream of processed items such as filter, sort, or map.
  • Aggregate or terminal operations: terminate the stream by performing common operations or reduction on them. After calling the terminal operation, the Stream is considered closed. For example, max, min or collect items into a list or set.

We can use the terminal operation on a Stream only once. Calling a terminal operation in a already closed Stream causes the IllegalStateException.

Let us understand with an example. In the following example, we are using the same Stream twice. First for getting the even numbers, and then for getting the odd numbers.

Stream<Integer> numberStream = Stream.of(123, 234, 11, 57, 60, -4);

List<Integer> evenNumbers = numberStream
	.filter(integer -> integer % 2 == 0)
	.collect(Collectors.toList());

List<Integer> oddNumbers = numberStream
	.filter(integer -> integer % 2 == 1)    
	.collect(Collectors.toList());

The program output.

Even numbers:
234
60
-4
Exception in thread "main" java.lang.IllegalStateException: stream has already been operated upon or closed
	at java.base/java.util.stream.AbstractPipeline.<init>(AbstractPipeline.java:203)
	at java.base/java.util.stream.ReferencePipeline.<init>(ReferencePipeline.java:94)
	at java.base/java.util.stream.ReferencePipeline$StatelessOp.<init>(ReferencePipeline.java:696)
	at java.base/java.util.stream.ReferencePipeline$2.<init>(ReferencePipeline.java:165)
	at java.base/java.util.stream.ReferencePipeline.filter(ReferencePipeline.java:164)
	at org.example.Main.main(Main.java:18)

Process finished with exit code 1

We can see that the first filtering operation on the stream was executed successfully, but the second operation returned an Exception. This is caused by the fact that the stream is consumed and closed by the first operation, more precisely by the collect() function.

When we started processing the Stream a second time, we get the exception with the message “stream has already been operated upon or closed”.

2. Solution

One solution for this problem would be creating a new stream every time before every stream processing, but there exists a more elegant method to handle this.

The Supplier interface is a functional interface that can be assigned using a lambda function. After initializing the supplier, we can use the get() function. The Supplier.get() returns a newly created Stream Object each time on which we can perform stream operations safely.

Supplier<Stream<Integer>> streamSupplier = () -> Stream.of(123, 234, 11, 57, 60, -4);

List<Integer> evenNumbers = streamSupplier.get()
        .filter(integer -> integer % 2 == 0)
        .collect(Collectors.toList());

List<Integer> oddNumbers = streamSupplier.get()
        .filter(integer -> integer % 2 == 1)
        .collect(Collectors.toList());

After running the above code, we will not have any errors and the stream will be processed both times successfully.

3. Conclusion

In this short tutorial, we learned the root cause and solution of the Stream exception “IllegalStateException: stream has already been operated upon or closed“. We learned to fix the error using the Supplier as well as creating a new Stream every time.

Happy Learning !!

#1

MonsterParamon

    Новичок

  • Пользователь
  • Pip

  • 12 сообщений

Отправлено 20 Ноябрь 2014 — 15:31

Такая тема:
Играет один человек на паблике и через 4-5 минут его выкидывает(лагает) но остаеться в игре, и пытаеться уже снова зайти и пишет Disconnect: STEAM UserID STEAM_(тут его стим)  is already in use on this server.
Но на других серверах у него нормально все.
Ксс он уже переустанавливал и даже ставил UCP но все тоже.

Кто знает из-за чего его постояно выкидывает?

Сообщение отредактировал MonsterParamon: 20 Ноябрь 2014 — 15:34

  • Elllymn это нравится
  • Наверх

#2


4atty

Отправлено 20 Ноябрь 2014 — 16:23

Такая тема:
Играет один человек на паблике и через 4-5 минут его выкидывает(лагает) но остаеться в игре, и пытаеться уже снова зайти и пишет Disconnect: STEAM UserID STEAM_(тут его стим)  is already in use on this server.
Но на других серверах у него нормально все.
Ксс он уже переустанавливал и даже ставил UCP но все тоже.

Кто знает из-за чего его постояно выкидывает?

У кого-то на сервере такой же Steam ID как и у твоего друга) Пусть установит другой емулятор, или просто забань того игрока у которого такой же стим как у твоего друга. 

  • Наверх

#3


ranis17

Отправлено 20 Ноябрь 2014 — 16:43

я короче погуглил:D

Написано типа может стоит на сервер мультипротокол)

  • Наверх

#4


MonsterParamon

MonsterParamon

    Новичок

  • Пользователь
  • Pip

  • 12 сообщений

Отправлено 20 Ноябрь 2014 — 20:22

У кого-то на сервере такой же Steam ID как и у твоего друга) Пусть установит другой емулятор, или просто забань того игрока у которого такой же стим как у твоего друга. 

фишка в том что его выкидывает и он как в лаге висит в игре, пока его же не кикнешь он не зайдет

я короче погуглил :D

Написано типа может стоит на сервер мультипротокол)

Это что?)

  • Наверх

#5


☆★☆БАТЯ☆★☆™

Отправлено 20 Ноябрь 2014 — 20:36

я короче погуглил :D

Написано типа может стоит на сервер мультипротокол)

Какой мультипротокол у CSS…

  • wait-angel это нравится
  • Наверх

#6


MonsterParamon

MonsterParamon

    Новичок

  • Пользователь
  • Pip

  • 12 сообщений

Отправлено 20 Ноябрь 2014 — 20:42

Какой мультипротокол у CSS…

А ты не знаешь в чем может быть проблема?

  • Наверх

#7


☆★☆БАТЯ☆★☆™

Отправлено 20 Ноябрь 2014 — 20:43

Лагучий сервер просто, смотри свой мусор плагинов.

  • Наверх

#8


MonsterParamon

MonsterParamon

    Новичок

  • Пользователь
  • Pip

  • 12 сообщений

Отправлено 20 Ноябрь 2014 — 20:48

Лагучий сервер просто, смотри свой мусор плагинов.

eSTEAMATiON (No Steam) Может в этом проблема?

  • Наверх

#9


ranis17

Отправлено 20 Ноябрь 2014 — 20:53

eSTEAMATiON (No Steam) Может в этом проблема?

RevEmu может?)

Какой мультипротокол у CSS…

да я сам удивился такую фигню пишут инете)

Обычно это в 1.6 как мне известно.

  • Наверх

#10


☆★☆БАТЯ☆★☆™

Отправлено 20 Ноябрь 2014 — 20:58

Ну значит сервер у него v34

  • Наверх

#11


MonsterParamon

MonsterParamon

    Новичок

  • Пользователь
  • Pip

  • 12 сообщений

Отправлено 20 Ноябрь 2014 — 20:59

RevEmu может?)

да я сам удивился такую фигню пишут инете)

Обычно это в 1.6 как мне известно.

eSTEAMATiON (No Steam)
Эмулятор для no steam (Емулирут SteamID по железу клиента)
?

  • Наверх

#12


ranis17

Отправлено 20 Ноябрь 2014 — 21:17

eSTEAMATiON (No Steam)
Эмулятор для no steam (Емулирут SteamID по железу клиента)
?

Скинь список плагинов :)

  • Наверх

#13


MonsterParamon

MonsterParamon

    Новичок

  • Пользователь
  • Pip

  • 12 сообщений

Отправлено 20 Ноябрь 2014 — 21:30

RevEmu может?)

да я сам удивился такую фигню пишут инете)

Обычно это в 1.6 как мне известно.

SourceMod
Основной модуль для управления сервера и установки дополнительных плагинов. Включает в себя MetamodSource

SourceTV admin demorecord SourceTV admin demorecord
Плагин позволяет управлять записью демок из админки

Noblock 1.4.2 Noblock 1.4.2
Плагин позволяет игрокам проходить друг друга на сквозь, тем самым убирает возможность блокировки друг друга. Плагин хорошо подойдет для серверов с динамичными режимами игры (Surf, GunGame, DeathMatch).

Anti-Reconnect Anti-Reconnect
Блокирует реконект игроку на определенное время.

Quake Sounds 2.7.5 Quake Sounds 2.7.5
Плагин добавляет дополнительные звуки по игре QUAKE

Dissolve 1.0.2 Dissolve 1.0.2
Растворяет трупы игроков в воздухе после их смерти

Show Damage Show Damage
Плагин показывает на экране нанесенные повреждения.

QuickDefuse QuickDefuse
Выбор провода при обезвреживании бомбы.

Advertisements 0.6.0 Advertisements 0.6.0
Это простой плагин рекламы основан на basechat. Он поддерживает такие команды как : say, csay, hsay, msay и tsay

TeamBets 2.6 TeamBets 2.6
Этот плагин позволяет игрокам делать ставки на то, какая из команд выиграет раунд.

Advanced c4 timer Advanced c4 timer
Плагин добавляет таймер бомбы в игру. Есть возможность настроить звуки отсчета.

Bunnystopper Bunnystopper
Плагин,запрещающий делать игрокам распрыг. Принцип работы плагина — высота прыжка остаётся прежней,а гравитация повышена

AdminList AdminList
Плагин выводит список администраторов находящихся в игре.

Rock the Vote Rock the Vote
Плагин дает возможность простым юзерам создавать голосование за след. карту

Resetscore v 1.0.3 Resetscore v 1.0.3
С помощью данного плагина игроки могут обнулить свой счет.

No team flash No team flash Тестируемый
Этот плагин позволяет отключить ослепление от световых гранат брошенных своей командой

TeamSwitch v1.4.0 TeamSwitch v1.4.0 Тестируемый
Плагин позволяет администраторам перемещать игроков.

Skinchooser Skinchooser
Плагин позволяет добавить на ваш сервер модели админов

VBAC — Very Basic Anti-Cheat VBAC — Very Basic Anti-Cheat
Античит плагин для CSS

WeaponGiver v1.01 WeaponGiver v1.01
Дает игрокам оружия обычно используются имена, так что вам не нужно помнить имена оружия. Выбери оружие, а затем выбрать игрока на ее получение. Для вызова меню напишите в чате !wg

Permamute 0.1 Rus Permamute 0.1 Rus
Плагин отключает чат и микрофон навсегда.

SM Parachute 2.5 Final Full SM Parachute 2.5 Final Full
С помощью этого плагина вы сможете падать плавно, используя парашют. Игроку ничего не нужно делать, чтобы использовать плагин, кроме нажатия клавиши Е для использования парашюта.

Dosprotect Dosprotect Тестируемый
Плагин для защиты сервера от DOS-атак

Weapon Restrict 3.1.6 Weapon Restrict 3.1.6
Позволяет Админам запрещать или ограничивать определенное оружие. Также можно запретить для определенной команды, СТ или Т.

SourceBans-1.4.10 SourceBans-1.4.10
Данный плагин предназначен для SourceBans

Joinserver sounds v1.1 Joinserver sounds v1.1 Тестируемый
С помощью данного плагина при входе на сервер будет проигрываться музыка.

Simple Welcome Message 1.2 Simple Welcome Message 1.2 Тестируемый
Данный плагин выводит сообщение игрокам при входе на сервер. Возможность включать как отдельные сообщения, так и все вместе.

GrenadeTrails 1.1 GrenadeTrails 1.1
Плагин создает луч,который отображает траекторию полета гранат.

Kigen Kigen’s Anti-Cheat (1.2.2.9.8.4) for CSS v.34 Тестируемый
Лучший серверный Anti-Cheat для старой версии игры Counter-Strike: Source v.34. Лучший помощник администратору сервера, об перехвате недоброжелательных игроков.

AntiSpam [Status and Ping] (только для eSTEAMATiON) AntiSpam [Status and Ping] (только для eSTEAMATiON)
Защита от скриптов вызыващих лаги командами status и ping

Weapon Fight 1.3.8.6 Переделанный (Knife Fight) Weapon Fight 1.3.8.6 Переделанный (Knife Fight) Тестируемый
Когда игроки останутся 1 на 1 плагин предложит им сразиться на различных оружиях

Welcome Sound v1.0.1 Welcome Sound v1.0.1
Звуковое приветствие при

21:29:49

заходе на сервер

RoundEndSound v2.5.0 RoundEndSound v2.5.0
Проигрывает случайные звуки в конце раунда.

CSS Bank 1.5.1 CSS Bank 1.5.1 Тестируемый
Игрок может положить деньги в банк, передавать их другим игрокам или снять при необходимости.

Blocker passes 1.2.0 Blocker passes 1.2.0 Тестируемый
Плагин позволяет администратору сервера через админ меню устанавливать в нужных местах блокирующие проход пропсы или любые другие пропсы и включить автоматическую установку этих пропсов каждый раунд, если игроков на сервере меньше, чем указано к конфиге плагина.

Rankme 2.8.3 Rankme 2.8.3 Тестируемый
RankMe — плагин организует на сервере статистику игроков и показывает ранг игрока в общем топ листе. Учитывая его расширенные настройки, можно учитывать как все показатели так и некоторые. Поддержка SQLite и MySQL.

Players Votes Redux 1.2.3 Players Votes Redux 1.2.3 Тестируемый
Плагин добавляет возможность голосований обычным игрокам. Полное описание: Игроки могут голосовать за кик игрока с сервера votekick, за бан voteban, за отключение игроку возможности говорить и писать в чат votemute и голосовать за немедленное изменение карты или за изменение карты по окончании timelimit votemap Команды: say votekick, voteban, votemap и votemute для использования игроками.

IP Name & Say Block v2 IP Name & Say Block v2

отправь на форуме попросили
что тут лишние?)
 

  • Наверх

#14


Kakoin

Отправлено 20 Ноябрь 2014 — 21:32

SourceMod
Основной модуль для управления сервера и установки дополнительных плагинов. Включает в себя MetamodSource

SourceTV admin demorecord SourceTV admin demorecord
Плагин позволяет управлять записью демок из админки

Noblock 1.4.2 Noblock 1.4.2
Плагин позволяет игрокам проходить друг друга на сквозь, тем самым убирает возможность блокировки друг друга. Плагин хорошо подойдет для серверов с динамичными режимами игры (Surf, GunGame, DeathMatch).

Anti-Reconnect Anti-Reconnect
Блокирует реконект игроку на определенное время.

Quake Sounds 2.7.5 Quake Sounds 2.7.5
Плагин добавляет дополнительные звуки по игре QUAKE

Dissolve 1.0.2 Dissolve 1.0.2
Растворяет трупы игроков в воздухе после их смерти

Show Damage Show Damage
Плагин показывает на экране нанесенные повреждения.

QuickDefuse QuickDefuse
Выбор провода при обезвреживании бомбы.

Advertisements 0.6.0 Advertisements 0.6.0
Это простой плагин рекламы основан на basechat. Он поддерживает такие команды как : say, csay, hsay, msay и tsay

TeamBets 2.6 TeamBets 2.6
Этот плагин позволяет игрокам делать ставки на то, какая из команд выиграет раунд.

Advanced c4 timer Advanced c4 timer
Плагин добавляет таймер бомбы в игру. Есть возможность настроить звуки отсчета.

Bunnystopper Bunnystopper
Плагин,запрещающий делать игрокам распрыг. Принцип работы плагина — высота прыжка остаётся прежней,а гравитация повышена

AdminList AdminList
Плагин выводит список администраторов находящихся в игре.

Rock the Vote Rock the Vote
Плагин дает возможность простым юзерам создавать голосование за след. карту

Resetscore v 1.0.3 Resetscore v 1.0.3
С помощью данного плагина игроки могут обнулить свой счет.

No team flash No team flash Тестируемый
Этот плагин позволяет отключить ослепление от световых гранат брошенных своей командой

TeamSwitch v1.4.0 TeamSwitch v1.4.0 Тестируемый
Плагин позволяет администраторам перемещать игроков.

Skinchooser Skinchooser
Плагин позволяет добавить на ваш сервер модели админов

VBAC — Very Basic Anti-Cheat VBAC — Very Basic Anti-Cheat
Античит плагин для CSS

WeaponGiver v1.01 WeaponGiver v1.01
Дает игрокам оружия обычно используются имена, так что вам не нужно помнить имена оружия. Выбери оружие, а затем выбрать игрока на ее получение. Для вызова меню напишите в чате !wg

Permamute 0.1 Rus Permamute 0.1 Rus
Плагин отключает чат и микрофон навсегда.

SM Parachute 2.5 Final Full SM Parachute 2.5 Final Full
С помощью этого плагина вы сможете падать плавно, используя парашют. Игроку ничего не нужно делать, чтобы использовать плагин, кроме нажатия клавиши Е для использования парашюта.

Dosprotect Dosprotect Тестируемый
Плагин для защиты сервера от DOS-атак

Weapon Restrict 3.1.6 Weapon Restrict 3.1.6
Позволяет Админам запрещать или ограничивать определенное оружие. Также можно запретить для определенной команды, СТ или Т.

SourceBans-1.4.10 SourceBans-1.4.10
Данный плагин предназначен для SourceBans

Joinserver sounds v1.1 Joinserver sounds v1.1 Тестируемый
С помощью данного плагина при входе на сервер будет проигрываться музыка.

Simple Welcome Message 1.2 Simple Welcome Message 1.2 Тестируемый
Данный плагин выводит сообщение игрокам при входе на сервер. Возможность включать как отдельные сообщения, так и все вместе.

GrenadeTrails 1.1 GrenadeTrails 1.1
Плагин создает луч,который отображает траекторию полета гранат.

Kigen Kigen’s Anti-Cheat (1.2.2.9.8.4) for CSS v.34 Тестируемый
Лучший серверный Anti-Cheat для старой версии игры Counter-Strike: Source v.34. Лучший помощник администратору сервера, об перехвате недоброжелательных игроков.

AntiSpam [Status and Ping] (только для eSTEAMATiON) AntiSpam [Status and Ping] (только для eSTEAMATiON)
Защита от скриптов вызыващих лаги командами status и ping

Weapon Fight 1.3.8.6 Переделанный (Knife Fight) Weapon Fight 1.3.8.6 Переделанный (Knife Fight) Тестируемый
Когда игроки останутся 1 на 1 плагин предложит им сразиться на различных оружиях

Welcome Sound v1.0.1 Welcome Sound v1.0.1
Звуковое приветствие при

21:29:49

заходе на сервер

RoundEndSound v2.5.0 RoundEndSound v2.5.0
Проигрывает случайные звуки в конце раунда.

CSS Bank 1.5.1 CSS Bank 1.5.1 Тестируемый
Игрок может положить деньги в банк, передавать их другим игрокам или снять при необходимости.

Blocker passes 1.2.0 Blocker passes 1.2.0 Тестируемый
Плагин позволяет администратору сервера через админ меню устанавливать в нужных местах блокирующие проход пропсы или любые другие пропсы и включить автоматическую установку этих пропсов каждый раунд, если игроков на сервере меньше, чем указано к конфиге плагина.

Rankme 2.8.3 Rankme 2.8.3 Тестируемый
RankMe — плагин организует на сервере статистику игроков и показывает ранг игрока в общем топ листе. Учитывая его расширенные настройки, можно учитывать как все показатели так и некоторые. Поддержка SQLite и MySQL.

Players Votes Redux 1.2.3 Players Votes Redux 1.2.3 Тестируемый
Плагин добавляет возможность голосований обычным игрокам. Полное описание: Игроки могут голосовать за кик игрока с сервера votekick, за бан voteban, за отключение игроку возможности говорить и писать в чат votemute и голосовать за немедленное изменение карты или за изменение карты по окончании timelimit votemap Команды: say votekick, voteban, votemap и votemute для использования игроками.

IP Name & Say Block v2 IP Name & Say Block v2

отправь на форуме попросили
что тут лишние?)
 

sm plugins list в ркон консоль 

  • Наверх

#15


MonsterParamon

MonsterParamon

    Новичок

  • Пользователь
  • Pip

  • 12 сообщений

Отправлено 20 Ноябрь 2014 — 21:38

sm plugins list в ркон консоль 

[SM] Listing 53 plugins:
01 «Basic Info Triggers» (1.5.3) by AlliedModders LLC
02 «QuickDefuse» (0.0.3) by pRED* and www.MyArena.ru
03 «Fun Commands» (1.5.3) by AlliedModders LLC
04 «SM WeaponGiver» (1.0.1) by LightningZLaser and www.MyArena.ru
05 «Grenade Trails» (1.1) by Fredd
06 «Round and Map End Sound» (2.5.0) by FrozDark (HLModders.ru LLC) and www.MyArena.ru
07 «Nextmap» (1.5.3) by AlliedModders LLC
08 «SM Parachute» (2.5.0) by SWAT_88 and www.MyArena.ru
09 «Advertisements» (0.6.0) by Tsunami
10 «Kigen’s Anti-Cheat» (1.2.2.9.8.9) by Kigen, GoD-Tony, psychonic and GoDtm666.
11 <Error> «Simple Welcome Message» (1.2) by Zuko
12 «[VIP] Very Important Person» (beta_0.0.5) by GoDtm666
13 «Show Damage» (1.0.7) by exvel
14 «Anti-Reconnect» (1.1.5) by exvel and www.MyArena.ru
15 «Admin Menu» (1.5.3) by AlliedModders LLC
16 «Team Bets and www.MyArena.ru» (2.6.0) by GrimReaper — Original by ferret
17 «Rock The Vote» (1.5.3) by AlliedModders LLC
18 «TeamSwitch» (1.4.0) by MistaGee (Modify by Snake 60) andwww.MyArena.ru
19 «Anti-Flood» (1.5.3) by AlliedModders LLC
20 «Basic Votes» (1.5.3) by AlliedModders LLC
21 «Basic Comm Control» (1.5.3) by AlliedModders LLC
22 «sm_dod_joinserver» (1.1) by Misery
23 «Basic Chat» (1.5.3) by AlliedModders LLC
24 «Reserved Slots» (1.5.3) by AlliedModders LLC
25 «Welcome Sound» (1.0.1) by GoDtm666 (www.MyArena.ru)
26 «PermaMute» (0.1) by Ryan «FLOOR_MASTER» Mannion
27 «Fun Votes» (1.5.3) by AlliedModders LLC
28 «No Team Falsh» (1.0.0) by GoDtm666
29 «Status Protect» (1.0.2) by GoDtm666 and www.MyArena.ru
30 «RankMe» (2.8.3) by lok1
31 «SrcTV demorecord» (0.3) by O!KAK
32 «MapChooser» (1.5.3) by AlliedModders LLC
33 «IP Name & Say Block» (2.0) by R1KO
34 «Client Preferences» (1.5.3) by AlliedModders LLC
35 «Blocker passes» (1.2.0) by »Satan«
36 «Weapon Restrict» (3.1.6) by Dr!fter
37 «bunnystopper» (1.0.1) by Bullet
38 «Admin Help» (1.5.3) by AlliedModders LLC
39 «Weapon Fight (Edited old Knife Fight)» (1.3.8.6) by XARiUS, Otstrel.Ru Team and GoDtm666 www.MyArena.ru
40 «CSS Bank» (1.5.1) by Miraculix and www.MyArena.ru
41 «Player Commands» (1.5.3) by AlliedModders LLC
42 «Sound Commands» (1.5.3) by AlliedModders LLC
43 «SourceBans» (1.4.10) by SourceBans Development Team
44 «Advanced c4 Countdown Timer» (1.4.1) by dalto andwww.MyArena.ru
45 «Admin List» (1.2.0) by Fredd and www.MyArena.ru
46 «Basic Commands» (1.5.3) by AlliedModders LLC
47 «Players Votes Redux» (1.2.3) by ReFlexPoison
48 «Reset Score» (1.0.3) by GoDtm666 (www.MyArena.ru)
49 «Dissolve» (1.0.2) by L. Duke and www.MyArena.ru
50 «Admin File Reader» (1.5.3) by AlliedModders LLC
51 «Quake Sounds» (2.7.5) by dalto, Grrrrrrrrrrrrrrrrrrr, psychonic andwww.MyArena.ru
52 «SM SKINCHOOSER» (2.1.0) by Andi67
53 «NoBlock» (1.4.2) by Otstrel.ru Team and www.MyArena.ru
Load Errors:
Simple Welcome Message: Error detected in plugin startup (see error logs)

  • Наверх

#16


Kakoin

Отправлено 20 Ноябрь 2014 — 21:51

[SM] Listing 53 plugins:
01 «Basic Info Triggers» (1.5.3) by AlliedModders LLC
02 «QuickDefuse» (0.0.3) by pRED* and www.MyArena.ru
03 «Fun Commands» (1.5.3) by AlliedModders LLC
04 «SM WeaponGiver» (1.0.1) by LightningZLaser and www.MyArena.ru
05 «Grenade Trails» (1.1) by Fredd
06 «Round and Map End Sound» (2.5.0) by FrozDark (HLModders.ru LLC) and www.MyArena.ru
07 «Nextmap» (1.5.3) by AlliedModders LLC
08 «SM Parachute» (2.5.0) by SWAT_88 and www.MyArena.ru
09 «Advertisements» (0.6.0) by Tsunami
10 «Kigen’s Anti-Cheat» (1.2.2.9.8.9) by Kigen, GoD-Tony, psychonic and GoDtm666.
11 <Error> «Simple Welcome Message» (1.2) by Zuko
12 «[VIP] Very Important Person» (beta_0.0.5) by GoDtm666
13 «Show Damage» (1.0.7) by exvel
14 «Anti-Reconnect» (1.1.5) by exvel and www.MyArena.ru
15 «Admin Menu» (1.5.3) by AlliedModders LLC
16 «Team Bets and www.MyArena.ru» (2.6.0) by GrimReaper — Original by ferret
17 «Rock The Vote» (1.5.3) by AlliedModders LLC
18 «TeamSwitch» (1.4.0) by MistaGee (Modify by Snake 60) andwww.MyArena.ru
19 «Anti-Flood» (1.5.3) by AlliedModders LLC
20 «Basic Votes» (1.5.3) by AlliedModders LLC
21 «Basic Comm Control» (1.5.3) by AlliedModders LLC
22 «sm_dod_joinserver» (1.1) by Misery
23 «Basic Chat» (1.5.3) by AlliedModders LLC
24 «Reserved Slots» (1.5.3) by AlliedModders LLC
25 «Welcome Sound» (1.0.1) by GoDtm666 (www.MyArena.ru)
26 «PermaMute» (0.1) by Ryan «FLOOR_MASTER» Mannion
27 «Fun Votes» (1.5.3) by AlliedModders LLC
28 «No Team Falsh» (1.0.0) by GoDtm666
29 «Status Protect» (1.0.2) by GoDtm666 and www.MyArena.ru
30 «RankMe» (2.8.3) by lok1
31 «SrcTV demorecord» (0.3) by O!KAK
32 «MapChooser» (1.5.3) by AlliedModders LLC
33 «IP Name & Say Block» (2.0) by R1KO
34 «Client Preferences» (1.5.3) by AlliedModders LLC
35 «Blocker passes» (1.2.0) by »Satan«
36 «Weapon Restrict» (3.1.6) by Dr!fter
37 «bunnystopper» (1.0.1) by Bullet
38 «Admin Help» (1.5.3) by AlliedModders LLC
39 «Weapon Fight (Edited old Knife Fight)» (1.3.8.6) by XARiUS, Otstrel.Ru Team and GoDtm666 www.MyArena.ru
40 «CSS Bank» (1.5.1) by Miraculix and www.MyArena.ru
41 «Player Commands» (1.5.3) by AlliedModders LLC
42 «Sound Commands» (1.5.3) by AlliedModders LLC
43 «SourceBans» (1.4.10) by SourceBans Development Team
44 «Advanced c4 Countdown Timer» (1.4.1) by dalto andwww.MyArena.ru
45 «Admin List» (1.2.0) by Fredd and www.MyArena.ru
46 «Basic Commands» (1.5.3) by AlliedModders LLC
47 «Players Votes Redux» (1.2.3) by ReFlexPoison
48 «Reset Score» (1.0.3) by GoDtm666 (www.MyArena.ru)
49 «Dissolve» (1.0.2) by L. Duke and www.MyArena.ru
50 «Admin File Reader» (1.5.3) by AlliedModders LLC
51 «Quake Sounds» (2.7.5) by dalto, Grrrrrrrrrrrrrrrrrrr, psychonic andwww.MyArena.ru
52 «SM SKINCHOOSER» (2.1.0) by Andi67
53 «NoBlock» (1.4.2) by Otstrel.ru Team and www.MyArena.ru
Load Errors:
Simple Welcome Message: Error detected in plugin startup (see error logs)

37 «bunnystopper» (1.0.1) by Bullet удали в KAC есть защита от bunnyhop

скинь лог Simple Welcome Message

остальные плагины по мне норм

  • Наверх

#17


WINS

Отправлено 21 Ноябрь 2014 — 1:18

говноинтернет пусть себе заменит этот человек, а то понеслось тут.. плагины, мультипротоколы…

у него связь с сервером отваливается и пока его не скинет по таймауту он висит в списке игроков со всеми вытекающими

Сообщение отредактировал WINS: 21 Ноябрь 2014 — 1:33

  • Наверх

#18


☆★☆БАТЯ☆★☆™

Отправлено 21 Ноябрь 2014 — 11:45

говноинтернет пусть себе заменит этот человек, а то понеслось тут.. плагины, мультипротоколы…

у него связь с сервером отваливается и пока его не скинет по таймауту он висит в списке игроков со всеми вытекающими

Но на других серверах у него нормально все.

  • Наверх

#19


WINS

Отправлено 22 Ноябрь 2014 — 1:57

Играет один человек на паблике и через 4-5 минут его выкидывает(лагает)

где массовый характер чтоб пинать сервер?

Но на других серверах у него нормально все.

на месте админа туда бы и отправил (а может и подальше) где у него не лагает.

Сообщение отредактировал WINS: 22 Ноябрь 2014 — 2:00

  • Наверх

#20


wait-angel

Отправлено 22 Ноябрь 2014 — 8:49

Есть что-то подобное?
(connection closing)
(time out)?

  • Наверх

A Bit about Stream

Stream is a new feature added in java 8 and represents a sequence of elements. A stream originates from a collection which holds these elements. This collection may be an array, a list, a set, a map etc. It should be remembered that a stream itself does not hold any elements.

A stream supports many operations. It can be iterated, sorted, filtered, reduced etc.

Error – Cause

As stated above, many operations can be applied over a stream. Every operation consumes the stream and a stream can be consumed only once. It cannot be reused. If the same stream is used more than once, an error of the form java.lang.IllegalStateException: stream has already been operated upon or closed is raised. For Example, the following code will generate this error :

//create an array
String[] strArr = { "a", "b" };
//initialize a stream to this array
Stream stream = Arrays.stream(strArr);
//convert this stream to a list :: Stream is consumed here
List list = stream.collect(Collectors.toList());
System.out.println(list);
//iterate over this list :: Raises an error
stream.forEach(str -> System.out.println(str));

Output

[a, b]
Exception in thread “main” java.lang.IllegalStateException: stream has already been operated upon or closed
    at java.util.stream.AbstractPipeline.sourceStageSpliterator(AbstractPipeline.java:274)
    at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
    at Codippa.main(Codippa.java:53)

This is because the stream obtained from the array has already been consumed at Line 6 where we are using it to convert to a List and we are re-using it on Line 8 for iterating over the underlying array, which is not permitted and hence an exception is thrown.

Solution

It is not permitted to re-use a stream after it has been consumed once. From javadocs of java.util.Stream interface,

A stream should be operated on (invoking an intermediate or terminal stream operation) only once. A stream implementation may throw IllegalStateException if it detects that the stream is being reused.

But there might be some scenarios where you have to re-use a stream such as once for filtering a collection to display elements matching some condition and then for iterating over entire stream to display all elements. In such cases following code should help you out :

// create an array
String[] strArr = { "a", "b" };
// initialize a stream to this array
Stream stream = Arrays.stream(strArr);
// convert this stream to a list :: Stream is consumed here
List list = stream.collect(Collectors.toList());
System.out.println(list);
// return a stream from supplier and iterate over it
Supplier<Stream<String>> supplier = () -> Stream.of(strArr);
supplier.get().forEach(str -> System.out.println(str));

Output

No error and a correct output, which means we are able to get a solution. Last two lines of the above code require an explanation.

java.util.function.Supplier is a Functional interface with only one method get() which accepts no parameters and returns a value. The expression () -> Stream.of(strArr) is a Lambda expression which is calling of() method of java.util.stream.Stream interface. of() method of java.util.stream.Stream interface returns a value (a Stream object).

Hence the expression () -> Stream.of(strArr) accepts no arguments and returns a value. Thus it can easily represent a Supplier (whose get() method accepts no arguments and returns a value).

Since of() method called in Lambda expression returns a stream of type String, it is assigned to a Supplier> and hence, get() method of Supplier returns a Stream. Now using forEach method of stream, we can iterate over it.

 Let’s tweak in

      1. A Functional interface is always annotated with @FunctionalInterface.
      2. A stream implementation class has a field linkedOrConsumed. This is a boolean field which is set to true once the stream has been utilized. Before opening the stream, this field is checked to be false. If it is found true, a java.lang.IllegalStateException is thrown.
      3. of() method of java.util.stream.Stream interface is a static method.
      4. of() method returns a new stream pointing to the elements of the collection passed to it. Hence the above piece of may also be written as :
        // create an array
        String[] strArr = { "a", "b" };
        // initialize a stream to this array
        Stream stream = Arrays.stream(strArr);
        // convert this stream to a list :: Stream is consumed here
        List list = stream.collect(Collectors.toList());
        System.out.println(list);
        // get a stream from array
        Stream stream2 = Stream.of(strArr);
        // iterate over the stream
        stream2.forEach(str -> System.out.println(str));

        Thus both the above codes work because we are working on two different streams altogether.

Hope this post helped you out. If there is any explanation required, do not hesitate to clarify !!!

Java Stream reuse – traverse stream multiple times?

stream has already been operated upon or closed

Exception

java.lang.IllegalStateException: stream has already been operated upon or closed

2. Look At Problem

2.1 From Java 8 API:

A stream should be operated on (invoking an intermediate or terminal stream operation) only once.

2.2 Explanation:

Taking a deeper look at what happens after stream creation.

A) Stream has intermediate operations, short-circuiting terminal operation and terminal operations.
B) Once a Stream is created, A pipe lines associated to this stream will be created.
C) On the stream, We can perform operations like filter(), map(), findAny(), findFirst(), count(), sum() methods on it.
D) Once we perform any operation on the stream, then that operation is placed into the current stream.
E) All operations will be executed and closes stream.

filter(), map() methods are intermediate operations.
findAny(), findFirst() are short-circuiting terminal operation
count() and sum() are terminal operations.

2.3 Example 1:

Next, think if we create a substreams from main stream as below.

String conent = "line 1 n line 2 n line 3 n line 4 n line 5";

Here a stream is created with pipeline.

Stream mainStream = Stream.of(conent.split("n"));

Now, calling filter method on mainStream. Now filter operation is placed in the current pipeline.

mainStream.filter(line -> line.indexOf("line") > -1);

Now again calling filter method on mainStream. That will try to put the filter operation in the pipe line. But the pipe line is currently in operated mode with above filter. So, it it not possible to create another pipe line on the same stream.

mainStream.filter(line -> line.indexOf("1") > -1);

So it will throw now Runtime exception.

Exception in thread "main" java.lang.IllegalStateException: stream has already been operated upon or closed
 at java.base/java.util.stream.AbstractPipeline.(AbstractPipeline.java:203)
 at java.base/java.util.stream.ReferencePipeline.(ReferencePipeline.java:94)
 at java.base/java.util.stream.ReferencePipeline$StatelessOp.(ReferencePipeline.java:696)
 at java.base/java.util.stream.ReferencePipeline$2.(ReferencePipeline.java:165)
 at java.base/java.util.stream.ReferencePipeline.filter(ReferencePipeline.java:164)
 at com.java.w3schools.blog.exceptions.streams.StreamIntermediateException.main(StreamIntermediateException.java:17)

2.4 Example 2:

Another example program to produce the same exception.

// Creating Stream from String.
String conent = "line 1 n line 2 n line 3 n line 4 n line 5";
Stream mainStream = Stream.of(conent.split("n"));

// Operation on mainStream 
Optional firstValue = mainStream.findFirst();
System.out.println("firstValue : " + firstValue.get());

// Operation on mainStream

Optional anyValue = mainStream.findAny();
System.out.println("anyValue : " + anyValue.get());

See in this example, calling two methods on mainStream.

First when calling findFirst() then it returns value. But next invoking findAny(), at this time stream or pipe line is already closed. So it can not perform operation on the same stream.

Output:

firstValue : line 1 
Exception in thread "main" java.lang.IllegalStateException: stream has already been operated upon or closed
 at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:229)
 at java.base/java.util.stream.ReferencePipeline.findAny(ReferencePipeline.java:548)
 at com.java.w3schools.blog.exceptions.streams.StreamCloseException.main(StreamCloseException.java:25)

Here firstValue is printed but while getting value from findAny() operation it has failed to get the stream because stream is already closed.

Note:

A Stream should be operated on (invoking an intermediate or terminal stream operation) only once. A Stream implementation may throw IllegalStateException if it detects that the Stream is being reused.

3. Solutions

We have many scenarios where the same stream is required to perform many operations. See the above example 2 where two values are needed.

To solve this issue, We need to create two-stream instances for these two separate operations.

Note:

Instead of creating two stream objects separately, We can use built in API Functional Interface Supplier<T> which is super handy in usage.

Supplier> supplier = () -> Stream.of(conent.split("n"));

// findFirst Operation
Optional firstValue = supplier.get().findFirst();
System.out.println("firstValue : " + firstValue.get());

// findAny Operation
Optional anyValue =supplier.get().findAny();
System.out.println("anyValue : " + anyValue.get());

In this program, created a Supplier object with type of Stream<String>. Supplier has a abstract method that is get() which returns Stream<String>. Now, We have to use Lambda Expression for Supplier Functional Interface with () zero arguments.

So, Whenever we call supplier.get() method than a new fresh Stream<String> object will be created and can perform any stream operation on it.

Output:

Output is returned properly without any errors.

firstValue : line 1 
anyValue : line 5

4. Conclusion

In this article, We’ve seen how to fix «java.lang.IllegalStateException: stream has already been operated upon or closed» problem when working with Java 8 Stream objects.

And also seen how to use terminal operations on the same stream using Supplier interface which avoids famous exception «stream has already been operated upon or closed».

All the examples shown in this article are available over GitHub with complete examples.

It seems like uTorrent is already running but not responding – что делать?

Здравствуйте. Многие из нас привыкли качать нужный софт, игры, фильмы через торрент. Но иногда при попытке запуска загрузки выскакивает окно с ошибкой «It seems like uTorrent is already running but not responding» что делать? Это довольно распространенная проблема, которая устраняется крайне просто. Расскажу о причинах и способах исправления.

Торрент запущен но не отвечает

Почему возникает ошибка Torrent

Перевод текста сообщения формулируется следующим образом – «Похоже, что торрент уже запущен, но не отвечает». Очевидно, возникает блокировка приложения, причиной которой могут стать:

  • Работающие антивирусные программы;
  • Запущенные процессы сторонних утилит;
  • Внутренние ошибки uTorrent клиента;
  • Сбои операционной системы Виндовс, приводящие к несовместимости конфигураций.

Исходя из перечисленных факторов будем подбирать методы удаления ошибки.


It seems like uTorrent is already running but not responding – как исправить?

Начнём с самых простых и очевидных способов, которые могут помочь в 99% случаев.

  • Перезапускаем компьютер. Дело в том, что, если Вы в течении дня работаете за ПК, собирается куча мусора (кеша), который может приводить к различным дефектам. Перезагрузите ПК – и всё наладится (возможно);
  • Завершение процесса. Очень эффективный шаг, заключающийся в снятии задачи torrent.exe посредством диспетчера (вызываем его сочетанием клавиш Ctrl + Esc + Shift ):

Снятие задачи торрент exe

  • Обновление клиента. Бывает так, что Вы используете неактуальную версию торрента, которая не очень «дружит» в Windows Необходимо открыть официальный сайт в браузере, загрузить на диск новый инсталлятор, установить ПО. Подробно об этой процедуре я рассказывал в тематической статье;
  • Сторонний софт, вирусы. Если заметили, что ошибка «It seems like uTorrent is already running but not responding» (как перевести на русский я уже рассказывал) появилась после установки определенных программ, то попробуйте их удалить. Также, не помещает проверить систему на наличие фишинговых и рекламных скриптов. Для этого рекомендую применять бесплатный софт AdwCleaner:

It seems like uTorrent is already running but not responding - что делать?

Если в системе имеется установленный антивирус, то он также может блокировать доступ к торренту. Как вараинт, на время отключите защиту. Или же внесите torrent-клиент в перечень исключений (белый список);

  • Оптимизация реестра. Если Вы длительное время не чистили файловую систему и реестр ПК, то следует запустить сканирование оптимизатором CCleaner (вот инструкция и ссылка на скачивание). Можно использовать и прочие аналоги, которые найдете в списке лучших приложений –оптимизаторов для Виндовс.
  • Ищем решение на официальном форуме. Этот ресурс содержит массу ответов на самые распространенные вопросы пользователей. Я уверен, что там Вы точно найдете методы устранения проблемы «Похоже, что торрент уже запущен, но не отвечает».

Я сам неоднократно сталкивался с сообщением об ошибке «It seems like uTorrent is already running but not responding». Из всех перечисленных методов мне чаще всего приходил на помощь тот, который связан с отключением процесса в диспетчере задач. После «снятия» я снова запускал торрент, и всё работало как надо.

С уважением, Виктор!

Информационный портал IT Техник

Вам помогло? Поделитесь с друзьями — помогите и нам!

It seems like uTorrent is already running but not responding как исправить

При попытке загрузки какого-либо торрент-файла с помощью популярного торрент-клиента «uTorrent» юзер может столкнуться с месаджем «It seems like uTorrent is already running but not responding», после которого попросту ничего не происходит. Попытки перезагрузить клиент обычно не дают какого-либо ощутимого результата, вынуждая человека искать в сети различные алгоритмы решения проблемы. В этом материале я расскажу, в чём суть данной дисфункции, каковы её причины, и как исправить проблему «uTorrent is already running» на вашем ПК.

Внешний вид окна с сообщением

Перевод и причины ошибки в Торрент

В переводе с языка Шекспира текст ошибки звучит как «Кажется, uTorrent уже запущен, но не отвечает» . Обычно это означает ситуацию, при которой система обращается к торрент-клиенту с запросом на обработку торрент-файла, но не получает ответа от указанного клиента по различным причинам. Среди таких причин я бы назвал следующие:

  • Случайный сбой в работе пользовательского ПК;
  • Сбой в работе торрент-клиента;
  • Жесткий диск перегружен 100% в uTorrent;
  • Нормальную работу торрент-клиента блокируют антивирус или брандмауэр (в частности, этим отметился брандмауэр «ZoneAlarm»);
  • В некорректной работе торрент-клиента виновата одна из установленных недавно программ;
  • Корректной работе клиента мешает вирусный зловред;
  • На пользовательской машине установлена устаревшая версия торрент-клиента.

Как исправить дисфункцию «It seems like uTorrent is already running but not responding»

Для решения проблемы рекомендую выполнить следующее:

  • Закройте процесс(ы) торрент-клиента в Диспетчере задач. Нажмите на кнопку «Пуск», в строке поиска введите taskmgr и нажмите ввод. Перейдите во вкладку процессов, найдите там соответствующий торрент-процесс (к примеру, это uTorrent), и закройте его (снимите задачу). Затем попробуйте заново скачать требуемый торрент-файл, проблема может быть уже решена;
  • Если предыдущий совет не помог, попробуйте просто перезагрузить вашу машину. Если проблема имела стохастический характер, после этого она может быть решена;
  • Временно отключите антивирус и брандмауэр на вашем ПК. Если после этого ситуация нормализуется, тогда попробуйте добавить торрент-клиент в исключения вашего антивируса и файервола;
  • Переустановите ваш торрент-клиент для исправления «It seems like uTorrent is already running but not responding». Для этого удалите предыдущую версию клиента через установку и удаление программ (нажмите на кнопку «Пуск», в строке поиска введите appwiz.cpl и нажмите ввод). Затем перезагрузите ваш компьютер, и установите самую актуальную версию торрент-клиента (к примеру, свежую версию «uTorrent» можно установить с сайта utorrent.com). Настройте автоматическое открытие торрент-файлов с помощью загруженного вами торрент-клиента;
  • Проверьте компьютер на наличие вирусных программ. Помогут такие испытанные решения как «Dr.Web CureIt!», «AVG», «Malwarebytes Anti-Malware» и другие аналоги;
  • Проверьте, какие программы вы недавно устанавливали на свой ПК. Какие-либо из установленных программ могла дезорганизовать работу торрент-клиента, и привести к различным сбоям в его функционале. Если проблема возникла после установки какой-либо программы, стоит деинсталлировать её, и понаблюдать, нормализуется ли работа пиринговых сетей на вашем ПК;
  • Откатите систему на стабильную точку восстановления. Если ничего из перечисленного не помогло (что бывает крайне редко), рекомендую выполнить откат системы на предыдущую точку восстановление, при которой рассматриваемой ошибки не наблюдалось. Нажмите на кнопку «Пуск», в строке поиска введите rstrui и нажмите ввод. Выберите нужную точку, и откатите систему на указанное состояние.

Заключение

Для устранения ошибки «It seems like uTorrent is already running but not responding» рекомендую перейти в «Диспетчер задач», найти там процесс(ы) вашего торрент-клиента, и прекратить их работу. В большинстве случаев после этого ситуация нормализуется, и вы сможете работать с P2P-сетями без каких-либо проблем. Если же ошибка продолжает возникать, рекомендую использовать весь комплекс перечисленных мной советов, это поможет нормализовать работу торрент-клиента на вашем ПК.

Источник

Fix: uTorrent not Responding

uTorrent is one of the most used torrent clients in the global market with its reach pertaining up to thousands of customers. It has very competitive rivals but it sustained its position on the internet while also offering the application on different platforms such as Android, Mac, Windows etc.

uTorrent not Responding

One specific issue which is very common with the uTorrent client is it getting into a non-responsive state. This is a very common scenario and occurs to almost every user now and then. In this article, we will go through the causes of why the application misbehaves and later go through the solutions which you can use to solve it. This not responsive issue is often accompanied by the error message “It seems like uTorrent is already running, but not responding”.

What causes uTorrent to go into an Unresponsive state?

There are several different reasons why uTorrent might get into an unresponsive state ranging from permission issues to internal bugs in the application. After going through various user reports and replicating the conditions in our test PCs, we gathered several causes why this behavior occurs. Here are some of them:

  • Administrative Privileges: It is seen that the uTorrent client requires elevated access in order to download data without any barriers from the firewall or have issues with accessing the hard drive.
  • Windows Firewall: If Windows Firewall is blocking the internet traffic of uTorrent, the client might misbehave and cause various issues. Here you have to manually navigate to the Firewall and make sure the client is whitelisted.
  • Windows update: Some Windows updates were observed to conflict with the uTorrent client. These were specific updates and until the official fix is launched by the uTorrent publisher, the only method is to uninstall the update.
  • Corrupt AppData: uTorrent’s local configuration files might have gotten corrupt. If the configuration files are corrupt, the client will not be able to load all the pre-saved data and cause various issues such as not responding.
  • Proxy servers: A unique case was observed where the use of proxy servers had effects on the client’s behavior. Proxy servers are known to improve the existing network architecture but they also conflict and cause problems with network related applications such as uTorrent.
  • Bad uTorrent Files: Sometimes the very installation files of uTorrent client get corrupt and cause related issues. Reinstalling the application usually solves this problem.

Solution 1: Running as Administrator

As you all might already know, uTorrent has huge network traffic over your computer and people usually use the client to download gigabytes of data. When an application is transferring this much data, it is sometimes blocked or is choked down the permissions drain. Administrative privileges are a must for these kinds of applications because if they do not get an elevated status, they will not perform as expected. In this solution, we will enable an option which will permanently get uTorrent to run as an administrator until you turn the option off again.

  1. Locate the uTorrent client, right-click it and select Properties.
  2. Once in the properties window, navigate to the compatibility tab and select Run this program as an administrator. Running uTorrent as Administrator
  3. Press Apply to save changes and exit. Restart your computer and launch uTorrent again. Check if the issue is resolved.

Solution 2: Disabling Proxy Servers

Proxy servers are used in some networks (most organizations or public places) where they are used to provide faster internet by caching elements which are accessed frequently. This mechanism is used throughout the world but to this date, it is known to conflict with network applications (including uTorrent). If you are using uTorrent in an organization where proxy servers are mandatory, it is recommended that you change the network and try again. Here is the method to disable the proxy server in your computer.

  1. Press Windows + R, type “inetcpl.cpl” in the dialogue box and press Enter.
  2. Now Internet Properties will be opened. Click on the tab Connections and then LAN settings.

Disabling Proxy Server

  1. Now if you are using a proxy server, the field will be checked with the details inside. Uncheck any proxy servers if enabled. Now restart the application and check if the issue is resolved.

Solution 3: Deleting AppData

Like all other applications, uTorrent also creates temporary user data for use in its running processes. These user configuration files can get corrupt easily and feed bad data to the application whenever it runs. Think of these user configurations as the main data sources which the application loads up before it launches on your computer. If the very data sources are corrupt, uTorrent will load bad data and cause issues like the one under discussion. In this solution, we will navigate to the application configurations folder and delete uTorrent’s data from there.

  1. Press Windows + R, type “%AppData%utorrent” in the dialogue box and press Enter.
  2. Now delete all the contents of the folder present. After you have deleted the files, restart your computer and launch uTorrent again.

The client will take a while as it will be rebuilding all the configuration files which we deleted. Be patient and check if the issue is resolved.

Solution 4: Granting Access in Firewall

Firewalls are a shield between your computer and the internet. All of your traffic passes through Firewall and if Firewall has restricted access of an application, the application will not be able to communicate over the internet. Usually, uTorrent has the permissions in the Firewall but there are several cases where permissions in public and private network are different. In this solution, we will open your Firewall settings and see if uTorrent has complete access.

  1. Press Windows + S, type “firewall” in the dialogue box and open the Settings application.

Opening Windows Firewall

  1. Once the Firewall settings are launched, click on the option Allow an app through firewall.

Allowing an app through firewall – Firewall Settings

  1. Now click on the option of Change Settings and locate uTorrent from the list of entries. Make sure that you check both the options of private and public.

Whitelisting uTorrent

  1. Save changes and exit. Restart your computer and launch uTorrent again. Check if the issue is resolved.

Solution 5: Deleting Downloading Files

Another workaround which worked for several users was deleting the currently downloading files. Here you have to navigate to the download directory where uTorrent is downloading the files and delete all the files.

Later on, when you launch uTorrent again, it will notice that the files it was downloading are missing and it will either attempt to show an error or try to download the files all over again. This solution solves the issue of not responding if the downloading files were corrupt or were causing the issue.

Solution 6: Creating a new User Account

User profiles are known to get corrupt and applications often run into errors and not responding situations like the one under discussion. Here what you can do is create a new user account and see if uTorrent works properly in it. If it does, it means that your user account was corrupt and you can continue to transfer all your data to the new account and delete the older one.

Note: It is wise to back up your entire data files to an accessible location before proceeding.

  1. Open an administrator account. Type Settings in the start menu dialogue box and click on Accounts.

Accounts – Windows Settings

  1. Now click “Family and other users” options present at the left side of the window.
  2. Once inside select the menu, select “Add someone else to this PC”.

Creating a new account

  1. Now Windows will guide you through its wizard on how to create a new account. When the new window comes forth, click “I don’t have this person’s sign-in information”.

Creating Account without sign-in information

  1. Now select the option “Add a user without Microsoft”. Windows will now prompt you to make a new Microsoft account and display a window like this.

Adding a user without Microsoft Account

  1. Enter all the details and chose an easy password which you can remember.
  2. Check thoroughly if this new local account is working properly and has all the functionalities which you require.
  3. Your local account is now created. Log into the account and launch an instance of uTorrent. Check if it works properly there.

If the client works as expected, you can move on and migrate all your data.

Solution 7: Reinstalling/Installing Older Version

If you are using a beta client of uTorrent, chances are that you will be getting the not responding error message. Beta versions are meant for testing purposes and whenever the application goes into a not responding state, an error report is sent to the developers who use the information to improve their products. You can uninstall the current version of uTorrent and install an older stable version in your computer.

Furthermore, you can also simply try reinstalling the latest version without getting into the hassle of obtaining an older version on the internet. If the current version doesn’t work, you can try older versions and see if this does the trick for you.

  1. Press Windows + R, type “appwiz.cpl” in the dialogue box and press Enter.
  2. Once in the application manager, search for the entry of uTorrent, right-click on it and select Uninstall.

Uninstalling uTorrent

  1. After uninstalling the application, restart your computer and either download the latest version from the official uTorrent website or navigate to third-party websites and install an older version.

Solution 8: Uninstalling Windows Update KB4338818

Like mentioned at the start, there was a Windows Update (KB4338818) which was known to be problematic and caused issues with the uTorrent client. The only solution is to uninstall the installed update and revert to the previous version. Later on, when the uTorrent developers launch an official fix for the client misbehaving with this specific update, you can continue and update your Windows again.

Note: Make sure that you backup your data and information before proceeding.

  1. Press Windows + I to launch the Settings application. Now select Updates and security from the list of sub-headings.
  2. Now click Update history from the list of options.

Update History – Update Settings

  1. Now click on Uninstall updates present at the top of the screen.

Uninstalling Updates

  1. Navigate down to Microsoft Windows. Here all the updates will be listed down. Right-click on the update and select Uninstall.

Uninstalling Problematic Update

  1. Now Windows will attempt at uninstalling the update. A few restarts will occur. After the uninstalling process is complete, launch uTorrent and check if this solved the issue. If not, reinstall uTorrent and try again.

Solution 9: Using BitTorrent

BitTorrent and uTorrent belong to the same family and almost have the same features. If you are constantly experiencing issues with uTorrent, you can go ahead and ditch the uTorrent client and use BitTorrent. According to our survey, we noticed that BitTorrent is a lot more stable and didn’t face unstable issues which uTorrent does. You can launch the same magnets and torrent files using BitTorrent as well.

  1. Open the application manager and uninstall uTorrent from your computer as we did in Solution 6.
  2. After uninstalling uTorrent, restart your computer and navigate to the official BitTorrent website.

Downloading BitTorrent

  1. Now download the torrent client to an accessible location and install it on your computer. Restart your computer before proceeding.

Источник

Здравствуйте, уважаемые друзья! Многие пользователи используют торрент для скачивания различных файлов: фильмов, игр, музыки, книг. Однако очень часто при попытке запустить ту или иную загрузку может выскочить сообщение – «It seems like uTorrent is already running but not responding», из-за которой многие владельцы ПК теряются и не знают, что делать дальше.

На самом деле эта ошибка устраняется довольно легко. В сегодняшнем выпуске мы с вами подробно рассмотрим, как решается подобная проблема.

Причины возникновения проблемы с uTorrent

Если сообщение перевести, то можно понять примерно следующее: «Похоже, торрент уже запущен, но не отвечает». Иными словами, программа блокируется системой либо другим приложением. Самыми распространенными причинами, порождающими такую проблему, можно назвать следующие:

Что такое торрент и как им пользоваться?

— запущенные в фоновом режиме антивирусы;

— процессы, относящиеся к сторонним утилитам и также запущенные в фоновом режиме;

— ошибки самого клиента uTorrent;

— проблемы в Windows, которые приводят к конфликту между программами и настройками операционной системы.

Зная эти факторы, можно довольно просто и быстро решить проблему.

Как скачивать игры через торрент?

1. Исправление проблемы It seems like uTorrent is already running but not responding

2. Начать стоит с самых простых способов, которые, скорее всего, помогут исправить такую ошибку.

3. Перезапустить компьютер. При работе длительное время за компьютером в системе скапливается огромное количество различных временных файлов, которые переполняют кеш. В большинстве случаев обычная перезагрузка помогает решить проблему, потому как все временные файлы автоматически удалятся.

4. Завершить процесс. Для устранения ошибки можно также попробовать завершить процесс torrent.exe, а после снова запустить его. Делается это при помощи диспетчера задач, который можно вызвать, нажав на клавиатуре Ctrl+Esc+Shift.

5. Обновить утилиту. Бывает и такое, что устаревшая версия клиента сбоит. В таком случае необходимо попросту обновить программу до новой версии. Сделать это можно либо через интерфейс самой утилиты, либо скачав последнюю версию на официальном сайте.

6. Удалить сторонние программы либо вирусы. Если ошибка появилась после установки какой-либо программы – есть смысл удалить ее и проверить, как uTorrent будет работать после. Также нелишним будет просканировать компьютер какой-нибудь бесплатной антивирусной программой, к примеру, AdwCleaner.

7. Отключить антивирус. При наличии в системе установленного антивирусного продукта также может происходить блокировка торрента, приводящая к таким ошибкам. Связано это с тем, что далеко не все антивирусы положительно относятся к такого рода продуктам, некоторые считают их потенциально опасными или же вовсе вирусами. Поэтому uTorrent стоит занести в список исключений антивирусного продукта или же отключать последний перед запуском клиента.

8. Почистить реестр. При длительном использовании ПК без обслуживания в нем могут скапливаться различные временные файлы, ключи реестра и другие элементы, замедляющие работу оборудования. Поэтому в случае возникновения такой ошибки есть смысл просканировать компьютер программой CCleaner либо же другим оптимизатором, умеющим очищать Windows от временных файлов.

Как лучше всего почистить реестр?

Поиск информации на официальном сайте uTorrent. Официальный сайт клиента содержит огромную базу ответов на различные вопросы, среди которых есть решения и такой проблемы. Как показывает практика, наиболее эффективным решением является перезапуск торрента, причем, именно отключение его процесса в диспетчере задач. После такого нехитрого действия клиент, скорее всего, больше не выдаст подобное сообщение. Однако, остальные варианты также могут помочь решению проблемы, хоть и немного реже.

Корректное отключение

Для корректного завершения сетевого подключения обе стороны должны послать пакеты с сигналом о завершении (FIN), которые указывают что стороны не будут больше отсылать данные, также каждая сторона должна подтвердить (ACK) получение сигнала о завершении сетевого обмена данными. FIN инициируется когда приложение вызывает метод close(), shutdown() или exit(). После завершения работы метода close() ядро переходит в режим ожидания подтверждения от второй стороны приема сигнала о завершении. Это делает возможной ситуацию когда процесс инициировавший отключение будет завершен прежде чем ядро освободит рессурсы связанные с подключением, и снова разрешит использовать порт для связывания с другим процесоом (в этом случае, при попытке использования порта мы получим исключение AddressAlreadyInUse).

На изображении:

  1. Имеется установленное соединение, состояние ESTABLISHED
  2. Клиент инициирует окончание подключения, посылает серверу сигнал о завершении подключения (FIN), переходит в состояние ожидания ответа сервера (FIN_WAIT_1)
  3. Сервер получает сигнал о завершении подключения и отправляет подтверждение (ACK), переходит в состояние ожидания завершения подключения (CLOSE_WAIT) (вызывает close())
  4. Сервер отсылает клиенту сигнал о том что успешно закрыл подключение (FIN) и пробует прочитать подтверждение клиента (ACK), после чего не дожидаясь его отключается.
  5. Теперь клиенту может придти два сигнала в разной очередности

    ACK — клиент получил подтверждение о том что сервер понял его намерение закрыть подключение

    • Клиент переходит в состояние ожидания сигнала об окончании закрытия подключения (FIN) от сервера (FIN_WAIT_2)
    • Клиент получает сигнал о закрытии подключения сервером (FIN), отправляет подтверждение (ACK), некоторое время ждет(TIME_WAIT) и отключается (ядро освобождает рессурсы) (CLOSED)

    FIN — клиент получает сигнал о закрытии подключения на стороне сервера(FIN), раньше чем подтверждение от сервера (ACK), о получении инициирующего сигнала о закрытии от клиента (FIN)

    1. Клиент отправляет подтверждение приема сигнала о том что сервер закрывает соединение, и переходит в состояние отключения (CLOSING)
    2. После отключения пробует считать сигнал подтверждения от сервера (который был отправлен сервером сразу после получения от клиента сигнала о завершении работы, пункт 2), некоторое время ожидает(TIME_WAIT) и ядро освобождает рессурсы (CLOSING).

На рисунке показаны все воможные состояния, которые могут быть во время корректного завершения, в зависимости от порядка получения пакетов FIN и ACK от удаленной стороны. Обратите внимание, если вы инициировали завершение подключения (левая половина рисунка), то другая сторона не будет ожидать подтверждения получения вами пакета FIN (правая половина рисунка). Сотояние TIME_WAIT требуется на случай если подтверждение (ACK) которое вы отправили не было получено на другой стороне, или на случай появления ложных пакетов по какой-то причине. Я не знаю почему на стороне сервера не сделали состояние TIME_WAIT, хотя если клиент инициирует закрытие, это безусловно и не должно требовать ожидания. Состояние TIME_WAIT может удерживать порт в течение нескольких минут после завершения процесса. Время удержания варьируется в зависимости от операционной системы, в некоторых операционных системах оно является динамическим, стандартные значения лежат в диапазоне от 1 до 4 минут.

Если обе стороны успеют инициировать сигнал завершения, раньше чем получат его от другой стороны, то обе стороны будут вынуждены пройти через ожидание (TIME_WAIT).

Корректное отключение слушающей стороны

Слушающий сокет может быть закрыт немедленно, при отсутствии входящих подключений, его состояние переходит сразу в CLOSED. При наличии входящих подключений, будет произведен переход к FIN_WAIT_1 и затем к TIME_WAIT.

Обратите внимание, на стороне слушающего сокета невозможно гарантировать чистое закрытие. Пока вы проверяете использование соединения методом select() до закрытия, существует крошечная, но реальная возможность появления входящего подключения после вызова select() и до вызова close().

Непредвиденное отключение удаленной стороны

При внезапном отключении сервера, локальная сторона инициирует закрытие соединения, и в этом случае TIME_WAIT неизбежен. Если удаленная сторона исчезает из-за сбоя сети или перезагрузки машины (редкие случаи), локальный порт будет оставаться привязанным вплоть до истечения таймаута состояния TIME_WAIT. Хуже того, некоторые старые операционные системы, не реализуют таймаут для состояния FIN_WAIT_2, и могут оставаться в нем бесконечно долго, в этом случае спасти может только перезагрузка системы.

Если же локальное приложение (клиент) падает в процессе активного соединения, порт будет занят пока не завершится состояние TIME_WAIT, то же верно для приложений, закрытых в процессе подключения к удаленной стороне(pending).

Способы избежания проблем

Опция SO_REUSEADDR

Можно использовать метод setsockopt(), для установки опции SO_REUSEADDR, что позволит создавать привязку к порту даже если он еще находится в состоянии TIME_WAIT (привязка к порту будет разрешена только для одного процесса). Это самый простой и эффективный метод избежать сообщения «address already in use».

Но, как ни странно, использование опции SO_REUSEADDR, может привести к более трудноотлавливаемым ошибкам чем «address already in use». SO_REUSEADDR позволяет использовать порт застрявший в TIME_WAIT, но вы все еще сможете использовать этот порт в том процессе, в котором он привязан изначально.

WHAT?

Предположим я использую локальный порт 1010 и подключаюсь на порт 300 сервера foobar.com, затем клиент отключается и порт переходит в состояние TIME_WAIT, и я могу использовать этот порт (1010) в любом подключении за исключением подключения к foobar.com на порт 300.
Ситуация в которой это может вызвать проблему может быть такой: моя программа пытается найти зарезервированный локальный порт(<1024) для привязки, чтобы подключиться к службе которая требует зарезервированный порт, и если я буду использовать опцию SO_REUSEADDR, то при каждом запуске программы на моей машине я буду получать тот же зарезервированный порт, даже если он висит в TIME_WAIT, и могу получить «Address already in use», в том месте где порт был использован в последний раз. В этом случае нужно отказаться от использования опции SO_REUSEADDR.

Некоторые не любят использовать SO_REUSEADDR, т.к. эта опция имеет проблемы с безопасностью. В некоторых операционных системах эта опция может позволить разным процессам использовать один и тот же порт одновременно. И это проблема, потому что большинство серверов привязываются к порту не используя конкретный адрес, вместо этого они используют INADDR_ANY (команда netstat отобразит их как *.8080). Таким образом, если сервер связывается с адресом *.8080, то другой процесс, от другого пользователя локальной машины, может подключиться к адресу local_machine.8080 (и намерения его могут быть совсем не хорошими), и перехватывать все ваши подключения, т.к. он указал более конкретный адрес. Эта проблема проявляется только на многопользовательских системах, не имеющих ограничений для учетных записей, и это не является уязвимостью которая доступна снаружи локальной машины, ее можно легко избежать используя привязку к конкретному адресу машины (не используя INADDR_ANY).

Другим не нравится что ядро системы тратит свои рессурсы на сотни или даже тысячи TIME_WAIT состояний, этой проблемы также можно избежать используя подход описанный ниже.

Клиент отключается первым

Глядя на рисунок выше, мы видим, что состояния TIME_WAIT можно избежать когда закрытие инициируется на удаленной стороне, а значит проблем можно избежать, если сервер позволяет клиенту инициировать отключение первым. Для этого можно построить архитектуру пользовательского протокола таким образом, что клиент знает когда ему нужно инициировать закрытие. Сервер может произвести безопасное отключение получив команду EOF от клиента, однако нам все равно придется установить таймаут ожидания отключения клиента, чтобы тот смог корректно завершить работу. Почти всегда достаточно подождать несколько секунд, пока соединение с сервером не будет корректно завершено.

Эту концепцию, вероятно, имеет смысл назвать «удаленная сторона отключается первой», иначе мы будем зависить от того что мы называем клиентом и что сервером. Если вы разрабатываете некую систему, состоящую из нескольких клиентских программ, которые находятся на одной машине и обращаются к разным серверам, то вы захотите перенести ответственность за отключение на сервера, для сберегания рессурсов клиентской машины.

К примеру, я написал скрипт который использует remote shell(rsh), для общения со всеми машинами моей сети, и он выполняет работу параллельно, постоянно используя несколько открытых соединения. Для rsh доступно меньше 1024 портов. Сначала я использовал команду «rsh -n», которая вызывает отключение локальной стороны в первую очередь. После нескольких тестов все свободные порты меньше 1024, оказались в состоянии TIME_WAIT, и процесс остановился. Удаление опции -n приводит к инициированию отключения на удаленной стороне, и проблема TIME_WAIT устраняется, однако это может привести rsh к зависанию в ожидании входаящего подключения. И если вы закрываете входящее подключение локально, порт снова окажется в состояние TIME_WAIT. В конечном счете я просто отказался от использования rsh и написал свою реализацию на perl (текущую версию можно скачать тут)

Уменьшение таймаута

Если, по какой-то причине, ни один из изложенных вариантов вам не подходит, есть возможность сократить таймаут состояния TIME_WAIT. Возможность и реализация такой операции зависит от операционной системы которую вы используете. Стоить помнить, что слишком короткий таймаут может иметь негативные последствия, в частности при потере пакетов или в перегруженных сетях.

Понравилась статья? Поделить с друзьями:
  • This is old binary please update latest binary recovery img при включении как исправить
  • This is not a bootable disk как исправить
  • This is an error page перевести
  • This is a permanent error the following address es failed перевод
  • This is a not standart dff как исправить