[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [IMP-dev] AngleRestraint



Ah! My bad! :-)

Thanks Riccardo and Daniel, that was the point!!!

Davide


On Jan 10, 2014, at 6:38 PM, Daniel Russel wrote:

Good point :-)

As a key note, always run your code through a build with checks turned on. It probably would have told you immediately that you are walking off the end of an array.

Sent from Mailbox for iPhone


On Fri, Jan 10, 2014 at 4:49 AM, Davide Baù <" target="_blank">> wrote:

Yes, 


it occurs inside the loop. The loop is run inside a function:

def setup_angles(m, ps, particles):
    i = 0
    while (i <= particles-3):
p1 = ps.get_particle(i)
p2 = ps.get_particle(i+2)
p3 = ps.get_particle(i+3)
ar = IMP.core.AngleRestraint(IMP.core.Harmonic(0, 1), p1, p2, p3)
m.add_restraint(ar)
i += 3

As for the stack trace, I'm not totally sure about how to do it. I've done the following:

$ gdb python
(gdb) run model.py
Starting program: /usr/bin/python model.py
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff5dd5eb0 in IMP::kernel::Particle::get_index() const () from /usr/src/imp/imp-r2.1.1/lib/libimp_kernel.so
(gdb)


Davide


On Jan 10, 2014, at 1:12 PM, Daniel Russel wrote:
Hmmm, that code looks fine. Can you get a stack trace for a core dump? When does the core dump occur, in that loop?

BTW, you can pull the Harmonic out of the loop and share one harmonic between many angle restraints.


On Fri, Jan 10, 2014 at 3:52 AM, Davide Baù <">> wrote:
Hi,

I'm having some (random) errors with the AngleRestraint function.

I get a Segmentation fault (core dumped) error when applying an AngleRestraint restraint like:

i = 0
while (i <= particles-3):
      p1 = ps.get_particle(i)
      p2 = ps.get_particle(i+2)
      p3 = ps.get_particle(i+3)
      ar = IMP.core.AngleRestraint(IMP.core.Harmonic(0, 1), p1, p2, p3)
      m.add_restraint(ar)
      i += 3

The error is not persistent, meaning that if I run the code severe times, the error disappear and the code ends normally.

Is there any specify reason for such an error?

Thanks!
Davide


_______________________________________________
IMP-dev mailing list
">
https://salilab.org/mailman/listinfo/imp-dev

_______________________________________________
IMP-dev mailing list
">
https://salilab.org/mailman/listinfo/imp-dev


_______________________________________________
IMP-dev mailing list
">
https://salilab.org/mailman/listinfo/imp-dev