[Gluster-devel] bug in mod_glusterfs for lighty 1.5

Raghavendra G raghavendra at gluster.com
Mon Jul 13 18:39:24 UTC 2009


Hi,

We are currently planning to replace mod_glusterfs for apache/lighttpd with
Booster. This is due to the difficulties in packaging mod_glusterfs. The
combination of LD_PRELOADed booster along with apache/lighttpd is currently
undergoing testing and should be available in 2.1 release.

As of 2.0, as for as lighttpd is concerned mod_glusterfs is provided only
for 1.4, since lighttpd 1.5 itself is not under active development.

regards,
2009/7/13 <s.dinev at corp.mail.bg>

> Hello!
>
> We want to use mod_glusterfs, but it has bugs. We use glusterfs on our
> production servers (version glusterfs-1.4.0pre5 ). Our web server is
> lighttpd 1.5 rev. 1992.
>
> We decided to test mod_glusterfs, but we discovered that it killed lighty
> (SEGFAULT). With valgrind I discovered that the problem is near line 1453 of
> mod_glusterfs.c. I looked it and I decided to change the code:
>
> FROM:
> URIHANDLER_FUNC(mod_glusterfs_response_done) {
>   plugin_data *p = p_d;
>   UNUSED (srv);
>   mod_glusterfs_ctx_t *ctx = con->plugin_ctx[p->id];
>
>   con->plugin_ctx[p->id] = NULL;
>   if (ctx) {
>   if (ctx->glusterfs_path) {
>   free (ctx->glusterfs_path);
>   }
>   }
>
>   free (ctx);
>   return HANDLER_GO_ON;
> }
>
> TO:
> URIHANDLER_FUNC(mod_glusterfs_response_done) {
>   plugin_data *p = p_d;
>   UNUSED (srv);
>   mod_glusterfs_ctx_t *ctx = con->plugin_ctx[p->id];
>
>   if (ctx) {
>   if (ctx->buf) {
>   free (ctx->buf);
>   ctx->buf = NULL;
>   }
>   if (ctx->glusterfs_path) {
> // free (ctx->glusterfs_path);
>   buffer_free (ctx->glusterfs_path);
>   ctx->glusterfs_path = NULL;
>   }
>   }
>   con->plugin_ctx[p->id] = NULL;
>   free (ctx);
>
>   return HANDLER_GO_ON;
> }
>
> Now It works, but when I stop downloading proces lighty kills itself
> (server.c.847: (trace) [note] graceful shutdown started by UID=0, PID=0).
> Now I don`t know what to do.
>
> I updated glusterfs to the latest version, but when I started lighty, it
> showed:
>
> ## lighttpd error glusterfs version 2.0.1 and above
> Starting web server: lighttpd2009-07-08 12:54:55: (plugin.c.266) dlopen()
> failed for: /usr/lib/lighttpd/mod_glusterfs.so
> /usr/lib/lighttpd/mod_glusterfs.so: undefined symbol: glusterfs_lookup_async
> 2009-07-08 12:54:55: (server.c.1185) loading plugins finally failed
>
> It looks like this method doesn`t exist any more.
>
> I will be very thankful if you fix these bugs and people can use
> mod_glusterfs freely. I hope that you send me some information about the
> problems I described above.
>
>
> Other bug:
> # compile error - SEGFAULT
> mod_glusterfs.c:830:26: warning: ISO C99 requires rest arguments to be used
> mod_glusterfs.c: In function ‘http_response_parse_range’:
> mod_glusterfs.c:830: error: expected expression before ‘)’ token
> mod_glusterfs.c:830: warning: too many arguments for format
> mod_glusterfs.c:830: error: expected expression before ‘,’ token
> make[4]: *** [mod_glusterfs_la-mod_glusterfs.lo] Error 1
>
> # fix
> SEGFAULT("got HANDLER_ERROR from a plugin: %s", "glusterfs");
>
> --
> Стефан Динев
> mail.bG
> BG-1517 Sofia, P.O. Box 17
> Phone: +359 [2] 9451006
>
> _______________________________________________
> Gluster-devel mailing list
> Gluster-devel at nongnu.org
> http://lists.nongnu.org/mailman/listinfo/gluster-devel
>
>


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


More information about the Gluster-devel mailing list