XF 2.3 Jose\Component\Core\Util\Ecc\PrivateKey::create(): Argument #1 ($secret) must be of type Brick\Math\BigInteger

PumpinIron

Well-known member
I woke up this morning to pages and pages in my error log with these entries. Perhaps what is so confusing to me about all of this is that I haven’t changed anything at all on the forum for a month or so. It just suddenly started happening.

Any ideas as to where to start looking? I’m running the latest version of XF.

  • TypeError:Jose\Component\Core\Util\Ecc\PrivateKey::create(): Argument #1 ($secret) must be of type Brick\Math\BigInteger, GMP given, called in /home/tjforum/public_html/src/vendor/minishlink/web-push/src/Encryption.php on line 392
  • src/vendor/web-token/jwt-util-ecc/PrivateKey.php:57
  • Generated by: Unknown account
  • Nov 14, 2025 at 8:02 AM

Stack trace​

#0 src/vendor/minishlink/web-push/src/Encryption.php(392): Jose\Component\Core\Util\Ecc\PrivateKey::create(Object(GMP))
#1 src/vendor/minishlink/web-push/src/Encryption.php(118): Minishlink\WebPush\Encryption::calculateAgreementKey(Object(Jose\Component\Core\JWK), Object(Jose\Component\Core\JWK))
#2 src/vendor/minishlink/web-push/src/Encryption.php(60): Minishlink\WebPush\Encryption::deterministicEncrypt('
...', [invalid], [invalid], 'aesgcm', Array, [invalid])
#3 src/vendor/minishlink/web-push/src/WebPush.php(230): Minishlink\WebPush\Encryption::encrypt('
...', 'BHBUZIXcCNQJKVL...', 'jpSsCuPXJQNMTCQ...', 'aesgcm')
#4 src/vendor/minishlink/web-push/src/WebPush.php(173): Minishlink\WebPush\WebPush->prepare(Array)
#5 src/XF/Job/PushSend.php(115): Minishlink\WebPush\WebPush->flush()
#6 src/XF/Job/Manager.php(275): XF\Job\PushSend->run(8)
#7 src/XF/Job/Manager.php(205): XF\Job\Manager->runJobInternal(Array, 8)
#8 src/XF/Job/Manager.php(89): XF\Job\Manager->runJobEntry(Array, 8)
#9 job.php(46): XF\Job\Manager->runQueue(false, 8)
#10 {main}
 

What This Error Means​


At its core, this error is a dependency version mismatch.

  • The Conflict: The minishlink/web-push library (used by XenForo for push notifications) is calling a function (PrivateKey::create) from another library (web-token/jwt-util-ecc).
  • The Change: A recent update to the web-token library (or its related brick/math dependency) changed how it handles large numbers. It now requires a Brick\Math\BigInteger object.
  • The Error: Your version of minishlink/web-push is still trying to give it an old GMP object, causing the TypeError.
This is happening during a XenForo "Push Send" job (XF\Job\PushSend), which is why you're seeing it in your error logs.
 

What This Error Means​


At its core, this error is a dependency version mismatch.

  • The Conflict: The minishlink/web-push library (used by XenForo for push notifications) is calling a function (PrivateKey::create) from another library (web-token/jwt-util-ecc).
  • The Change: A recent update to the web-token library (or its related brick/math dependency) changed how it handles large numbers. It now requires a Brick\Math\BigInteger object.
  • The Error: Your version of minishlink/web-push is still trying to give it an old GMP object, causing the TypeError.
This is happening during a XenForo "Push Send" job (XF\Job\PushSend), which is why you're seeing it in your error logs.

Okay it must be a server issue then. I haven’t touched anything for a while so I’m guessing this is a question for the guys who manage my server. Thanks for this!
 
Back
Top Bottom