Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Doesn't work on Debian Buster (10.3) and Fedora v34 - to fix in next release #787

Closed
puchalakd opened this issue Apr 17, 2020 · 20 comments
Closed
Labels

Comments

@puchalakd
Copy link

Hi,

I've followed installation instruction, but it didn't work.

$ tagui flows/samples/1_google.tag 
Auto configuration failed
140097590226560:error:25066067:DSO support routines:DLFCN_LOAD:could not load the shared library:dso_dlfcn.c:185:filename(libssl_conf.so): libssl_conf.so: cannot open shared object file: No such file or directory
140097590226560:error:25070067:DSO support routines:DSO_load:could not load the shared library:dso_lib.c:244:
140097590226560:error:0E07506E:configuration file routines:MODULE_LOAD_DSO:error loading dso:conf_mod.c:285:module=ssl_conf, path=ssl_conf
140097590226560:error:0E076071:configuration file routines:MODULE_RUN:unknown module name:conf_mod.c:222:module=ssl_conf

Quick FIX. Create an empty openssl.cnf file and set environment variable to use it.

$ touch /tmp/openssl.cnf
$ export OPENSSL_CONF="/tmp/openssl.cnf"

and now it works :)
$ tagui flows/samples/1_google.tag

I found some error reports that let me find a workaround:
drwetter/testssl.sh#1117
bazelbuild/rules_closure#351

Maybe based on this you can fix that in the code?

@kensoh
Copy link
Member

kensoh commented Apr 18, 2020

Thanks @puchalakd, I appreciate that you take the time to investigate and share solution!

This issue happens only for Debian distribution and for Buster release, thus we can't make it as a standard fix for all Linux packaged zip, or update documentation to include this fix as standard. But will keep a lookout for similar reported issues, to see if there is a way to detect and code in a fix that will fix this for Debian Buster, without breaking for other Linux distributions.

Hi @siowyisheng take note on this.

@kensoh kensoh changed the title Doesn't work on Debian Buster (10.3) and a workaround. Doesn't work on Debian Buster (10.3) and a workaround - to monitor Apr 18, 2020
@kensoh kensoh added the query label Apr 18, 2020
@kensoh
Copy link
Member

kensoh commented Apr 18, 2020

Closing the issue for now

@kensoh kensoh closed this as completed Apr 18, 2020
@Achsheyeh
Copy link

Thank you for providing working around.

@Astrogeorgeonethree
Copy link

Many (many) thanks @puchalakd for the workaround...I was beating my head against the desk trying to figure this out.

@adrhine
Copy link

adrhine commented May 14, 2021

Many thanks to @puchalakd for this as well. Can confirm this was an issue I encountered on Fedora v34

@kensoh
Copy link
Member

kensoh commented May 18, 2021

Thanks @puchalakd for your workaround and @Achsheyeh @Astrogeorgeonethree @adrhine for validating that the solution works! I've looked up one of the issues that @puchalakd shared and found that the issue is due to the OpenSSL v1.02 that is used by PhantomJS is confused by the config file if OpenSSL v1.1.1 is present. Thus the hack works by directing PhantomJS to go use a dummy config file. I'll continue to look out for more feedback on how this can be handled.

If doing this programmatically for all macOS/Linux TagUI it can create an environment variable that causes problems with other apps on the system that depends on OpenSSL v1.1.1. Because the export command makes the env variable persists.

@TetraGenius
Copy link

Thanks to @puchalakd. Can confirm this was an issue I also encountered on Fedora v34

@TetraGenius
Copy link

If I run this as sudo:
[theuns2021@localhost ~]$ sudo Documents/tagui/src/tagui Documents/tagui/flows/samples/2_github.tag
[sudo] password for theuns2021:
Documents/tagui/src/tagui: line 269: php: command not found
Auto configuration failed
140127944734528:error:25066067:DSO support routines:DLFCN_LOAD:could not load the shared library:dso_dlfcn.c:185:filename(libssl_conf.so): libssl_conf.so: cannot open shared object file: No such file or directory
140127944734528:error:25070067:DSO support routines:DSO_load:could not load the shared library:dso_lib.c:244:
140127944734528:error:0E07506E:configuration file routines:MODULE_LOAD_DSO:error loading dso:conf_mod.c:285:module=ssl_conf, path=ssl_conf
140127944734528:error:0E076071:configuration file routines:MODULE_RUN:unknown module name:conf_mod.c:222:module=ssl_conf

@TetraGenius
Copy link

I I run this as user:
[theuns2021@localhost ~]$ Documents/tagui/src/tagui Documents/tagui/flows/samples/2_github.tag
Documents/tagui/src/tagui: line 269: php: command not found
Unable to open file: /home/theuns2021/Documents/tagui/flows/samples/2_github.tag.js

