[elephant-devel] linux-sbcl-64 report
Ian Eslick
eslick at csail.mit.edu
Mon Feb 12 20:10:57 UTC 2007
I hope you aren't relying on the current HEAD for anything
important! As you can tell we're not quite there yet!
There could be several issues. I assume you are using the with-
transaction macro around your transactions? (Or are you relying on
auto-commit?) Are you using cursors yourself or functions like get-
instances-by-value that themselves use cursors manually?
I recently made some changes to several of these functions so it
could be any of them. If I have some sense of what you're doing I
can go inspect the changes for holes. I should also be able to
reproduce this locally if it's an elephant function rather than an
issue with usage.
Thanks!
Ian
On Feb 12, 2007, at 12:55 PM, Henrik Hjelte wrote:
> Minor problems on 64 bit sbcl/linux
> .
> serializer2 line 174:
> (if (< (abs frob) +2^32+)
> should be
> (if (< (abs frob) +2^31+)
Fixed
> :module utils in elephant.asd should have a serial :t otherwise
> lock may
> be compiled before package.
Fixed
> A reminder about compiler switches,
> -arch x86_64 I think is apple specific,
> I have
> #+(or :X86-64) "-march=x86-64"
> on linux.
> Maybe a compromise is
> "-m64" ?
>
> http://gcc.gnu.org/onlinedocs/gcc-3.3.6/gcc/i386-and-x86_002d64-
> Options.html#i386-and-x86_002d64-Options
Hmmm...I think I'll add conditionals on a per-lisp, per-platform
basis as the *feature* lists are all very different. Check out the
latest checkin in elephant.asd
>
> A bigger problem: I get out-of-memory errors after running elephant a
> while. I *think* (I am by no means an expert with these things)
> this can
> mean anything, not only out-of-memory. (Because of a low default
> error-message level)
>
> What I strongly suspect is that I run out of locks.
> Doing dbstat-e reveals:
> 999 Number of current locks
> 1000 Maximum number of locks at any one time
> 13 Number of current lockers
> 17 Maximum number of lockers at any one time
> 996 Number of current lock objects
> 997 Maximum number of lock objects at any one time
> When I am thrown to the debugger.
>
> When quiting the debugger:
> 0 Number of current locks
> 1000 Maximum number of locks at any one time
>
> I am running the deadlock detector in a shell process: db_deadlock -
> t 3
>
> Oracle writes about this as point six in the common problems section:
> http://www.oracle.com/technology/documentation/berkeley-db/db/ref/
> debug/common.html
>
> I have tried to use with-locks surrounding the get and put calls in
> persistent-slot-reader and writer, but it didn't help anything.
That shouldn't have an effect (where did you get with-locks anyway?
Is that an elephant internal function or a threading function?)
> Any ideas? Has no one else seen this? Have I missed something obvious?
I haven't seen this on earlier versions, and I used Elephant 0.6.0
very heavily so it must be an artifact that was recently introduced.
> Best wishes,
> Henrik Hjelte
>
> _______________________________________________
> elephant-devel site list
> elephant-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/elephant-devel
More information about the elephant-devel
mailing list