Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Summary

The DRX logs output the same logs to the following two paths.

  • Standard output
  • Log file

When operating in service mode, the standard output is not used.
The file output is distributed to the main and resource logs.

FilePathContent
main log file{DRX installed path}/logs/main.logDRX operation. Exclude actions by resources
resource-specific log file{DRX installed path}/logs/{resource_name}/{resource_name}.logBehavior of resources

When each file reaches the set size, the file is archived and a new one is created.

The file being archived is appended with the date and time at that point in time. (ex: main_2018-11-22_1432.log)

Log View

The following types of commands are provided to output the active DRX log in real time.

drx-ctl log {options} [resource or all]

Supported options:

OptionShortcutDescription
--include-main-mPrint the main log. If this option is not specified, only resource-specific logs are output.
--lines {num}-n {num}Output the last num lines. 

When you execute this command, you can continuously output the update of the log file and terminate it with Ctrl-C.

Configuration

The log-related items that can be set in the configuration file (drx.conf) are as follows.

ItemValueFormatDescription
loglevel-stdoutLog leveltrace, debug, info, warning, error, critical, offSpecifies the level of the standard output log.
loglevel-fileLog leveltrace, debug, info, warning, error, critical, offSpecifies the level of the log output to the file.
logfile-max-sizeFile sizeBytes (ex: 10MB)When the log file reaches the specified capacity, the current log file is archived and a new one is created.
logfile-max-countFile countNumberMaximum number of current and archived log files.

The log level can be changed in real time via drx-ctl.

drx-ctl set console-loglevel [level]
drx-ctl set file-loglevel [level]

However, the standard output level is ignored when running in service mode.

Output Format

level/data time thread logger:tag] message

Details By Item

ItemFormatExampleDescription
log level/date{level}{date}

I1004
C0928

Print log level and date without spaces.
Log levels are described below.

timehour:min:sec.microsec16:44:13.790530-
threadt{thread ID}t3056The thread ID that generated the log.
loggerlogger namemainLogger name for dividing log category.
tagtag namelicense
c-:o
Represents a subrange of the logger, or represents the details of the channel.

Log Level

AbbreviationLevelRange
TtraceVery detailed operation log
DdebugUsed when problems arise that require debugging
IinfoGeneral information such as state change or behavior
WwarningA situation where an unintended problem occurs, but there is no problem in resuming or continuing the operation
EerrorA situation where an unintended problem occurs and the action can not be continued
CcriticalSerious error that can not keep the program running

Log List

This document describes only from info level to critical level.

main

TagLevelFormatExampleDescriptionSource file





















infoCompiled at {date} {time}Oct 4 2018 09:04:38When DRX was compiled.drx.cpp
infoSystem Locale: {locale}en_US.windows-1252Current system locale value.drx.cpp
infoDRX path: {path}C:\Program Files\DRXPath where DRX is installed.
This value is defined in the environment variable 'DRX_PATH'.
drx.cpp
infoEXE path: {path}C:\Program Files\DRX\binThe path where the currently executed DRX is located.drx.cpp
infoStarting in foreground mode-Read all the settings and the program has been initialized.drx.cpp
infoStarting in daemonize mode-Read all the settings and the program has been initialized.drx.cpp
errorInitialization failed-Failed to read preferences.drx.cpp
warningEnvironment variable 'DRX_PATH' is not exists--instance.cpp
infoClosing drx-The last log in the process of terminating the DRX.core.cpp
errorSystem error at quit. ({error_id}: {message})-System error during DRX shutdowncore.cpp
infoRead resources configuration success-Read resource-specific settings from DRBD configuration.core.cpp
warningRead resources configuration failed-It can also happen if there is no resource.core.cpp
infoLicense is available--core.cpp
errorLicense is not available-Exit the program after this log.core.cpp
infoResource create complete-All the configured resources have been created. IPC services are available.core.cpp
info

Create resource [name]

