Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Quiche path not found #131

Closed
krivey opened this issue Aug 21, 2024 · 4 comments
Closed

Quiche path not found #131

krivey opened this issue Aug 21, 2024 · 4 comments

Comments

@krivey
Copy link

krivey commented Aug 21, 2024

[15:30:42.006] [Server thread/INFO]: Enabling ProxyTransport v1.1.0
[15:30:42.457] [Server thread/DEBUG]: Waiting for Proxy to start...
Quiche path not found
[CRITICAL] Fatal error: RuntimeException: "Thread crashed without an error - perhaps exit() was called?" in "pmsrc/src/thread/CommonThreadPartsTrait" on line 159
--- Stack trace ---
  #0 (): pocketmine\thread\Thread->pocketmine\thread\{closure}()
  #1 pmsrc/src/thread/CommonThreadPartsTrait(151): pmmp\thread\ThreadSafe->synchronized(object Closure#13)
  #2 (): pocketmine\thread\Thread->onShutdown()
--- End of fatal error information ---
[15:30:42.475] [Server thread/DEBUG]: Proxy booted successfully
[15:30:42.475] [Server thread/INFO]: [ProxyTransport] Proxy interface registered!
[15:30:42.537] [Server thread/INFO]: Done (1.601s)! For help, type "help" or "?"
[15:30:43.111] [Server thread/DEBUG]: [Update Checker] API reported version is an older version or the same version (5.5.0-BETA1), not showing notification
[15:30:43.112] [Server thread/CRITICAL]: pocketmine\thread\ThreadCrashException: "Proxy crashed" (EXCEPTION) in "plugins/ProxyTransport.phar/vendor/nethergamesmc/libproxy/ProxyNetworkInterface" at line 248
--- Stack trace ---
  #0 pmsrc/src/network/Network(89): libproxy\ProxyNetworkInterface->tick()
  #1 pmsrc/src/Server(1861): pocketmine\network\Network->tick()
  #2 pmsrc/src/Server(1740): pocketmine\Server->tick()
  #3 pmsrc/src/Server(1110): pocketmine\Server->tickProcessor()
  #4 pmsrc/src/PocketMine(355): pocketmine\Server->__construct(object pocketmine\thread\ThreadSafeClassLoader#6, object 

I've been unable to use ProxyTransport-PM properly using NG-PM. Keeps crashing when the server starts. Tried using 8.2 and 8.3 bin both on Windows and Linux and got the same error.

@krivey
Copy link
Author

krivey commented Aug 21, 2024

Crashdump:

PocketMine-MP Crash Dump Wed Aug 21 15:30:43 UTC 2024

PocketMine-MP version: 5.17.2+dev [Protocol 712]
Git commit: 0000000000000000000000000000000000000000
PHP version: 8.3.4
OS: WINNT, win

A PLUGIN WAS INVOLVED IN THIS CRASH

Thread: ProxyThread
Error: Thread crashed without an error - perhaps exit() was called?
File: pmsrc/src/thread/CommonThreadPartsTrait
Line: 159
Type: RuntimeException
Backtrace:
#0 (): pocketmine\thread\Thread->pocketmine\thread\{closure}()
#1 pmsrc/src/thread/CommonThreadPartsTrait(151): pmmp\thread\ThreadSafe->synchronized(object Closure#13)
#2 (): pocketmine\thread\Thread->onShutdown()

Code:
[150] 	protected function onShutdown() : void{
[151] 		$this->synchronized(function() : void{
[152] 			if($this->isTerminated() && $this->crashInfo === null){
[153] 				$last = error_get_last();
[154] 				if($last !== null && ($last["type"] & CrashDump::FATAL_ERROR_MASK) !== 0){
[155] 					//fatal error
[156] 					$crashInfo = ThreadCrashInfo::fromLastErrorInfo($last, $this->getThreadName());
[157] 				}else{
[158] 					//probably misused exit()
[159] 					$crashInfo = ThreadCrashInfo::fromThrowable(new \RuntimeException("Thread crashed without an error - perhaps exit() was called?"), $this->getThreadName());
[160] 				}
[161] 				$this->crashInfo = $crashInfo;
[162] 
[163] 				$lines = [];
[164] 				//mimic exception printed format
[165] 				$lines[] = "Fatal error: " . $crashInfo->makePrettyMessage();
[166] 				$lines[] = "--- Stack trace ---";
[167] 				foreach($crashInfo->getTrace() as $frame){
[168] 					$lines[] = "  " . $frame->getPrintableFrame();
[169] 				}

@dries-c
Copy link
Member

dries-c commented Aug 22, 2024

You must compile Quiche with FFI flag and put the file path in the QUICHE_PATH env.

I'll update the documentation for this later

@ahnsunggwan45
Copy link

When will the relevant documents be completed?

@dries-c

@dries-c
Copy link
Member

dries-c commented Oct 24, 2024

Build quiche with FFI

git clone --recursive https://github.com/cloudflare/quiche --branch "$QUICHE_VERSION" quiche-build && cd quiche-build && cargo build --release --features ffi

The following ENV's should be setup:

ENV QUICHE_PATH=/path_to_file/libquiche.so
ENV QUICHE_PHP_FILE=/path_to_save_location/quiche.php
ENV QUICHE_H_FILE=/path_to_file/quiche.h
ENV KEY_PATH=/path_to_self_generated_/key.pem
ENV CERT_PATH=/path_to_self_generated_/cert.pem

@dries-c dries-c closed this as completed Oct 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants