Opened 13 years ago
Closed 10 years ago
#2512 closed defect (obsolete)
physics crashes if you make a make a scribbly ball with the pen
Reported by: | carrott | Owned by: | garycmartin |
---|---|---|---|
Priority: | Unspecified by Maintainer | Milestone: | Unspecified |
Component: | Physics | Version: | Unspecified |
Severity: | Unspecified | Keywords: | |
Cc: | Distribution/OS: | Dextrose | |
Bug Status: | Unconfirmed |
Description
Physics 7 on dextrose os5dx2.
I was trying to draw a pendulum, using the pen start at the top of the screen and go straight down and into a big scribbly ball. If you do it right (happens about 2 times out of 3 for me), physics will segfault and dissappear.
See attached GDB session.
I've seen this in a number of builds but only just got round to reporting it properly.
Attachments (2)
Change History (7)
Changed 13 years ago by carrott
comment:1 Changed 13 years ago by garycmartin
Box2D/Collision/b2PairManager.cpp:287 seems to be where things bend out of shape (thanks for the log), so seems upstream with Box2D is where a real fix is needed. Might just have to wrap our pen tool to some hard fixed upper number of points to try and avoid the crash. Should also check what the latest Box2D is in case there is already a fix, Physics seems to have v2.0.2b1 just now (should make sure we have ARM compatible blob in there as well while we're at it).
comment:2 Changed 13 years ago by carrott
Still an issue with Physics 8 on os508dx sugar 0.88.1
comment:3 Changed 12 years ago by dsd
Found another way to reproduce this. Testing physics-8 on OLPC 11.2.0 build 22 on XO-1.5.
Put the mouse cursor at the bottom left of the screen, click and hold the mouse button, and move the mouse to the top right of the screen. Still holding the mouse button, move back to bottom left, top right, bottom left, top right, for about 30 seconds, so that the shape you have drawn is like a big fat but complicated diagonal line. Release the mouse button. The activity will now crash. Will attach a log.
Changed 12 years ago by dsd
comment:4 Changed 12 years ago by garycmartin
Tried to nail this with a couple of tricks, but still no luck avoiding the segmentation fault. I tried adding a filter to the resolution of the recorded line so that data and overlap segments would be reduced; also limited the total number of points that can be drawn with any one continuous stroke. A scribbly ball of over 600 points almost always crashes, less than that and crashes are intermittent, I think depending on how much your scribble overlaps.
One stopgap is to make the Circle the first tool that is selected by default (circles are also the most efficient shape to simulate so give the fastest performance). How do folks feel about that UI change?
comment:5 Changed 10 years ago by walter
- Resolution set to obsolete
- Status changed from new to closed
gdb session attaching to physics before segfault