--drx_manager.cpp
errorResource name [name] is already exists
The resource settings are invalid or you tried to add a resource that already exists.drx_manager.cpp
errorFailed to create resource [name]. {message}
An error occurred during resource creation. Exit the program after this log.drx_manager.cpp
infoResource [name] deleted
You have deleted resources through IPC.drx_manager.cpp
infoIPC service started-An IPC server is created.drx_manager.cpp
errorFailed to start IPC service-There is little chance of occurrence other than memory shortage.drx_manager.cpp
errorSystem error while stopping. ({error_id}: {message})
An error occurred during program termination.drx_manager.cpp
licenseinfoVerify license is available-The license verification process begins.drx_manager.cpp
infoLicense applied-Output when the license is applied with 'set license' command.drx_manager.cpp
errorFailed to get drx path-The environment variable 'DRX_PATH' may not exist.drx_manager.cpp
infoChecking license for [file_path]C:\Program Files\DRX\drx.licCheck the license file for that path.drx_manager.cpp
errorFailed to initializing license system. {message}
Failed to read the license. The error is the output from RLM.drx_manager.cpp
errorLicense file not found at [file_path]
The file does not exist in the specified path. Output when using 'set license' command.drx_manager.cpp
errorInvalid License {product_name}({message})drx(-40)Your license is invalid or has expired. The error number is from the RLM.drx_manager.cpp
errorLicense Expired {product_name}drxThe period has expired and can not be used. The license must be replaced.drx_manager.cpp
infoLicense Status: {value}Permanent
drx_manager.cpp
plugins



infoAll plugin loaded

plugin_manager.cpp
criticalFailed to load crypto {name}. {message}
Exit the program after this log.plugin_manager.cpp
infoCrypto plugins loaded: {names}
Crypto algorithms: {names}
OPENSSL
PLAIN, AES128(OPENSSL)
Completed loading of encryption plugins.plugin_manager.cpp
criticalFailed to load compressor {name}. {message}
Exit the program after this log.plugin_manager.cpp
infoCompressor plugins loaded: {names}
Compressor algorithms: {names}
ZLIB, LZ4
PLAIN, GZIP(ZLIB), LZ4(LZ4)
Completion of loading of compression plugins.plugin_manager.cpp
resourceinfoLoading language: [file_path]C:\Program Files\DRX\lang\english.ini'lang' entry in drx.conflang.cpp
warningLanguage file [file_path] not foundC:\Program Files\DRX\lang\english.iniThere is no problem running.lang.cpp

config

TagLevelFormatExampleDescriptionSource file




infoConfiguration loaded. [file_path]
The configuration file is successfully read. After this, apply the setting.instance.cpp
errorFailed to load [file_path]. {message}[/opt/DRX/drx.conf]. /opt/DRX/drx.conf: cannot open fileFailed to read configuration file. Exit the program after this log.instance.cpp
infoConfiguration file is not exists. [file_path]
Use the default values.instance.cpp
error

Failed to get drbd configuration: {message}
Output: {error_output}

Can't get drbd configuration. (exit_code: 10)
C:\\Program Files\\DRBD\\etc\\drbd.conf:1: Parse error: 'global | common | resource | skip | include' expected, 
but got '∩'
Failed to read DRBD settings.config.h
infoDRBD configuration output: {standard_output}
Output of DRBD settings.config.h
infoDRBD '{resource}' configuration update
DRBD configuration tokens: {config}

Update the settings of the resource. It is output when adjust command is executed.config.h
globalwarningFailed to parse connection timeout: {value} ({message})
'connect-timeout' entry in drx.confconfig.h
warningUnknown console log level value: {value}
'loglevel-stdout' entry in drx.confconfig.h
warningUnknown file log level value: {value}
'loglevel-file' entry in drx.confconfig.h
warningFailed to parse log file max size: {value}
'logfile-max-size' entry in drx.confconfig.h
warningFailed to parse log file max count: {value} ({message})
'logfile-max-count' entry in drx.confconfig.h
warningUnknown performance log value: {value}
'performance-log' entry in drx.confconfig.h
warningFailed to parse process thread count: {value} ({message})
'process-thread-count' entry in drx.confconfig.h
warningUnknown ip verification value: {value}
'ip-verification' entry in drx.confconfig.h
warningFailed to parse init timeout: {value} ({message})
'init-timeout' entry in drx.confconfig.h
infoSet base dir: {path}/opt/DRX'base-dir' entry in drx.confconfig.h
infoSet DRBD path: {path}/etc/drbd.d/drbd.conf'drbd-conf' entry in drx.confconfig.h
infoSet connection timeout: {seconds}10'connect-timeout' entry in drx.confconfig.h
infoSet init timeout: {seconds}10'init-timeout' entry in drx.confconfig.h
infoSet console log level: {value}info'loglevel-stdout' entry in drx.confconfig.h
infoSet file log level: {value}info'loglevel-file' entry in drx.confconfig.h
infoSet log file max size: {value}10M'logfile-max-size' entry in drx.confconfig.h
infoSet log file max count: {value}10'logfile-max-count' entry in drx.confconfig.h
infoSet performance log: {on/off}off'performance-log' entry in drx.confconfig.h
infoSet process thread count: {value}8'process-thread-count' entry in drx.confconfig.h
infoSet IP verification: {on/off}on'ip-verification' entry in drx.confconfig.h