phantomjs://code/bootstrap.js:113 in __die
Unable to load script /home/theuns2021/Documents/tagui/flows/samples/2_github.tag.js; check file syntax

phantomjs://code/bootstrap.js:113 in __die

@TetraGenius
Copy link

Should I use a different OS than Fedora 34? I'll switch, just not to Windows.

@kensoh
Copy link
Member

kensoh commented May 20, 2021

Hi @TetraGenius! From your run output it looks like php command is not available.

Can you try running below to install PHP on your system to see that works?

sudo dnf install php-cli

@TetraGenius
Copy link

Thanks Ken, Installing php did make a difference, but now tagui scripts are failing silently. I terminated tagui every time after waiting about two minutes using end_processes. I had everthing working on previous versions of Fedora ;(
Also it creates an empty log file...of 0 bytes
[theuns2021@localhost ~]$ Documents/tagui/src/tagui Documents/tagui/flows/samples/2_github.tag
Terminated
[theuns2021@localhost ~]$ Documents/tagui/src/tagui Documents/tagui/flows/samples/1_google.tag
Terminated
[theuns2021@localhost ~]$ sudo Documents/tagui/src/tagui Documents/tagui/flows/samples/1_google.tag
[sudo] password for theuns2021:

@TetraGenius
Copy link

I also replaced phantonjs with the replacement version; then I got this:
[theuns2021@localhost ~]$ Documents/tagui/src/tagui Documents/tagui/flows/samples/1_google.tag
rm: remove write-protected regular empty file 'tagui_chrome.in'?

@kensoh
Copy link
Member

kensoh commented May 20, 2021

There may be some file permissions issue. Can you go to your tagui folder and try this to see if it is permission-related -

chmod -R 777 *

The tagui_chrome.in is a temporary file used for TagUI to communicate with Chrome and shouldn't be write-protected.

@TetraGenius
Copy link

TetraGenius commented May 20, 2021

I've set the directory to 777;
I've also tried running the script 1_ google.tag.js directly in html and it fails on:
var casper = require('casper').create();
the error given is: Uncaught ReferenceError: require is not defined

I've also installed via npm; there it gives me this:
[theuns2021@localhost ~]$ node_modules/tagui/src/tagui node_modules/tagui/flows/samples/1_google.tag
ERROR - use .tagui .js .txt or no extension for flow filename
ERROR - automation aborted due to above

@kensoh kensoh changed the title Doesn't work on Debian Buster (10.3) and a workaround - to monitor Doesn't work on Debian Buster (10.3) and Fedora v34 - to fix in next release May 20, 2021
@kensoh
Copy link
Member

kensoh commented May 20, 2021

Hi Theuns, thanks for sharing all these details! Below are summary of the issue you are encountering and what I found for the 3rd issue. It looks like after your Fedora OS was updated to v34, a previously working installation started to fail.

  1. php command not found error started appearing, and you fixed by installing php. this could happen if Fedora removed php from its standard distribution in v34

  2. Error related to openssl, which you fixed by installing latest PhantomJS to use openssl v1.1.1. Can I confirm with you that you download the latest from here https://phantomjs.org/download.html? Then I'll include this in next TagUI Linux release.

Screenshot 2021-05-21 at 6 54 35 AM

  1. Error due to remove write-protected file, it seems like for some reason the Fedora update has made some files in your TagUI folder immutable. This can be checked by lsattr in the tagui/src directory. (Just found out that such a thing exist on Linux!). To resolve this issue, try unning this command chattr -R -i src in tagui folder so that the immutable flag is removed for all files inside the src folder. From googling, I found that immutable flag on means even with read/write access to a file, it can't be deleted without this prompt. However, I don't know why the OS update would make such file system changes.

PS - Oh don't use the version from npm it is very outdated. I've stopped using that as distribution channel.

@kensoh
Copy link
Member

kensoh commented May 20, 2021

In the meantime, I've make a note on the open issue on refreshing PhantomJS,

which might solve the root cause for this raised issue around Open SSL - #932 (comment)

@auwsom
Copy link

auwsom commented May 14, 2022

Hi @kensoh, any update on this issue? I'm having similar errors as above on Ubuntu 22.04.

@kensoh
Copy link
Member

kensoh commented May 14, 2022

The PhantomJS is refreshed for Mac version but not Ubuntu version. I have another project but have not heard issues from Ubuntu users. Can u try step 2 below to see if that works?

#787 (comment)

Copying @ruthtxh

@marcelocecin
Copy link

Hi @kensoh, any update on this issue? I'm having similar errors as above on Ubuntu 22.04.

export OPENSSL_CONF=/etc/ssl
phantomjs --version

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

8 participants