Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re^2: [Ceph::RADOS] Help Debugging Inline C

by three18ti (Scribe)
on Nov 07, 2013 at 07:29 UTC ( #1061527=note: print w/ replies, xml ) Need Help??


in reply to Re: [Ceph::RADOS] Help Debugging Inline C
in thread [Ceph::RADOS] Help Debugging Inline C

Hey Rob,

Well... I'm not getting a segfault anymore! :)

Now it get "Out of memory"...

root@kitt:~/Ceph-RADOS-0.01# perl testrados2.pl connected Kbytes: 4880394048 Kbytes used: 1327705520 Kbytes avail: 3552688528 Objects: 164563 error(17) in create_pool:File exists create pool this_test_pool success Testing list_pools Out of memory!

I'm not sure how to enable build_noisy, but this is what my use Inline::C declaration looks like:

use Inline C => 'DATA', VERSION => '0.01', NAME => 'Ceph::RADOS', LIBS => '-L/usr/lib -lrados', INC => '-I/usr/include/rados', TYPEMAPS => 'lib/Ceph/types', BUILD_NOISY => 1;

I think that's what you were getting at.

Anyway, this is a giant stack trace, so I'm not sure if a) any of it's relevant and b) how to share it effectively. (I guess I can just paste it in a code block...)

also the gdb seession is relatively useless:

Starting program: /usr/bin/perl testrados2.pl [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so +.1". [New Thread 0x7ffff3901700 (LWP 9280)] [New Thread 0x7ffff298e700 (LWP 9281)] [New Thread 0x7ffff218d700 (LWP 9282)] [New Thread 0x7ffff198c700 (LWP 9283)] [New Thread 0x7ffff118b700 (LWP 9284)] [New Thread 0x7ffff098a700 (LWP 9285)] [New Thread 0x7ffff7fe7700 (LWP 9286)] [New Thread 0x7ffff0189700 (LWP 9289)] [New Thread 0x7fffe3fff700 (LWP 9290)] [New Thread 0x7fffe37fe700 (LWP 9291)] connected Kbytes: 4880394048 Kbytes used: 1327705520 Kbytes avail: 3552688528 Objects: 164563 error(17) in create_pool:File exists create pool this_test_pool success Testing list_pools Out of memory! [Thread 0x7ffff7fe7700 (LWP 9286) exited] [Thread 0x7fffe37fe700 (LWP 9291) exited] [Thread 0x7fffe3fff700 (LWP 9290) exited] [Thread 0x7ffff0189700 (LWP 9289) exited] [Thread 0x7ffff098a700 (LWP 9285) exited] [Thread 0x7ffff118b700 (LWP 9284) exited] [Thread 0x7ffff198c700 (LWP 9283) exited] [Thread 0x7ffff218d700 (LWP 9282) exited] [Thread 0x7ffff298e700 (LWP 9281) exited] [Thread 0x7ffff3901700 (LWP 9280) exited] [Inferior 1 (process 9276) exited with code 01]
<pThanks for your help! At least I'm getting a different error. We're making progress! :)


Comment on Re^2: [Ceph::RADOS] Help Debugging Inline C
Select or Download Code
Re^3: [Ceph::RADOS] Help Debugging Inline C
by taint (Chaplain) on Nov 07, 2013 at 14:40 UTC
    Greetings,
    Thanks for the additional info.

    While still groping in the dark a bit...
    BUILD_NOISY || VERBOSE || DEBUG = 1 || TRUE;
    Just thinking out loud.

    "Out of memory!"
    Any chance you can flush some, or all of this data to disk, and use it there? That would at least prevent memory exhaustion.
    Hmm...

    connected Kbytes: 4880394048 Kbytes used: 1327705520 Kbytes avail: 3552688528 Objects: 164563 error(17) in create_pool:File exists create pool this_test_pool success Testing list_pools Out of memory!
    error(17) in create_pool:File exists Is it possible that File is/has been created too early? This might mean that the buffers/pools are filling up, causing the memory exhaustion. As they are expecting File, which can't be operated on, because it can't be re-created.
    Best guess given the data I have available.

    HTH

    --Chris

    #!/usr/bin/perl -Tw
    use perl::always;
    my $perl_version = (5.12.5);
    print $perl_version;

      Hey Chris

      Thanks for the advice. What does this bit do?

      BUILD_NOISY || VERBOSE || DEBUG = 1 || TRUE

      I was unable to get that to work when pasted in as it sits, adjusting to:

      BUILD_NOISY=> 1, VERBOSE => 1, DEBUG => 1,

      Gives me an error that Verbose and Debug are not valid config directives for Inline::C. A quick check of the Inline documentation confirms this. While I've solved this specific error (see below), I intend to continue working on this module, so if I can enable more verbose error messaging I think it may help down the line.

      Thanks again for your help!

        LOL. Sorry. As noted -- "Thinking out loud"

        I was just asserting in my mind that
        BUILD_NOISY is the same, or equal to VERBOSE, which is the same as, or equal to DEBUG if they were set 1 or TRUE

        Sorry for any confusion.

        In other words; if setting BUILD_NOISY TRUE, or to a positive integer didn't work. Setting any of the following might/would be an effective equivilent: VERBOSE, DEBUG.

        That's all.

        Again, sorry for any confusion I might have added.

        --Chris

        #!/usr/bin/perl -Tw
        use Perl::Always or die;
        my $perl_version = (5.12.5);
        print $perl_version;

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1061527]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (17)
As of 2014-12-22 21:00 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (130 votes), past polls