packet_process_pool

LevelFormatExampleDescriptionSource File
infoStarted (concurrency: {count})auto -> 8Packet processing thread started.
This log will not be output if the configuration is not multithreaded.
packet_process_pool.cpp
infoResized to {count}
The number of threads has changed. Output when 'set process-thread-count' is used.packet_process_pool.cpp
infoStopped-Packet processing thread stopped. It is output during program termination.packet_process_pool.cpp
errorLoad compressor - inconsistency between threads-

There was a thread-specific difference while loading or unloading one plug-in per thread.

Probably there is a problem with the algorithm of the program.
You need to patch it with the modified version.

packet_process_pool.cpp
errorUnload compressor - inconsistency between threads-packet_process_pool.cpp
errorLoad decompressor - inconsistency between threads-packet_process_pool.cpp
errorUnload decompressor - inconsistency between threads-packet_process_pool.cpp
errorLoad encrypto - inconsistency between threads-packet_process_pool.cpp
errorUnload encrypto - inconsistency between threads-packet_process_pool.cpp
errorLoad decrypto - inconsistency between threads-packet_process_pool.cpp
errorUnload decrypto - inconsistency between threads-packet_process_pool.cpp
errorCompressor ({name}) is not available
If you try to use an unloaded plug-in, it will be output.packet_processor.cpp
errorCompressor algorithm ({name}) is not available
If you try to use an unloaded plug-in, it will be output.packet_processor.cpp
errorCrypto ({name}) is not available
If you try to use an unloaded plug-in, it will be output.packet_processor.cpp
errorFailed to initialize {name} encrypto stream. ({message})
The plug-in file may be broken.packet_processor.cpp
errorCrypto algorithm ({name}) is not available
If you try to use an unloaded plug-in, it will be output.packet_processor.cpp
errorFailed to initialize {name} decrypto stream. ({message})
The plug-in file may be broken.packet_processor.cpp
errorCompress stream error. ({error_id})
The data or plug-in files may be broken.packet_processor.cpp
errorDecompress stream error. ({error_id})
The data or plug-in files may be broken.packet_processor.cpp
errorEncrypt stream error. ({error_id})
The data or plug-in files may be broken.packet_processor.cpp
errorDecrypt stream error. ({error_id})
The data or plug-in files may be broken.packet_processor.cpp

Resource-specific logger

Resource-specific loggers are assigned the name of the resource as the name of the logger.

Each resource consists of two channels, so it has the following tags.

{connection direction}{channel type}

In addition, since each channel is composed of two proxy connections, the detailed tag of each connection is as follows.

{connection direction}{channel type}:{proxy location}

Details by tag

Each item

ItemValueDescription
Connection directiona​Acceptor. (Local DRBD → Local DRX ← Remote DRX)
cConnector. (Local DRBD ← Local DRX → Remote DRX)
Channel type-Undefined. It is determined after connecting with DRBD.
mMeta channel
dData channel
Proxy locationiInside. Connection with local DRBD.
oOutside. Connection with remote DRX.

Assuming that the resource name is 'r0', a logger with the following configuration exists.

ResourceChannel typeProxy locationTag
​r0





-

-r0​
Acceptor

-r0:a
Inside​r0:a-:i
Outsider0:a-:o
Connector

-r0:c
Insider0:c-:i
Outsider0:c-:o

Log List

TagLevelFormat
ExampleDescriptionSource file










infoStart resource
 Inside  local({IP:Port}) <-> drbd({IP:Port})
 Outside local({IP:Port}) <-> remote({IP:Port})


Starts the connection of the resource.drx_manager.cpp
errorCrypto ({name}) is not available

