[Gluster-devel] Re: lighttpd mod_glusterfs cannot run

Raghavendra G raghavendra at zresearch.com
Wed Feb 18 03:33:52 UTC 2009


Hi,

Can you send following information?

* backtrace from the lighttpd core after lighttpd has crashed.
* complete glusterfs logfile as an attachment.

Also, mod_glusterfs is listed at the end in server.modules. Can you move it
to top and retry?

regards,

On Wed, Feb 18, 2009 at 2:20 AM, Titov Alexander <titoff.a at gmail.com> wrote:

> The problem is remained in other words, but before lighhtpd hungs. The
> lighttpd dies without error after trying to read the URL from glusterfs.
>
> Configuration of lighttpd:
> server.modules              = (
>             "mod_access",
>             "mod_alias",
>             "mod_accesslog",
>             "mod_compress",
>             "mod_rewrite",
>             "mod_redirect",
>             "mod_status",
>             "mod_glusterfs",
>  )
> server.document-root       = "/var/www/"
> server.errorlog            = "/var/log/lighttpd/error.log"
> index-file.names           = ( "index.php", "index.html",
>                                "index.htm", "default.htm",
>                                "index.lighttpd.html" )
> accesslog.filename         = "/var/log/lighttpd/access.log"
> url.access-deny            = ( "~", ".inc" )
> static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
> server.port               = 8081
> server.pid-file            = "/var/run/lighttpd.pid"
> dir-listing.encoding        = "utf-8"
> server.dir-listing          = "enable"
> server.username            = "www-data"
> server.groupname           = "www-data"
> compress.cache-dir          = "/var/cache/lighttpd/compress/"
> compress.filetype           = ("text/plain", "text/html",
> "application/x-javascript", "text/css")
> include_shell "/usr/share/lighttpd/create-mime.assign.pl"
> include_shell "/usr/share/lighttpd/include-conf-enabled.pl"
>
> $HTTP["url"] =~ "^/" {
>     glusterfs.document-root = "/var/www"
>         glusterfs.prefix = "/"
>         glusterfs.logfile = "/var/log/lighttpd/glusterfs-lighttpd.log"
>         glusterfs.volume-specfile = "/etc/glusterfs/glusterfs-client.vol"
>         glusterfs.loglevel = "debug"
>         glusterfs.cache-timeout = 300
>         glusterfs.xattr-interface-size-limit = "65536"
> }
>
> glusterfs-client.vol:
> volume server1
>   type protocol/client
>   option transport-type tcp
>   option remote-host 192.168.1.2
>   option remote-port 6996
>   option username user
>   option password *******
>   option remote-subvolume storage
> end-volume
>
> volume server2
>   type protocol/client
>   option transport-type tcp
>   option remote-host 192.168.1.2
>   option remote-port 6996
>   option username user
>   option password *******
>   option remote-subvolume storage
> end-volume
>
> volume replicate
>   type cluster/replicate
>   subvolumes server1 server2
> end-volume
>
> volume writebehind
>   type performance/write-behind
>   option aggregate-size 128KB
>   option window-size 1MB
>   option flush-behind on
>   subvolumes replicate
> end-volume
>
> volume cache
>   type performance/io-cache
>   option cache-size 512MB
>   subvolumes writebehind
> end-volume
>
> In debug mode log is writing:
> 2009-02-17 19:01:23 D [spec.y:187:new_section] parser: New node for
> 'client1'
> 2009-02-17 19:01:23 D [xlator.c:421:xlator_set_type] xlator: attempt to
> load file /usr/lib/glusterfs/2.0.0rc1/xlator/protocol/client.so
> 2009-02-17 19:01:23 D [spec.y:213:section_type] parser:
> Type:client1:protocol/client
> 2009-02-17 19:01:23 D [spec.y:288:section_option] parser:
> Option:client1:transport-type:tcp
> 2009-02-17 19:01:23 D [spec.y:288:section_option] parser:
> Option:client1:remote-host:192.168.1.1
> 2009-02-17 19:01:23 D [spec.y:288:section_option] parser:
> Option:client1:remote-port:6996
> 2009-02-17 19:01:23 D [spec.y:288:section_option] parser:
> Option:client1:username:user
> 2009-02-17 19:01:23 D [spec.y:288:section_option] parser:
> Option:client1:password:******
> 2009-02-17 19:01:23 D [spec.y:288:section_option] parser:
> Option:client1:remote-subvolume:storage
> 2009-02-17 19:01:23 D [spec.y:372:section_end] parser: end:client1
> 2009-02-17 19:01:23 D [spec.y:187:new_section] parser: New node for
> 'client2'
> 2009-02-17 19:01:23 D [xlator.c:421:xlator_set_type] xlator: attempt to
> load file /usr/lib/glusterfs/2.0.0rc1/xlator/protocol/client.so
> 2009-02-17 19:01:23 D [spec.y:213:section_type] parser:
> Type:client2:protocol/client
> 2009-02-17 19:01:23 D [spec.y:288:section_option] parser:
> Option:client2:transport-type:tcp
> 2009-02-17 19:01:23 D [spec.y:288:section_option] parser:
> Option:client2:remote-host:192.168.1.2
> 2009-02-17 19:01:23 D [spec.y:288:section_option] parser:
> Option:client2:remote-port:6996
> 2009-02-17 19:01:23 D [spec.y:288:section_option] parser:
> Option:client2:username:user
> 2009-02-17 19:01:23 D [spec.y:288:section_option] parser:
> Option:client2:password:*******
> 2009-02-17 19:01:23 D [spec.y:288:section_option] parser:
> Option:client2:remote-subvolume:storage
> 2009-02-17 19:01:23 D [spec.y:372:section_end] parser: end:client2
> 2009-02-17 19:01:23 D [spec.y:187:new_section] parser: New node for
> 'replicate'
> 2009-02-17 19:01:23 D [xlator.c:421:xlator_set_type] xlator: attempt to
> load file /usr/lib/glusterfs/2.0.0rc1/xlator/cluster/replicate.so
> 2009-02-17 19:01:23 D [spec.y:213:section_type] parser:
> Type:replicate:cluster/replicate
> 2009-02-17 19:01:23 D [spec.y:357:section_sub] parser:
> child:replicate->client1
> 2009-02-17 19:01:23 D [spec.y:357:section_sub] parser:
> child:replicate->client2
> 2009-02-17 19:01:23 D [spec.y:372:section_end] parser: end:replicate
> 2009-02-17 19:01:23 D [spec.y:187:new_section] parser: New node for
> 'writebehind'
> 2009-02-17 19:01:23 D [xlator.c:421:xlator_set_type] xlator: attempt to
> load file /usr/lib/glusterfs/2.0.0rc1/xlator/performance/write-behind.so
> 2009-02-17 19:01:23 D [xlator.c:461:xlator_set_type] xlator: dlsym(notify)
> on /usr/lib/glusterfs/2.0.0rc1/xlator/performance/write-behind.so: undefined
> symbol: notify -- neglecting
> 2009-02-17 19:01:23 D [spec.y:213:section_type] parser:
> Type:writebehind:performance/write-behind
> 2009-02-17 19:01:23 D [spec.y:288:section_option] parser:
> Option:writebehind:aggregate-size:128KB
> 2009-02-17 19:01:23 D [spec.y:288:section_option] parser:
> Option:writebehind:window-size:1MB
> 2009-02-17 19:01:23 D [spec.y:288:section_option] parser:
> Option:writebehind:flush-behind:on
> 2009-02-17 19:01:23 D [spec.y:357:section_sub] parser:
> child:writebehind->replicate
> 2009-02-17 19:01:23 D [spec.y:372:section_end] parser: end:writebehind
> 2009-02-17 19:01:23 D [spec.y:187:new_section] parser: New node for 'cache'
> 2009-02-17 19:01:23 D [xlator.c:421:xlator_set_type] xlator: attempt to
> load file /usr/lib/glusterfs/2.0.0rc1/xlator/performance/io-cache.so
> 2009-02-17 19:01:23 D [xlator.c:461:xlator_set_type] xlator: dlsym(notify)
> on /usr/lib/glusterfs/2.0.0rc1/xlator/performance/io-cache.so: undefined
> symbol: notify -- neglecting
> 2009-02-17 19:01:23 D [spec.y:213:section_type] parser:
> Type:cache:performance/io-cache
> 2009-02-17 19:01:23 D [spec.y:288:section_option] parser:
> Option:cache:cache-size:512MB
> 2009-02-17 19:01:23 D [spec.y:357:section_sub] parser:
> child:cache->writebehind
> 2009-02-17 19:01:23 D [spec.y:372:section_end] parser: end:cache
> 2009-02-17 19:01:23 D [inode.c:990:inode_table_new] libglusterfsclient:
> creating new inode table with lru_limit=14057
> 2009-02-17 19:01:23 D [inode.c:455:__inode_create]
> libglusterfsclient/inode: create inode(0)
> 2009-02-17 19:01:23 D [client-protocol.c:5986:init] client1: defaulting
> transport-timeout to 42
> 2009-02-17 19:01:23 D [transport.c:141:transport_load] transport: attempt
> to load file /usr/lib/glusterfs/2.0.0rc1/transport/socket.so
> 2009-02-17 19:01:23 D [xlator.c:152:_volume_option_value_validate] client1:
> no range check required for 'option remote-port 6996'
> 2009-02-17 19:01:23 W [client-protocol.c:6049:init] client1: WARNING:
> Failed to set 'ulimit -n 1M': Operation not permitted
> 2009-02-17 19:01:23 E [client-protocol.c:6057:init] client1: Failed to set
> max open fd to 64k: Operation not permitted
> 2009-02-17 19:01:23 D [xlator.c:551:xlator_init_rec] client1:
> Initialization done
> 2009-02-17 19:01:23 D [client-protocol.c:5986:init] client2: defaulting
> transport-timeout to 42
> 2009-02-17 19:01:23 D [transport.c:141:transport_load] transport: attempt
> to load file /usr/lib/glusterfs/2.0.0rc1/transport/socket.so
> 2009-02-17 19:01:23 D [xlator.c:152:_volume_option_value_validate] client2:
> no range check required for 'option remote-port 6996'
> 2009-02-17 19:01:23 W [client-protocol.c:6049:init] client2: WARNING:
> Failed to set 'ulimit -n 1M': Operation not permitted
> 2009-02-17 19:01:23 E [client-protocol.c:6057:init] client2: Failed to set
> max open fd to 64k: Operation not permitted
> 2009-02-17 19:01:23 D [xlator.c:551:xlator_init_rec] client2:
> Initialization done
> 2009-02-17 19:01:23 D [xlator.c:551:xlator_init_rec] replicate:
> Initialization done
> 2009-02-17 19:01:23 D [write-behind.c:1315:init] writebehind: using
> aggregate-size = 131072
> 2009-02-17 19:01:23 D [write-behind.c:1364:init] writebehind:
> aggregate-size is not zero, disabling flush-behind
> 2009-02-17 19:01:23 D [xlator.c:551:xlator_init_rec] writebehind:
> Initialization done
> 2009-02-17 19:01:23 D [io-cache.c:1308:init] cache: using cache-size
> 536870912
> 2009-02-17 19:01:23 D [xlator.c:551:xlator_init_rec] cache: Initialization
> done
> 2009-02-17 19:01:23 D [client-protocol.c:6296:notify] client1: got
> GF_EVENT_PARENT_UP, attempting connect on transport
> 2009-02-17 19:01:23 D [client-protocol.c:6296:notify] client2: got
> GF_EVENT_PARENT_UP, attempting connect on transport
> 2009-02-17 19:01:23 D [client-protocol.c:6296:notify] client1: got
> GF_EVENT_PARENT_UP, attempting connect on transport
> 2009-02-17 19:01:23 D [client-protocol.c:6296:notify] client2: got
> GF_EVENT_PARENT_UP, attempting connect on transport
> 2009-02-17 19:01:24 D [client-protocol.c:5684:client_protocol_reconnect]
> client1: attempting reconnect
> 2009-02-17 19:01:24 D [common-utils.c:92:gf_resolve_ip6] resolver: DNS
> cache not present, freshly probing hostname: 192.168.1.1
> 2009-02-17 19:01:24 D [common-utils.c:129:gf_resolve_ip6] resolver:
> returning ip-192.168.1.1 (port-6996) for hostname: 192.168.1.1 and port:
> 6996
> 2009-02-17 19:01:24 E [name.c:416:client_bind] client1: cannot bind inet
> socket (10) to port less than 1024 (Permission denied)
> 2009-02-17 19:01:24 D [client-protocol.c:5684:client_protocol_reconnect]
> client2: attempting reconnect
> 2009-02-17 19:01:24 D [common-utils.c:92:gf_resolve_ip6] resolver: DNS
> cache not present, freshly probing hostname: 192.168.1.2
> 2009-02-17 19:01:24 D [client-protocol.c:6328:notify] client1: got
> GF_EVENT_CHILD_UP
> 2009-02-17 19:01:24 D [socket.c:924:socket_connect] client1: connect ()
> called on transport already connected
> 2009-02-17 19:01:24 D [common-utils.c:129:gf_resolve_ip6] resolver:
> returning ip-192.168.1.2 (port-6996) for hostname: 192.168.1.2 and port:
> 6996
> 2009-02-17 19:01:24 E [name.c:416:client_bind] client2: cannot bind inet
> socket (11) to port less than 1024 (Permission denied)
> 2009-02-17 19:01:24 D [client-protocol.c:6328:notify] client2: got
> GF_EVENT_CHILD_UP
> 2009-02-17 19:01:24 D [socket.c:924:socket_connect] client2: connect ()
> called on transport already connected
>
> After that lighttpd is died.
>
>
> Lighttpd version 1.4.19.
>
> Help please with this problem.
>
>
>
> 2009/2/17 Raghavendra G <raghavendra at zresearch.com>
>
> Hi,
>>
>> These are warning messages. Even though it cannot bind to any port <=
>> 1024, lighttpd goes ahead and binds to a non privileged port. But since
>> client is bound to non-privileged port, the address based authentication do
>> not accept the client. Hence client should be using login based
>> authentication. More details about authentication methods can be found in
>> <srcdir>/docs/authentication.txt
>>
>> regards,
>>
>> On Fri, Feb 13, 2009 at 7:59 PM, Titov Alexander <titoff.a at gmail.com>wrote:
>>
>>> I solved this error, I add one string to mod_glusterfs.h:
>>> #include <glusterfs/mem-pool.h>"
>>>
>>> But mod_glusterfs didn't work still. In lighttpd mod_glusterfs log I saw:
>>> 2009-02-13 18:50:31 E [name.c:416:client_bind] client1: cannot bind inet
>>> socket (10) to port less than 1024 (Permission denied)
>>> 2009-02-13 18:50:31 E [name.c:416:client_bind] client2: cannot bind inet
>>> socket (11) to port less than 1024 (Permission denied)
>>>
>>> Lighttpd is runing with owner user www-data and www-data can't create
>>> socket with port less than 1024.
>>>
>>> How I can solve this problem?
>>>
>>>
>>>
>>> 2009/2/13 Titov Alexander <titoff.a at gmail.com>
>>>
>>>  Hello!
>>>>
>>>> I build glusterfs and lighttpd 1.4.19 with mod_glusterfs. When I try to
>>>> start lighttpd, I  get this error:
>>>>
>>>> 2009-02-13 14:42:13: (plugin.c.165) dlopen() failed for:
>>>> /usr/lib/lighttpd/mod_glusterfs.so /usr/lib/lighttpd/mod_glusterfs.so:
>>>> undefined symbol: CALLOC
>>>> 2009-02-13 14:42:13: (server.c.621) loading plugins finally failed
>>>>
>>>> Help me please with strange error.
>>>>
>>>> --
>>>> Titov Alexander
>>>>
>>>
>>>
>>>
>>> --
>>> С уважением,
>>> Титов Александр
>>>
>>> _______________________________________________
>>> Gluster-devel mailing list
>>> Gluster-devel at nongnu.org
>>> http://lists.nongnu.org/mailman/listinfo/gluster-devel
>>>
>>>
>>
>>
>> --
>> Raghavendra G
>>
>>
>
>
> --
> С уважением,
> Титов Александр
>



-- 
Raghavendra G
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://supercolony.gluster.org/pipermail/gluster-devel/attachments/20090218/a2e64e93/attachment-0003.html>


More information about the Gluster-devel mailing list