LiteSpeed on OpenSolaris

benr

New Member
#1
I've run into some odd issues attempting to use LiteSpeed on recent releases of OpenSolaris (Nevada newer than about Build 56). LiteSpeed installs fine but won't start, and there is no clear reason why. Nothing is output to the logs that I see. Relevant truss output is included below.

I know that on OpenSolaris B43 LiteSpeed works fine. I'm completely at a loss as to what changed and why it would impact LiteSpeed. I've tested both 3.0.3 and 3.1 for Solaris /X86:

6871: umask(022) = 022
6871: sysconfig(_CONFIG_PAGESIZE) = 4096
6871: brk(0x08290030) = 0
6871: brk(0x08294030) = 0
6871: dup(2) = 3
6871: fcntl(3, F_SETFD, 0x00000001) = 0
6871: getcwd("/opt/lsws/bin", 512) = 0
6871: xstat(2, "/opt/lsws/", 0x08045784) = 0
6871: access("/opt/lsws/conf/httpd_config.xml", R_OK) = 0
6871: open("/opt/lsws/conf/httpd_config.xml", O_RDONLY) = 4
6871: brk(0x08294030) = 0
6871: brk(0x082B4030) = 0
6871: fstat64(4, 0x08043F90) = 0
6871: brk(0x082B4030) = 0
6871: brk(0x082B6030) = 0
6871: fstat64(4, 0x08043EC0) = 0
6871: ioctl(4, TCGETA, 0x08043F5C) Err#25 ENOTTY
6871: read(4, " < ? x m l v e r s i o".., 8192) = 8192
6871: brk(0x082B6030) = 0
6871: brk(0x082B8030) = 0
6871: brk(0x082B8030) = 0
6871: brk(0x082BA030) = 0
6871: brk(0x082BA030) = 0
6871: brk(0x082BC030) = 0
6871: brk(0x082BC030) = 0
6871: brk(0x082BE030) = 0
6871: brk(0x082BE030) = 0
6871: brk(0x082C0030) = 0
6871: brk(0x082C0030) = 0
6871: brk(0x082C2030) = 0
6871: brk(0x082C2030) = 0
6871: brk(0x082C4030) = 0
6871: read(4, " < e n a b l e d > 1 < /".., 8192) = 1795
6871: read(4, 0x082B3804, 8192) = 0
6871: llseek(4, 0, SEEK_CUR) = 9987
6871: close(4) = 0
6871: readlink("/opt", 0x08044405, 4094) Err#22 EINVAL
6871: xstat(2, "/home/benrlsws/", 0x08045524) Err#2 ENOENT
6871: xstat(2, "/home/benrlsws/lshttpd/", 0x08045524) Err#2 ENOENT
6871: xstat(2, "/usr/local/lsws/", 0x08045524) Err#2 ENOENT
6871: xstat(2, "/usr/local/lsws/lshttpd/", 0x08045524) Err#2 ENOENT
6871: xstat(2, "/opt/lsws/", 0x08045524) = 0
6871: access("/opt/lsws/conf/httpd_config.xml", R_OK) = 0
6871: readlink("/opt", 0x080441A5, 4094) Err#22 EINVAL
6871: xstat(2, "/opt/lsws/lshttpd/", 0x08045524) Err#2 ENOENT
6871: xstat(2, "/usr/lsws/", 0x08045524) Err#2 ENOENT
6871: xstat(2, "/usr/lsws/lshttpd/", 0x08045524) Err#2 ENOENT
6871: xstat(2, "/var/lsws/", 0x08045524) Err#2 ENOENT
6871: xstat(2, "/var/lsws/lshttpd/", 0x08045524) Err#2 ENOENT
6871: xstat(2, "/home/lsws/", 0x08045524) Err#2 ENOENT
6871: xstat(2, "/home/lsws/lshttpd/", 0x08045524) Err#2 ENOENT
6871: xstat(2, "/usr/share/lsws/", 0x08045524) Err#2 ENOENT
6871: xstat(2, "/usr/share/lsws/lshttpd/", 0x08045524) Err#2 ENOENT
6871: xstat(2, "/usr/local/share/lsws/", 0x08045524) Err#2 ENOENT
6871: xstat(2, "/usr/local/share/lsws/lshttpd/", 0x08045524) Err#2 ENOENT
6871: fstat64(2, 0x08044AF0) = 0
6871: write(2, "\0\0\0\0\0\0\0\0\0\0\0\0".., 18445580) Err#14 EFAULT
6871: _exit(1)
6864: waitid(P_PID, 6871, 0x08047840, WEXITED|WTRAPPED|WNOWAIT) = 0
6864: ioctl(0, TIOCGPGRP, 0x080478A0) = 0
6864: ioctl(0, TCGETS, 0x08077DC8) = 0
6864: waitid(P_PID, 6871, 0x08047840, WEXITED|WTRAPPED) = 0
[ERROR] Failed to start lshttpd!
6864: write(1, " [ E R R O R ] F a i l".., 33) = 33
6864: brk(0x0807AD98) = 0
6864: unlink("/tmp/sh68640") = 0
6864: _exit(1)