When an unloaded plugin is set.drx_packet.cpp
errorEncrypto plugin ({name}) initialization failed. (error_id: {error_id})

The plug-in file may be broken.drx_packet.cpp
errorDecrypto plugin ({name}) initialization failed. (error_id: {error_id})

The plug-in file may be broken.drx_packet.cpp
errorFailed to encrypt stream. (error_id: {error_id})

The data or plug-in files may be broken.drx_packet.cpp
errorFailed to decrypt stream. (error_id: {error_id})

The data or plug-in files may be broken.drx_packet.cpp
errorCompressor ({name}) is not available

When an unloaded plugin is set.drx_packet.cpp
errorCompressor algorithm ({name}) is not available

There is no plug-in to support remote DRX's compression algorithm.drx_packet.cpp
errorFailed to compress stream. (error_id: {error_id})

The data or plug-in files may be broken.drx_packet.cpp
errorFailed to decompress stream. (error_id: {error_id})

The data or plug-in files may be broken.drx_packet.cpp

전체 채널 태그

a-
am
ad

c-
cm
cd

infoConnector created
-Inside proxy created.drx_channel.cpp
errorFailed to create connector
-Inside proxy creation failed. There is almost no possibility except memory shortage.drx_channel.cpp
infoLinker created
-Outside proxy created.drx_channel.cpp
errorFailed to create linker
-Outside proxy creation failed. There is almost no possibility except memory shortage.drx_channel.cpp
infoChannel state changed to ({type})
bridging, bridged, established ...
drx_channel.cpp
infoChannel type changed to ({type})채널 유형이 변경됨meta or dataChannel type changed by DRBD connection.drx_channel.cpp
infoConnector & Linker initializedInside & Outside의 프록시가 모두 초기화됨-Channel is ready to run.drx_channel.cpp
errorLinker initialization failedInside 프록시 초기화에 실패함-Does not occur.drx_channel.cpp
errorConnector initialization failedOutside 프록시 초기화에 실패함-Does not occur.drx_channel.cpp
infoStart channel채널의 동작이 시작됨-The channel's thread was executed.drx_channel.cpp
infoChannel type duplicated. ({type} channel)채널 유형이 중복됨meta or dataThe channel is a duplicate and will be disconnected.drx_channel.cpp
infoSet memory limit: {value}BAB의 크기가 변경됨100MDoes not occur.channel_info.cpp
infoSet bandwidth limit: {value}전송량 제한값이 변경됨10M
channel_info.cpp
infoSet outbound inside connection: {IP}:{Port}채널의 연결설정이 변경됨
Does not occur.channel_info.cpp
infoSet outbound outside connection: {IP}:{Port}채널의 연결설정이 변경됨
Does not occur.channel_info.cpp
infoSet inbound inside connection: {IP}:{Port}채널의 연결설정이 변경됨Does not occur.Does not occur.channel_info.cpp
infoSet inbound outside connection: {IP}:{Port}채널의 연결설정이 변경됨
Does not occur.channel_info.cpp
infoSet compressor: {name}채널의 압축 설정이 변경됨NONE, ZLIB, IQA, LZ4
channel_info.cpp
infoSet compressor level: {num}채널의 압축 설정이 변경됨0~9
channel_info.cpp
infoSet crypto: {name}채널의 암호화 설정이 변경됨NONE, OPENSSL
channel_info.cpp
infoSet crypto key file: {file_path}채널의 암호화 키 파일이 변경됨
Does not occur.channel_info.cpp
infoSet block size: {value}채널의 block-size가 변경됨

channel_info.cpp
infoSet minimum raw block size: {value}채널의 min-raw-block-size가 변경됨

channel_info.cpp
a-:i
a-:o
infoStart accept
-
drx_session_impl.cpp
c-:i
c-:o
infoStart connect
-
drx_session_impl.cpp

전체 프록시

[ac][-md]:i
[ac][-md]:o

warningSystem error while disconnect. ({error_id}: {message})연결 종료중에 오류가 발생함
It is mostly the case that the connection is terminated already.drx_session_impl.cpp
warningInitialization timeout. ({secs} seconds)초기화 시간 초과10Timeout occurs after sending and receiving initialization packet after connection. It is likely to be a network problem.drx_session_impl.cpp

Inside 전체

[ac][-md]:i

