Project

General

Profile

Actions

Regression #13970

open

PHP error in apcupsd widget from UTF-8 string handling

Added by Steve Wheeler about 1 year ago. Updated 6 months ago.

Status:
Feedback
Priority:
Normal
Assignee:
Category:
apcupsd
Target version:
-
Start date:
Due date:
% Done:

100%

Estimated time:
Plus Target Version:
23.05
Affected Version:
Affected Plus Version:
23.01
Affected Architecture:

Description

In 23.01 release:

PHP ERROR: Type: 1, File: /usr/local/www/widgets/widgets/apcupsd.widget.php, Line: 206, Message: Uncaught TypeError: ceil(): Argument #1 ($num) must be of type int|float, string given in /usr/local/www/widgets/widgets/apcupsd.widget.php:206
Stack trace:
#0 /usr/local/www/widgets/widgets/apcupsd.widget.php(206): ceil('29.2\xC2')
#1 /usr/local/www/widgets/widgets/apcupsd.widget.php(339): compose_apc_contents('apcupsd-0')
#2 {main}
thrown @ 2023-02-16 10:50:34

See: https://forum.netgate.com/topic/177946/apcupsd-widget-error-with-23-1-installed


Related issues

Related to Bug #11898: PHP error from apcupsd dashboard widget when battery is chargingResolvedJim Pingle

Actions
Has duplicate Bug #14014: APCUPSD widget not working after pfSense + update to v.23.01Duplicate

Actions
Actions #1

Updated by Jim Pingle about 1 year ago

  • Has duplicate Bug #14014: APCUPSD widget not working after pfSense + update to v.23.01 added
Actions #2

Updated by Jim Pingle about 1 year ago

  • Related to Bug #11898: PHP error from apcupsd dashboard widget when battery is charging added
Actions #3

Updated by Andrew Dakin about 1 year ago

I'm seeing a similar issue. apcupsd is gathering data from the UPS. The widget is throwing this error after upgrading to 23.01.

PHP ERROR: Type: 1, File: /usr/local/www/widgets/widgets/apcupsd.widget.php, Line: 130, Message: Uncaught TypeError: strrpos(): Argument #2 ($needle) must be of type string, array given in /usr/local/www/widgets/widgets/apcupsd.widget.php:130
Stack trace:
#0 /usr/local/www/widgets/widgets/apcupsd.widget.php(130): strrpos('ONLINE ', Array)
#1 /usr/local/www/widgets/widgets/apcupsd.widget.php(339): compose_apc_contents('apcupsd-0')
#2 {main}
thrown @ 2023-02-21 15:44:34

Actions #4

Updated by Jim Pingle about 1 year ago

  • Subject changed from PHP error in apcupsd widget to PHP error in apcupsd widget from UTF-8 string handling
  • Assignee set to Jim Pingle

This is from the degree symbol the package adds into the temperature string. At some point it changed and is now handled as UTF-8 so the usual string operators don't work on it properly.

Removing the symbol lets it work properly, and it's not really needed anyhow.

Actions #5

Updated by Jim Pingle about 1 year ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 100

Fix merged, will be in builds soon (might be a couple days)

Actions #6

Updated by Jordan G 6 months ago

  • Status changed from Resolved to Feedback

The widget has the following for the default entries in the warning/critical values by default, or possibly from a previous config restore. Clearing the value and saving seems to regenerate the string although it will accept entering numeric values within parameters. Also, the 'age levels' unit is not specified but it appears to be looking for number of days based on testing different values.

Project-Id-Version: PACKAGE VERSIONReport-Msgid-Bugs-To: MIME-Version: 1.0Content-Type: text/plain; charset=UTF-8Content-Transfer-Encoding: 8bitPO-Revision-Date: 2019-05-09 10:22+0000Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>Language-Team: English (United States)Language: en_USX-Generator: Zanata 4.6.2Plural-Forms: nplurals=2; plural=(n != 1)
Actions

Also available in: Atom PDF