Ruby DBD MySQL seg faults under mod_ruby

Discussion in 'Ruby' started by matthew c. mead, Jan 26, 2004.

  1. I have an rhtml website using mysql as a backend working
    just fine on a standalone FreeBSD 5.1 system, but it fails
    to work in a jail under FreeBSD 4.8. I get segfaults inside
    ruby when I try to use the dbi interface to access retrieved
    rows. Additionally, when I run the code standalone from the
    command line invoking it with ruby, everything works properly.

    Can anyone point me to how I should resolve the problem?

    Here are the particulars:

    The error message in httpd's error_log is:

    /usr/local/lib/ruby/site_ruby/1.6/DBD/Mysql/Mysql.rb:465: [BUG] Segmentation fault
    ruby 1.6.8 (2003-10-15) [i386-freebsd4]

    Pertinent software:
    apache_1.3.28
    mod_ruby-1.1.2
    eruby-1.0.5
    ruby-1.6.8.2003.10.15
    ruby-aspectr-0.3.5
    ruby-bdb1-0.2.1
    ruby-dbd_mysql-0.0.21
    ruby-dbi-0.0.21
    ruby-mysql-2.4.5
    ruby-shim-ruby18-1.8.1.p3


    THANKS!



    -matt

    --
    matthew c. mead

    http://www.goof.com/~mmead/
    matthew c. mead, Jan 26, 2004
    #1
    1. Advertising

  2. I know. Bad form to respond to myself.

    According to gdb, this is the stack trace of where things fail.
    Can anyone help me make sense of why this would fail under
    FreeBSD 4.8 in a jail vs. working perfectly under FreeBSD 5.1
    with NO jail?

    Thanks!

    #0 0x2847ba39 in rb_str_new2 () from /usr/local/lib/libruby.so.16
    #1 0x2847baa6 in rb_tainted_str_new2 () from /usr/local/lib/libruby.so.16
    #2 0x28635c55 in make_field_obj ()
    from /usr/local/lib/ruby/site_ruby/1.6/i386-freebsd4/mysql.so
    #3 0x286371c9 in fetch_fields ()
    from /usr/local/lib/ruby/site_ruby/1.6/i386-freebsd4/mysql.so
    #4 0x2842993d in call_cfunc () from /usr/local/lib/libruby.so.16
    #5 0x28429ea1 in rb_call0 () from /usr/local/lib/libruby.so.16
    #6 0x2842a6fe in rb_call () from /usr/local/lib/libruby.so.16
    #7 0x28424fd4 in rb_eval () from /usr/local/lib/libruby.so.16
    #8 0x28424b15 in rb_eval () from /usr/local/lib/libruby.so.16
    #9 0x28423efe in rb_eval () from /usr/local/lib/libruby.so.16
    #10 0x2842349e in rb_eval () from /usr/local/lib/libruby.so.16


    -matt




    On Mon, Jan 26, 2004 at 10:18:05AM +0900, matthew c. mead wrote:
    > I have an rhtml website using mysql as a backend working
    > just fine on a standalone FreeBSD 5.1 system, but it fails
    > to work in a jail under FreeBSD 4.8. I get segfaults inside
    > ruby when I try to use the dbi interface to access retrieved
    > rows. Additionally, when I run the code standalone from the
    > command line invoking it with ruby, everything works properly.
    >
    > Can anyone point me to how I should resolve the problem?
    >
    > Here are the particulars:
    >
    > The error message in httpd's error_log is:
    >
    > /usr/local/lib/ruby/site_ruby/1.6/DBD/Mysql/Mysql.rb:465: [BUG] Segmentation fault
    > ruby 1.6.8 (2003-10-15) [i386-freebsd4]
    >
    > Pertinent software:
    > apache_1.3.28
    > mod_ruby-1.1.2
    > eruby-1.0.5
    > ruby-1.6.8.2003.10.15
    > ruby-aspectr-0.3.5
    > ruby-bdb1-0.2.1
    > ruby-dbd_mysql-0.0.21
    > ruby-dbi-0.0.21
    > ruby-mysql-2.4.5
    > ruby-shim-ruby18-1.8.1.p3
    >
    >
    > THANKS!
    >
    >
    >
    > -matt
    >
    > --
    > matthew c. mead
    >
    > http://www.goof.com/~mmead/
    >


    --
    matthew c. mead

    http://www.goof.com/~mmead/
    matthew c. mead, Jan 26, 2004
    #2
    1. Advertising

  3. For anyone going to take a look at this, I've found it fails
    under FreeBSD 4.8 whether it's running in a jail or not.

    Is there an easy way to build all this (apache, ruby-mysql,
    mysql client libs, etc.) debug and run it under gdb so I can get
    useful information? It's been quite a few years since I've
    debugged with gdb.

    Thanks in advance for any help.


    -matt

    On Mon, Jan 26, 2004 at 11:26:03AM +0900, matthew c. mead wrote:
    > I know. Bad form to respond to myself.
    >
    > According to gdb, this is the stack trace of where things fail.
    > Can anyone help me make sense of why this would fail under
    > FreeBSD 4.8 in a jail vs. working perfectly under FreeBSD 5.1
    > with NO jail?
    >
    > Thanks!
    >
    > #0 0x2847ba39 in rb_str_new2 () from /usr/local/lib/libruby.so.16
    > #1 0x2847baa6 in rb_tainted_str_new2 () from /usr/local/lib/libruby.so.16
    > #2 0x28635c55 in make_field_obj ()
    > from /usr/local/lib/ruby/site_ruby/1.6/i386-freebsd4/mysql.so
    > #3 0x286371c9 in fetch_fields ()
    > from /usr/local/lib/ruby/site_ruby/1.6/i386-freebsd4/mysql.so
    > #4 0x2842993d in call_cfunc () from /usr/local/lib/libruby.so.16
    > #5 0x28429ea1 in rb_call0 () from /usr/local/lib/libruby.so.16
    > #6 0x2842a6fe in rb_call () from /usr/local/lib/libruby.so.16
    > #7 0x28424fd4 in rb_eval () from /usr/local/lib/libruby.so.16
    > #8 0x28424b15 in rb_eval () from /usr/local/lib/libruby.so.16
    > #9 0x28423efe in rb_eval () from /usr/local/lib/libruby.so.16
    > #10 0x2842349e in rb_eval () from /usr/local/lib/libruby.so.16
    >
    >
    > -matt
    >
    >
    >
    >
    > On Mon, Jan 26, 2004 at 10:18:05AM +0900, matthew c. mead wrote:
    > > I have an rhtml website using mysql as a backend working
    > > just fine on a standalone FreeBSD 5.1 system, but it fails
    > > to work in a jail under FreeBSD 4.8. I get segfaults inside
    > > ruby when I try to use the dbi interface to access retrieved
    > > rows. Additionally, when I run the code standalone from the
    > > command line invoking it with ruby, everything works properly.
    > >
    > > Can anyone point me to how I should resolve the problem?
    > >
    > > Here are the particulars:
    > >
    > > The error message in httpd's error_log is:
    > >
    > > /usr/local/lib/ruby/site_ruby/1.6/DBD/Mysql/Mysql.rb:465: [BUG] Segmentation fault
    > > ruby 1.6.8 (2003-10-15) [i386-freebsd4]
    > >
    > > Pertinent software:
    > > apache_1.3.28
    > > mod_ruby-1.1.2
    > > eruby-1.0.5
    > > ruby-1.6.8.2003.10.15
    > > ruby-aspectr-0.3.5
    > > ruby-bdb1-0.2.1
    > > ruby-dbd_mysql-0.0.21
    > > ruby-dbi-0.0.21
    > > ruby-mysql-2.4.5
    > > ruby-shim-ruby18-1.8.1.p3
    > >
    > >
    > > THANKS!
    > >
    > >
    > >
    > > -matt
    > >
    > > --
    > > matthew c. mead
    > >
    > > http://www.goof.com/~mmead/
    > >

    >
    > --
    > matthew c. mead
    >
    > http://www.goof.com/~mmead/
    >


    --
    matthew c. mead

    http://www.goof.com/~mmead/
    matthew c. mead, Jan 26, 2004
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Andrew King
    Replies:
    1
    Views:
    289
    John Harrison
    Apr 7, 2004
  2. Sharad Kala

    Re: malloc creates seg faults?

    Sharad Kala, Feb 14, 2005, in forum: C++
    Replies:
    2
    Views:
    293
    Sharad Kala
    Feb 14, 2005
  3. Dema
    Replies:
    0
    Views:
    99
  4. Mike Solomon

    DBD::mysqlPP v DBD::mysql

    Mike Solomon, Feb 16, 2004, in forum: Perl Misc
    Replies:
    1
    Views:
    194
    James Willmore
    Feb 16, 2004
  5. Jim Cochrane
    Replies:
    0
    Views:
    103
    Jim Cochrane
    Aug 25, 2007
Loading...

Share This Page