warningSend to drbd failed. ({error_id}: {message})DRBD로 데이터 전송중 실패
Already disconnected or will be disconnect after this.drx_connector.cpp
infoStart RX BAB senderRX BAB의 데이터를 로컬 DRBD로 전송하는 작업을 시작
Initiate a transfer to the local DRBD.drx_connector.cpp
infoFlushing RX BABRX BAB의 남은 데이터를 모두 DRBD로 전송중
Transferring all remaining data to DRBD.drx_connector.cpp
infoStopping RX BAB senderRX BAB의 데이터를 로컬 DRBD로 전송하는 작업을 종료

drx_connector.cpp
errorFailed to pop all datas from RX BABRX BAB를 비우는 작업에 실패
Program is terminated during data transferdrx_connector.cpp
warningFailed to receive. ({error_id}: {message})DRBD로부터 데이터를 읽는데 실패
Already disconnected or will be disconnect after this.drx_connector.cpp
infoStart TX BAB receiverDRBD로부터 읽은 데이터를 TX BAB에 쓰는 작업을 시작
Start writing the data read from DRBD to the buffer.drx_connector.cpp
warnnot yet bridgedTX BAB receiver를 시작하는 도중에 원격 DRX와의 연결이 끊김
The connection to the remote DRX was lost while preparing the buffer.drx_connector.cpp
warnFailed to receive from drbd. ({error_id}: {message})DRBD로부터 데이터를 읽는데 실패
Failed to read data from DRBD.drx_connector.cpp
infoTX BAB receiver stoppedDRBD로부터 읽은 데이터를 TX BAB에 쓰는 작업을 종료

drx_connector.cpp
warningReceive timeoutDRBD로부터 데이터를 읽는 도중 타임아웃 발생
Timeout occurs while reading data from DRBD.drx_connector.cpp

Inside Acceptor

a[-md]:i

errorAccept failed. ({error_id}: {message})DRBD의 연결을 기다리는 작업에 실패
Ex) The port number is being used elsewhere.drx_connector.cpp
errorGet remote endpoint failed. ({error_id}: {message})DRBD의 IP/Port를 조회하는데 실패
Disconnected immediately after connectingdrx_connector.cpp
infoAccepted. (client: {DRBD IP}:{DRBD Port})DRBD가 DRX로 연결됨
DRBD connected. Waiting for the channel type.drx_connector.cpp
warnReceive magic packet failed. ({error_id}: {message})DRBD의 magic 패킷을 읽는 도중 오류가 발생함
Already disconnected or will be disconnect after this.drx_connector.cpp
errorUnknown channel receivedDRBD로부터 알수 없는 채널을 받음

Peer is not a DRBD or is an incompatible version.

drx_connector.cpp
infoBuddy channel got the same type. ({type})DRBD로부터 이미 연결되어있는 채널 타입을 받음meta or dataChannel type is a duplicate and will be disconnected.drx_connector.cpp
errorAccept exception. [{DRX IP}:{DRX Port}] ({error_id}: {message})Acceptor의 연결 및 초기화 과정에서 예외가 발생

drx_connector.cpp
errorAccept exception. ({message})Acceptor의 연결 및 초기화 과정에서 예외가 발생

drx_connector.cpp

Inside Connector

c[-md]:i

errorSet buffer size failed. ({message})DRBD와 연결하는 소켓의 버퍼 크기 설정에 실패
It will be disconnect after this.drx_connector.cpp
warningConnect to drbd failed. [{DRBD IP}:{DRBD Port}] ({error_id}: {message})DRBD에 연결하는데 실패함
Check the DRBD resource settings and firewall.drx_connector.cpp
infoConnected at [{DRBD IP}:{DRBD Port}]DRBD에 연결됨

drx_connector.cpp
infoThis is not active channel. Reject사용할 수 없는 채널이므로 연결을 끊는다
This can occur if the connection between the remote DRX and the remote DRBD is lost during the connection with DRBD.drx_connector.cpp

Outside 전체

[ac][-md]:o

info

Local configuration:
 block-size: {value}
 compressor selected: {name}
 crypto selected: {name}
 compressors available: {name_list}
 cryptos available: {name_list}

로컬 DRX의 통신 설정을 출력Local configuration:
 block-size: 1.00 MB
 compressor selected: ZLIB level 1
 crypto selected: NONE
 compressors available: ZLIB, LZMA
 cryptos available: OPENSSL
