gearman / gearmand

http://gearman.org/
Other
740 stars 137 forks source link

GEARMAN_TEXT error in gearman_worker_grab_job #316

Open tsmgeek opened 3 years ago

tsmgeek commented 3 years ago

I am seeing these random messages appear in my CLI script which seem to point back to libgearman. I know that current EPEL version of libgearman is much older than is on git. Is this an issue that has been fixed since or some other bug? Ive looked at the PROTOCOL text file and it does not mention GEARMAN_TEXT command, I can see there is (unused) where I think it would be. What sort of messages are passed though this command?

libgearman-1.1.12-18.el7.x86_64 php74-php-pecl-gearman-2.1.0-1.el7.remi.x86_64

PHP Warning:  GearmanWorker::work(): gearman_worker_grab_job(GEARMAN_UNEXPECTED_PACKET) unexpected packet:GEARMAN_TEXT -> libgearman/worker.cc:879: pid(18080) in /home/ips/console/common-gm.php on line 65

Warning: GearmanWorker::work(): gearman_worker_grab_job(GEARMAN_UNEXPECTED_PACKET) unexpected packet:GEARMAN_TEXT -> libgearman/worker.cc:879: pid(18080) in /home/ips/console/common-gm.php on line 65
esabol commented 3 years ago

Is this an issue that has been fixed since or some other bug?

Well, I haven't seen it, and I'm using a semi-recent libgearman that I compiled from the GitHub repo here. However, I'm also using a PHP extension that I modified and compiled myself from https://github.com/esabol/pecl-gearman7. :shrug:

tsmgeek commented 3 years ago

@esabol https://github.com/php/pecl-networking-gearman this is the main repo used for the official PECL version that I use.

Looking back though logs it does seem to be very random, by that it happened once for the last few days then nothing for several days before that.

Its only a warning and so I can suppress the output but might be an idea to understand if its a problem or something that should be handled properly.

esabol commented 3 years ago

Well, the only way to tell would be to compile your own libgearman and probably your own PHP extension and see if you can reproduce it. The libgearman you are using is 7.5 years old, and there have been 8 releases since then.