Any ideas are welcome.

benr.
 

mistwang

LiteSpeed Staff
#2
The ABI for 32bit application built on solaris 8 has been broken on this open solaris release as well as the latest B63. Maybe you should stick with Sun's offical releases or switch to our 64bit binary.
 

benr

New Member
#3
The ABI for 32bit application built on solaris 8 has been broken on this open solaris release as well as the latest B63. Maybe you should stick with Sun's offical releases or switch to our 64bit binary.
Is there any chance of a 64bit release of the free version?
 

benr

New Member
#5
The ABI for 32bit application built on solaris 8 has been broken on this open solaris release as well as the latest B63. Maybe you should stick with Sun's offical releases or switch to our 64bit binary.
Do you have any evidence of this? Can you be more specific about what broke?

benr.
 

mistwang

LiteSpeed Staff
#6
Probably related to the storage of "errno",
Code:
if ( errno != EINVAL )
is ture when "readlink()" function returns with error EINVAL in your truss output, no problem with the 64bit binary.

And truss output does not show the correct content for the write function
Code:
write(2, "\0\0\0\0\0\0\0\0\0\0\0\0".., 18445580)
 
#7
Is this a Sun problem, or something that can be addressed by recompiling LiteSpeed for newer versions of Solaris?

This is a major bummer as I was relying on the ability to run LiteSpeed on my Joyent accelerator (vps)...
 

mistwang

LiteSpeed Staff
#8
Are you having this issue now on Joyent accelerator?
It might be able to be addressed by building LiteSpeed for the newer version of Solaris, but we'd rather not to keep adding binaries for Solaris, it is a big pain to maintain all of them for a small user base.
 
#9
Are you having this issue now on Joyent accelerator?
It might be able to be addressed by building LiteSpeed for the newer version of Solaris, but we'd rather not to keep adding binaries for Solaris, it is a big pain to maintain all of them for a small user base.
I have not tried to install it yet. But based on benr's (who is the Accelerator guru over at Joyent unless there is another benr trying to run LiteSpeed on OpenSolaris) above comments, I am assuming he has been unable to get LiteSpeed to run there.

I'm sorry it is a "big pain" to maintain several versions and I don't mean to sound ungrateful. But you have chosen to make your product closed-source, which is what makes it impossible for users to compile it for ourselves. Also, now that Joyent is using OpenSolaris, I think the potential user base may start to grow rather quickly....
 
Last edited:

mistwang

LiteSpeed Staff
#10
I'm sorry it is a "big pain" to maintain several versions and I don't mean to sound ungrateful. But you have chosen to make your product closed-source, which is what makes it impossible for users to compile it for ourselves.
Maybe we should stop offering the free standard edition if most of our standard edition users think this way.

Also, now that Joyent is using OpenSolaris, I think the potential user base may start to grow rather quickly....
We will see.

On the other hand, the 64bit enterprise binary does work well, the upcoming vps offeringis plus monthly subscription make it even more affordable. We don't see the need of offering everything for free, especially when users are not grateful for what we have been doing.
 
#11
Well, I *am* grateful for what you have been doing. I think you have a great product. (And I specifically stated not to take my words as being "ungrateful.") And I am sure that providing the Standard edition leads to many sales of the Enterprise edition, so I would think it would be beneficial to provide it to as many users as possible. I know I am in that camp. I am evaluating the Standard edition now. And if it all goes well (so far it has), I will very likely be an Enterprise customer in the future.
 
Top