elekktretterr@exemail.com.au wrote:
quoted text > Hi all,
> Ruby (on Rails) crashes in certain situations(like running ActiveLdap.find
> inside a model or view, or render_component), where it should work and
> creates a core18.dump.
>
> porncatalog# gdb -q ruby18 ruby18.core
> Core was generated by `ruby18'.
> Program terminated with signal 4, Illegal instruction.
> Reading symbols from /usr/pkg/lib/libruby18.so.18...done.
> Loaded symbols for /usr/pkg/lib/libruby18.so.18
> Reading symbols from /usr/lib/libcrypt.so.3...done.
> Loaded symbols for /usr/lib/libcrypt.so.3
> Reading symbols from /usr/lib/libm.so.3...done.
> Loaded symbols for /usr/lib/libm.so.3
> Reading symbols from /usr/lib/libc_r.so.5...done.
> Loaded symbols for /usr/lib/libc_r.so.5
> Reading symbols from /usr/lib/libc.so.6...done.
> Loaded symbols for /usr/lib/libc.so.6
> Reading symbols from /usr/pkg/lib/ruby/1.8/i386-dragonfly/thread.so...done.
> Loaded symbols for /usr/pkg/lib/ruby/1.8/i386-dragonfly/thread.so
> Reading symbols from /usr/pkg/lib/ruby/1.8/i386-dragonfly/socket.so...done.
> Loaded symbols for /usr/pkg/lib/ruby/1.8/i386-dragonfly/socket.so
> Reading symbols from /usr/pkg/lib/ruby/1.8/i386-dragonfly/stringio.so...done.
> Loaded symbols for /usr/pkg/lib/ruby/1.8/i386-dragonfly/stringio.so
> Reading symbols from /usr/pkg/lib/ruby/1.8/i386-dragonfly/syck.so...done.
> Loaded symbols for /usr/pkg/lib/ruby/1.8/i386-dragonfly/syck.so
> Reading symbols from /usr/pkg/lib/ruby/1.8/i386-dragonfly/zlib.so...done.
> Loaded symbols for /usr/pkg/lib/ruby/1.8/i386-dragonfly/zlib.so
> Reading symbols from /usr/lib/libz.so.3...done.
> Loaded symbols for /usr/lib/libz.so.3
> Reading symbols from /usr/pkg/lib/ruby/1.8/i386-dragonfly/digest.so...done.
> Loaded symbols for /usr/pkg/lib/ruby/1.8/i386-dragonfly/digest.so
> Reading symbols from
> /usr/pkg/lib/ruby/1.8/i386-dragonfly/digest/sha2.so...done.
> Loaded symbols for /usr/pkg/lib/ruby/1.8/i386-dragonfly/digest/sha2.so
> Reading symbols from /usr/pkg/lib/ruby/1.8/i386-dragonfly/openssl.so...done.
> Loaded symbols for /usr/pkg/lib/ruby/1.8/i386-dragonfly/openssl.so
> Reading symbols from /usr/lib/libssl.so.4...done.
> Loaded symbols for /usr/lib/libssl.so.4
> Reading symbols from /usr/lib/libcrypto.so.4...done.
> Loaded symbols for /usr/lib/libcrypto.so.4
> Reading symbols from /usr/pkg/lib/ruby/1.8/i386-dragonfly/fcntl.so...done.
> Loaded symbols for /usr/pkg/lib/ruby/1.8/i386-dragonfly/fcntl.so
> Reading symbols from
> /usr/pkg/lib/ruby/1.8/i386-dragonfly/enumerator.so...done.
> Loaded symbols for /usr/pkg/lib/ruby/1.8/i386-dragonfly/enumerator.so
> Reading symbols from
> /usr/pkg/lib/ruby/1.8/i386-dragonfly/bigdecimal.so...done.
> Loaded symbols for /usr/pkg/lib/ruby/1.8/i386-dragonfly/bigdecimal.so
> Reading symbols from /usr/pkg/lib/ruby/1.8/i386-dragonfly/nkf.so...done.
> Loaded symbols for /usr/pkg/lib/ruby/1.8/i386-dragonfly/nkf.so
> Reading symbols from /usr/pkg/lib/ruby/1.8/i386-dragonfly/strscan.so...done.
> Loaded symbols for /usr/pkg/lib/ruby/1.8/i386-dragonfly/strscan.so
> Reading symbols from
> /usr/pkg/lib/ruby/1.8/i386-dragonfly/digest/md5.so...done.
> Loaded symbols for /usr/pkg/lib/ruby/1.8/i386-dragonfly/digest/md5.so
> Reading symbols from /usr/pkg/lib/ruby/1.8/i386-dragonfly/etc.so...done.
> Loaded symbols for /usr/pkg/lib/ruby/1.8/i386-dragonfly/etc.so
> Reading symbols from
> /usr/pkg/lib/ruby/1.8/i386-dragonfly/racc/cparse.so...done.
> Loaded symbols for /usr/pkg/lib/ruby/1.8/i386-dragonfly/racc/cparse.so
> Reading symbols from
> /usr/pkg/lib/ruby/site_ruby/1.8/i386-dragonfly/tmail/scanner_c.so...done.
> Loaded symbols for
> /usr/pkg/lib/ruby/site_ruby/1.8/i386-dragonfly/tmail/scanner_c.so
> Reading symbols from /usr/pkg/lib/ruby/1.8/i386-dragonfly/iconv.so...done.
> Loaded symbols for /usr/pkg/lib/ruby/1.8/i386-dragonfly/iconv.so
> Reading symbols from
> /usr/pkg/lib/ruby/site_ruby/1.8/i386-dragonfly/fcgi.so...done.
> Loaded symbols for /usr/pkg/lib/ruby/site_ruby/1.8/i386-dragonfly/fcgi.so
> Reading symbols from /usr/pkg/lib/libfcgi.so.0...done.
> Loaded symbols for /usr/pkg/lib/libfcgi.so.0
> Reading symbols from
> /usr/pkg/lib/ruby/gems/1.8/gems/postgres-0.7.9.2008.01.28/lib/postgres.so...done.
> Loaded symbols for
> /usr/pkg/lib/ruby/gems/1.8/gems/postgres-0.7.9.2008.01.28/lib/postgres.so
> Reading symbols from /usr/pkg/lib/libpq.so.4...done.
> Loaded symbols for /usr/pkg/lib/libpq.so.4
> Reading symbols from /usr/pkg/lib/libintl.so.3...done.
> Loaded symbols for /usr/pkg/lib/libintl.so.3
> Reading symbols from
> /usr/pkg/lib/ruby/1.8/i386-dragonfly/digest/sha1.so...done.
> Loaded symbols for /usr/pkg/lib/ruby/1.8/i386-dragonfly/digest/sha1.so
> Reading symbols from
> /usr/pkg/lib/ruby/site_ruby/1.8/i386-dragonfly/ldap.so...done.
> Loaded symbols for /usr/pkg/lib/ruby/site_ruby/1.8/i386-dragonfly/ldap.so
> Reading symbols from /usr/pkg/lib/libldap-2.3.so.0...done.
> Loaded symbols for /usr/pkg/lib/libldap-2.3.so.0
> Reading symbols from /usr/pkg/lib/liblber-2.3.so.0...done.
> Loaded symbols for /usr/pkg/lib/liblber-2.3.so.0
> Reading symbols from /usr/libexec/ld-elf.so.2...done.
> Loaded symbols for /usr/libexec/ld-elf.so.2
> #0 0x2809a251 in rb_eval (self=697870460, n=0x29049808) at eval.c:2927
> 2927 eval.c: No such file or directory.
> in eval.c
>
> Any idea why it can't find eval.c? And how to resolve this? Very urgent,
> need to fix this to finish off a project for a client.
I know "slightly" more of Ruby, but little about GDB.
Which version of Ruby?
I could imagine that there is a bug in the LDAP library. And I don't
think it has anything to do with DragonFly. Can you try it on a
different OS?
Can you spot the point in your Ruby program where the illegal
instruction occurs. It's probably a method in the LDAP C extension that
has an illegal instruction.
eval.c is a part of the Ruby interpreter. You can find it by downloading
the Ruby sources.
Regards,
Michael