david-dick / firefox-marionette

This is a client module to automate the Mozilla Firefox browser via the Marionette protocol
https://metacpan.org/dist/Firefox-Marionette
Other
12 stars 3 forks source link

Seems to hang under some 32 bit Strawberry Perl versions #26

Closed twata1 closed 9 months ago

twata1 commented 10 months ago

Hello,

For recently shipped Firefox-Marionettes, It seems to me that the test hangs under some 32 bit Strawberry Perl versions on Windows 7 32 bit as follows. (I know Windows 7 is old OS.)

Strawberry Perl 5.26.1 32 bit

C:\home\bath1>cpan DDICK/Firefox-Marionette-1.48.tar.gz

(snip)

Running make test for DDICK/Firefox-Marionette-1.48.tar.gz
"C:\Strawberry\perl\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harn
ess(0, 'blib\lib', 'blib\arch')" t/*.t
# Testing Firefox::Marionette 1.48
t/00.load.t ........ ok
# Version is Mozilla Firefox 115.4.0esr
# This firefox installation has 1 existing profiles
(hangs)

Strawberry Perl 5.24.0 32 bit

C:\home\west>cpan DDICK/Firefox-Marionette-1.48.tar.gz

(snip)

Running make test for DDICK/Firefox-Marionette-1.48.tar.gz
C:\"Strawberry\perl\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test
_harness(0, 'blib\lib', 'blib\arch')" t/*.t
# Testing Firefox::Marionette 1.48
t/00.load.t ........ ok
# Version is Mozilla Firefox 115.4.0esr
# This firefox installation has 1 existing profiles
(hangs)

Strawberry Perl 5.18.4 32 bit

C:\home\journey>cpan DDICK/Firefox-Marionette-1.48.tar.gz

Running make test for DDICK/Firefox-Marionette-1.48.tar.gz
C:\"Strawberry\perl\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test
(snip)

_harness(0, 'blib\lib', 'blib\arch')" t/*.t
# Testing Firefox::Marionette 1.48
t/00.load.t ........ ok
# Version is Mozilla Firefox 115.4.0esr
# This firefox installation has 1 existing profiles
(hangs)

The tests pass under Strawberry Perl 5.16.3 32 bit. http://www.cpantesters.org/cpan/report/a6d7eafd-7058-1014-a358-b2c1e3396204

Thank you,

david-dick commented 10 months ago

Interesting. Could you run perl -Ilib t\01-marionette.t and see if we get a bit more information about where the hang is?

twata1 commented 10 months ago

Please wait. (For some reason, it is not possible to switch the locale from Japanese to English, and it may take some time to translate error messages.)

twata1 commented 10 months ago

Translated, this is supposed to output the message "An operation was attempted on something that is not a socket.".

Strawberry Perl 5.26.1 32 bit

C:\home\bath1\Firefox-Marionette-1.48>perl -Ilib t\01-marionette.t
# Version is Mozilla Firefox 115.4.0esr
ok 1 - Read 1 existing profiles
# This firefox installation has 1 existing profiles
ok 2 - Found default profile
ok 3 - No default waterfox profile
ok 4 - Read existing profile if any
ok 5 - Firefox::Marionette->new() threw an exception when launched with an incorrect path to a binary:Failed to execute '/fir
efox/is/not/here --version':An operation was attempted on something that is not a socket.
#
(hangs)
david-dick commented 10 months ago

Okay, I've replicated the behaviour. Looks like an IPC::Open3 issue.

david-dick commented 9 months ago

okay, i've committed a patch to fix this. if you could test this directly that would be great, otherwise, i'll release a new version in a day or so.

twata1 commented 9 months ago

Now testing...

twata1 commented 9 months ago

I think the test results are OK. Here are build logs. (These files are copy and pasted from the screen on the command prompt.)

build-under-32-bit-SP5-26-1-on-Win7.log build-under-32-bit-SP5-24-0-on-Win7.log build-under-32-bit-SP5-18-4-on-Win7.log

Thank you for resolving the issue!

david-dick commented 9 months ago

Excellent. Thanks for the bug report and your assistance