It is output during connection preparation with remote DRX.drx_link.cpp
infoLocal configuration:
 block-size: {value}
 compressor selected: {name}
 crypto selected: {name}
 compressors available: {name_list}
 cryptos available: {name_list}
원격 DRX의 통신 설정을 출력

After connection with remote DRX, It is output when it is confirmed that the peer is DRX.

drx_link.cpp
errorUnknown initialize packet received. (type: {value})원격 DRX에서 알 수 없는 초기화 패킷을 받음A numeric value that corresponds to the channel type.Peer is not DRX or has a different version.drx_link.cpp
errorRemote crypto configuration not available. (remote: {value})원격 DRX의 암호화 설정을 로컬 DRX에서 사용할 수 없다.OPENSSL

Some plug-ins are not loaded. It will be disconnect after this.

drx_link.cpp
errorRemote compressor configuration not available. (remote: {value})원격 DRX의 압축 설정을 로컬 DRX에서 사용할 수 없다.LZ4 level 1Some plug-ins are not loaded. It will be disconnect after this.drx_link.cpp
warningWrong size header received. (read: {size}, requested: {size}, payload: {size}, error: {error_id})원격 DRX로부터 잘못된 길이의 헤더를 받음
This can happen if the connection is lost during transmission. It will be disconnect after this.drx_link.cpp
warningReceive header failed. ({error_id}: {message})원격 DRX로부터 헤더를 읽는데 실패함
Already disconnected or will be disconnect after this.drx_link.cpp
warningWrong size payload received. (read: {size}, requested: {size}, error: {error_id})원격 DRX로부터 잘못된 길이의 데이터를 받음
This can happen if the connection is lost during transmission. It will be disconnect after this.drx_link.cpp
warningReceive payload failed. ({error_id}: {message})원격 DRX로부터 데이터를 읽는데 실패함
Already disconnected or will be disconnect after this.drx_link.cpp
errorRX BAB not configuredRX BAB 미설정 상태에서 RX BAB 사용 루틴이 실행됨
It will be disconnect after this.drx_link.cpp
infoChannel type received. ({type})원격 DRX로부터 채널 유형을 받음drbd_meta or drbd_dataIf the same channel is already connected, will be disconnect it.drx_link.cpp
warnEvent received ({value})원격 DRX로부터 이벤트를 받음
It will be disconnect after this.drx_link.cpp
errorUnhandled header received ({value})원격 DRX로부터 알 수 없는 이벤트 유형을 받음
Version with remote DRX may not match.drx_link.cpp
infoStart TX BAB sender (memlimit: {}, bwlimit: {}, blocksize: {}, min-raw-block-size: {})TX BAB의 데이터를 원격 DRX로 전송하는 작업 시작

Starts data transfer using compression or encryption.

drx_link.cpp
infoStart TX BAB sender (memlimit: {}, bwlimit: {}, blocksize: {})TX BAB의 데이터를 원격 DRX로 전송하는 작업 시작

Starts data transfer not using compression or encryption.

drx_link.cpp
infoFlushing TX BABTX BAB의 남은 데이터를 모두 DRBD로 전송중
연결이 종료되었을 때 TX BAB의 남은 데이터를 전송하는 과정drx_link.cpp
infoStopping TX BAB senderTX BAB의 데이터를 로컬 DRBD로 전송하는 작업을 종료

drx_link.cpp
errorFailed to pop all datas from TX BABTX BAB를 비우는 작업에 실패
TX BAB를 비우는 도중에 프로그램이 종료되는 경우drx_link.cpp
warningSend event {value} failed. ({error_id}: {message})원격 DRX로 이벤트를 전송하는데 실패함
연결이 이미 끊겼거나 이 이후 연결을 끊는다.drx_link.cpp
warningSend stream failed. ({error_id}: {message})원격 DRX로 데이터 스트림을 전송하는데 실패함
연결이 이미 끊겼거나 이 이후 연결을 끊는다.drx_link.cpp





drx_link.cpp

Outside Connector

c[-md]:o

