openwrt / packages

Community maintained packages for OpenWrt. Documentation for submitting pull requests is in CONTRIBUTING.md
GNU General Public License v2.0
3.94k stars 3.46k forks source link

php-cli: 8.1.16 Segmentation fault with date(); #20775

Closed hoeulm closed 1 year ago

hoeulm commented 1 year ago

OpenWrt package php-cli.8.1.16

this packages crashes with "Segmentation fault" on the simple program

ymdhms.php <?php echo(date("Y-m-d H:i:s")); ?>

OpenWrt 22.03.3 Board ramips/mt7621 on DLINK 882 A1

other more complex programs with sockets and openssl-decrypt work FINE

On an other OpenWrt with similar CPU the program runs without problems!! Board ramips/mt7620 on GL-MT300A

mhei commented 1 year ago

Could you provide a link to the script which crashs PHP? Do you build on your own, or do you use precompiled packages? When compiling on your own, then please provide output of "scripts/diffconfig.sh". What packages are installed? Have both systems the same package set? Which timezone packages are installed?

hoeulm commented 1 year ago

Hello Michael,

i use the newest procompiled package php-cli.8.1.16

echo "<?php echo(date('Y')); ?>" | php-cli Segmentation fault

echo "<?php echo(exec('date +%Y')); ?>" | php-cli 2023

echo "<?php date_default_timezone_set('UTC'); echo(date('Y')); ?>" | php-cli 2023

So it seems to be a problem with missing timezone settings,

on the other system there is also NO Timezone set, but it works!!

Richard Hoermann

Am 04.04.2023 20:34, schrieb Michael Heimpold:

Could you provide a link to the script which crashs PHP? Do you build on your own, or do you use precompiled packages? When compiling on your own, then please provide output of "scripts/diffconfig.sh". What packages are installed? Have both systems the same package set? Which timezone packages are installed?

-- Reply to this email directly, view it on GitHub [1], or unsubscribe [2]. You are receiving this because you authored the thread.Message ID: @.***>

Links:

[1] https://github.com/openwrt/packages/issues/20775#issuecomment-1496424063 [2] https://github.com/notifications/unsubscribe-auth/ASXTU4QIQXZVXTWIRI4BHXDW7RSTJANCNFSM6AAAAAAWS2GMZI

mhei commented 1 year ago

I can only reproduce a Segmentation fault when I do the following: pkg remove zoneinfo-core --force-depends Can you check whether the corresponding zoneinfo-* package is installed, or if you don't set a timezone, then you need at least the zoneinfo-core package.

hoeulm commented 1 year ago

Hello Michael,

there was NO zoneinfo Package installed, if i install it, all works fine!

It was as default installation of openwrt,

so "zoneinfo-core" should be added to the depencies of php-cli

Thanks for your help!!

I develop a Smart-Energy Monitor Interface with REVOGI SOW323 / VOLTCRAFT SEM8500 Powerstripes that runs on OpenWrt instead of IOBROKER or APPS,

so you dont need to install APPS, only use your Browser(also on Laptops!)

Richard Hoermann

Am 11.04.2023 22:03, schrieb Michael Heimpold:

I can only reproduce a Segmentation fault when I do the following: pkg remove zoneinfo-core --force-depends Can you check whether the corresponding zoneinfo-* package is installed, or if you don't set a timezone, then you need at least the zoneinfo-core package.

-- Reply to this email directly, view it on GitHub [1], or unsubscribe [2]. You are receiving this because you authored the thread.Message ID: @.***>

Links:

[1] https://github.com/openwrt/packages/issues/20775#issuecomment-1504020129 [2] https://github.com/notifications/unsubscribe-auth/ASXTU4QETIKWDB6LYPRT36DXAW2IRANCNFSM6AAAAAAWS2GMZI

mhei commented 1 year ago

Hi Richard,

the php8 package already has a dependency to zoneinfo-core when php8 is compiled with "Use system timezone data instead of php's built-in database" enabled. This is default (i.e. buildbots use it). And I checked that when deselecting this, then I cannot reproduce a segfault when zoneinfo-core is not installed (and indeed in my build the zoneinfo-core is missing then by default).

So I'm a little bit confused. Could you provide more details about what you mean with "It was as default installation of openwrt,", please?

Thanks, mhei

hoeulm commented 1 year ago

Hi Michel

fresh Installed means "RESET TO FIRMAWARE" and only addition installed package is php8.1-cli

date("Y") reports 2023 ->fine

if i change the Timezone in Luci to Europe Berlin

date("Y") generates -> segmentation fault

if i install the package "zoneinfo-europe"

date("Y") reports 2023 ->fine

Thanks

Richard Hoermann

Am 12.04.2023 18:32, schrieb Michael Heimpold:

Hi Richard,

the php8 package already has a dependency to zoneinfo-core when php8 is compiled with "Use system timezone data instead of php's built-in database" enabled. This is default (i.e. buildbots use it). And I checked that when deselecting this, then I cannot reproduce a segfault when zoneinfo-core is not installed (and indeed in my build the zoneinfo-core is missing then by default).

So I'm a little bit confused. Could you provide more details about what you mean with "It was as default installation of openwrt,", please?

Thanks, mhei

-- Reply to this email directly, view it on GitHub [1], or unsubscribe [2]. You are receiving this because you authored the thread.Message ID: @.***>

Links:

[1] https://github.com/openwrt/packages/issues/20775#issuecomment-1505581012 [2] https://github.com/notifications/unsubscribe-auth/ASXTU4RERXGQ6E7QFYIQFSDXA3KILANCNFSM6AAAAAAWS2GMZI

mhei commented 1 year ago

Hi, thanks for clarifying. Then this is expected behavior - not nice, but I don't see an easy solution to fix this: Luci allows to select the timezone independently from what is installed as zoneinfo-* packages as far as I see. Maybe you want to open an issue for Luci? I tend to close this issue here if you agree.

mhei commented 1 year ago

Not a bug in PHP, closing as announced.