Fix when dispatching packets, and our address object has many relations already loaded, causing memory exhaustion due to recursion

This commit is contained in:
Deon George 2024-05-12 20:45:41 +10:00
parent 14c505c15b
commit 556b95c7c1
2 changed files with 4 additions and 4 deletions

View File

@ -128,10 +128,10 @@ class Receive extends Base
// If packet is greater than a size, lets queue it
if ($this->queue || ($this->receiving->size > config('fido.queue_size',0))) {
Log::info(sprintf('%s:- Packet [%s] will be sent to the queue for processing because its [%d] size, or queue forced',self::LOGKEY,$this->receiving->full_name,$this->receiving->size));
PacketProcess::dispatch($this->receiving,$this->ao,$rcvd_time);
PacketProcess::dispatch($this->receiving,$this->ao->withoutRelations(),$rcvd_time);
} else
PacketProcess::dispatchSync($this->receiving,$this->ao,$rcvd_time);
PacketProcess::dispatchSync($this->receiving,$this->ao->withoutRelations(),$rcvd_time);
} catch (\Exception $e) {
Log::error(sprintf('%s:! Got error dispatching packet [%s] (%d:%s-%s).',self::LOGKEY,$this->receiving->full_name,$e->getLine(),$e->getFile(),$e->getMessage()));

View File

@ -111,9 +111,9 @@ class PacketProcess implements ShouldQueue
try {
// Dispatch job.
if ($queue)
MessageProcess::dispatch($msg,$f->pktName(),$this->ao,$pkt->fftn_o,$this->rcvd_time);
MessageProcess::dispatch($msg,$f->pktName(),$this->ao->withoutRelations(),$pkt->fftn_o->withoutRelations(),$this->rcvd_time);
else
MessageProcess::dispatchSync($msg,$f->pktName(),$this->ao,$pkt->fftn_o,$this->rcvd_time);
MessageProcess::dispatchSync($msg,$f->pktName(),$this->ao->withoutRelations(),$pkt->fftn_o->withoutRelations(),$this->rcvd_time);
} catch (\Exception $e) {
Log::error(sprintf('%s:! Got error dispatching message [%s] (%d:%s-%s).',self::LOGKEY,$msg->msgid,$e->getLine(),$e->getFile(),$e->getMessage()));