warningConnect to remote drx failed. [{remote DRX IP}:{remote DRX Port}] ({error_id}: {message})원격 DRX에 접속하는데 실패함
원격 DRX의 가동 상태와 방화벽을 점검해야 한다.drx_link.cpp
infoConnected at [{remote DRX IP}:{remote DRX Port}]원격 DRX에 접속됨
소켓 설정과 초기화 패킷 전달을 시작한다.drx_link.cpp
errorSet socket options failed. ({message})원격 DRX와의 소켓 옵션 설정에 실패함
버퍼 크기와 nodelay 설정을 적용하는데 실패함. 연결을 끊는다.drx_link.cpp
warningSend init packet failed. ({error_id}:{message})원격 DRX로 초기화 패킷을 전송하는데 실패함
연결이 이미 끊겼거나 이 이후 연결을 끊는다.drx_link.cpp
warningReceive response packet failed. ({error_id}: {message})원격 DRX로부터 초기화 응답 패킷을 받는데 실패함
연결이 이미 끊겼거나 이 이후 연결을 끊는다.drx_link.cpp
warningError while making init conversation between remote drx: {실패유형}원격 DRX로부터 초기화 실패를 받음
연결을 끊는다.drx_link.cpp
warningFailed to receive init packet failed. ({error_id}: {message})원격 DRX로부터 초기화 패킷을 받는데 실패함
연결이 이미 끊겼거나 이 이후 연결을 끊는다.drx_link.cpp
warningSend response packet failed. ({error_id}: {message})원격 DRX로 초기화 응답 패킷을 전송하는데 실패함
연결이 이미 끊겼거나 이 이후 연결을 끊는다.drx_link.cpp

Outside Acceptor

a[-md]:o

errorAccept failed. ({error_id}: {message})DRX의 연결을 기다리는 작업에 실패
포트가 다른곳에서 이미 사용중인 경우가 많다.drx_link.cpp
errorGet remote endpoint failed. ({error_id}: {message})원격 DRX의 IP/Port를 조회하는데 실패
접속 직후 연결이 끊긴 경우이다.drx_link.cpp
infoAccepted. (client: {remote DRX IP}:{remote DRX Port})원격 DRX가 로컬 DRX로 연결됨
소켓 설정과 초기화 패킷 전달을 시작한다.drx_link.cpp
warningReceive init packet failed. ({error_id}: {message})원격 DRX로부터 초기화 패킷을 받는데 실패함
연결이 이미 끊겼거나 이 이후 연결을 끊는다.drx_link.cpp
warningSend response packet failed. ({error_id}: {message})원격 DRX로 초기화 응답 패킷을 전송하는데 실패함
연결이 이미 끊겼거나 이 이후 연결을 끊는다.drx_link.cpp
warningSend init packet failed. ({error_id}: {message})원격 DRX로 초기화 패킷을 전송하는데 실패함
연결이 이미 끊겼거나 이 이후 연결을 끊는다.drx_link.cpp
warningReceive response packet failed. ({error_id}: {message})원격 DRX로부터 초기화 응답 패킷을 받는데 실패함
연결이 이미 끊겼거나 이 이후 연결을 끊는다.drx_link.cpp
warningError while making init conversation between remote drx: {실패유형}원격 DRX로부터 초기화 실패를 받음
연결을 끊는다.drx_link.cpp
errorAccept exception. [{로컬 DRX IP}:{로컬 DRX Port}] ({error_id}:{message})Acceptor의 연결 및 초기화 과정에서 예외가 발생

drx_link.cpp
errorAccept exception: {message}Acceptor의 연결 및 초기화 과정에서 예외가 발생

drx_link.cpp

TX BAB

RX BAB

info{용량} bytes allocatedBAB에 메모리가 할당됨1GB
allocator.h
errorAllocating {용량} bytes failedBAB 메모리 할당 실패10GB메모리 부족allocator.h
info{용량} bytes freedBAB의 메모리가 해제됨1GB
allocator.h
errorTX BAB is too small. Please set it to {용량} bytes or more.TX BAB의 가용용량이 block-size보다 작다
block-size를 줄이거나 TX BAB의 용량을 늘려야 한다.allocator.h
errorblock-size is too big. Please set it to {} bytes or less.RX BAB의 가용용량이 block-size보다 작다
block-size를 줄여야 한다.allocator.h
errorFailed to allocate memory. {message}BAB에 메모리 할당 실패
메모리 부족ring_buffer.cpp
errorFailed to encrypt packet. buffer_size: {버퍼 길이}, encrypted_size: {암호화된 데이터 길이}암호화 실패 (버퍼 길이 문제)
암호화된 데이터의 길이가 버퍼 길이보다 길어서 버퍼에 담을 수 없다.packet_processor.cpp
errorFailed to decrypt packet. buffer_size: {버퍼 길이}, decrypted_size: {복호화된 데이터 길이}복호화 실패 (버퍼 길이 문제)
복호화된 데이터의 길이가 버퍼 길이보다 길어서 버퍼에 담을 수 없다.packet_processor.cpp
errorFailed to decompress packet. buffer_size: {버퍼 길이}, decompressed_size: {해제된 데이터 길이}압축 해제 실패 (버퍼 길이 문제)
압축 해제된 데이터의 길이가 버퍼 길이보다 길어서 버퍼에 담을 수 없다.packet_processor.cpp
errorFailed to decompress at {인덱스} sizes: {원본 데이터 길이}, {버퍼 길이}압축 해제 실패 (기타)
잘못된 데이터이거나 압축 알고리즘을 지원하지 않아 압축 해제 실패.packet_processor.cpp
errorCompress stream error. ({error_id})압축 실패
데이터 압축 실패. 오류 번호가 없을 수도 있다.packet_processor.cpp
errorDecompress stream error. ({error_id})압축 해제 실패
데이터 압축 해제 실패. 오류 번호가 없을 수도 있다.packet_processor.cpp
errorEncrypt stream error. ({error_id})암호화 실패
데이터 암호화 실패. 오류 번호가 없을 수도 있다.packet_processor.cpp
errorDecrypt stream error. ({error_id})복호화 실패
데이터 복호화 실패. 오류 번호가 없을 수도 있다.packet_processor.cpp

IPC

태그레벨내용설명비고소스 파일

errorError on accept. ({error_id}: {message})IPC 서비스의 accept 과정에서 오류가 발생함
ipc_server.cpp
eventsinfoNotification start이벤트 전송 기능 시작
ipc_event_notifier.cpp
infoNotification stopped이벤트 전송 기능 중지
ipc_event_notifier.cpp
warningFailed to get client endpoint. ({error_id}: {message})IPC 클라이언트의 IP/Port 조회 실패연결 직후 끊긴 경우ipc_event_notifier.cpp
infoclient removed {IP}:{Port}IPC 이벤트 조회 클라이언트의 연결이 종료됨
ipc_event_notifier.cpp
infoclient added {IP}:{Port}IPC 이벤트 조회 클라이언트가 연결됨
ipc_event_notifier.cpp
{IP}:{Port}warningData transfer failed. ({error_id}: {message})IPC 클라이언트로 데이터 전송 실패
ipc_server.cpp
errorError on payload. ({message})IPC 서비스의 처리과정에서 오류가 발생함
ipc_server.cpp

crash_handler

레벨내용설명값의 예비고소스 파일
infoSignal: {시그널유형}IPC 서비스의 accept 과정에서 오류가 발생함SIGINT 또는 SIGTERM실행중 Ctrl+C를 입력한 경우 SIGINT, 외부에서 프로세스를 종료하는 경우 SIGTERM이 발생한다. 이 메시지 이후 프로그램을 정상 종료한다.handler.cpp
warningFailed to register signal handler for {시그널유형}해당 시그널 핸들러의 등록에 실패함SIGABRT, SIGFPE, SIGILL, SIGSEGV비정상 종료시 호출 스택을 출력하기 위한 시그널 등록에 실패함.handler.cpp
criticalSignal handling비정상 종료 시그널 발생 (Linux)
프로그램 시그널 핸들링 방식으로 비정상 종료 상황을 핸들링함.handler.cpp
criticalException handling (Unhandled)비정상 종료 시그널 발생 (Windows)
Windows API를 사용하여 비정상 종료 상황을 핸들링함.handler.cpp
criticalException handling (Vectored)비정상 종료 시그널 발생 (Windows)
Windows API를 사용하여 비정상 종료 상황을 핸들링함.handler.cpp
criticalFatal exception: {예외유형}
stackdump [프레임] {심볼주소} {함수명 } ({파일명:라인번호})
발생한 예외 출력

발생한 예외 종류와 호출 스택 출력stacktrace_linux.cpp
stacktrace_windows.cpp
  • No labels