Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 454236 - media-gfx/openscad-2011.12 crashes on invalid input
Summary: media-gfx/openscad-2011.12 crashes on invalid input
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Matthew Marlowe (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-01-27 02:33 UTC by Michael Mol
Modified: 2013-02-17 00:12 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
Program with cylinder radius expanded to 2 (prog_r2.scad,253 bytes, text/plain)
2013-01-27 02:33 UTC, Michael Mol
Details
Program with cylinder radius left at 1 (prog_norm.scad,253 bytes, text/plain)
2013-01-27 02:34 UTC, Michael Mol
Details
Program without linear_extrude() use (prog_no_extrude.scad,175 bytes, text/plain)
2013-01-27 02:35 UTC, Michael Mol
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Mol 2013-01-27 02:33:50 UTC
Created attachment 336952 [details]
Program with cylinder radius expanded to 2

Three very similar example programs. One (prog_r2.scad) crashes openscad on compile. The other two do not crash openscad.

backtrace at crash:

#0  0x00007ffff46f1bd5 in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00007ffff46f304b in __GI_abort () at abort.c:91
#2  0x00007ffff46eac7e in __assert_fail_base (fmt=<optimized out>, assertion=0x677b50 "this->dim == 2", file=0x677b60 "src/CGAL_Nef_polyhedron_DxfData.cc", 
    line=<optimized out>, function=<optimized out>) at assert.c:94
#3  0x00007ffff46ead22 in __GI___assert_fail (assertion=0x677b50 "this->dim == 2", file=0x677b60 "src/CGAL_Nef_polyhedron_DxfData.cc", line=36, 
    function=0x677ba0 <CGAL_Nef_polyhedron::convertToDxfData() const::__PRETTY_FUNCTION__> "DxfData* CGAL_Nef_polyhedron::convertToDxfData() const")
    at assert.c:103
#4  0x00000000005f25ee in CGAL_Nef_polyhedron::convertToDxfData (this=0x7fffffffa1e0) at src/CGAL_Nef_polyhedron_DxfData.cc:36
#5  0x000000000056fb5b in PolySetCGALEvaluator::evaluatePolySet (this=<optimized out>, node=...) at src/PolySetCGALEvaluator.cc:172
#6  0x000000000044be8a in ProjectionNode::evaluate_polyset (this=0x11fc8a0, evaluator=0x7fffffffac50) at src/projection.cc:81
#7  0x00000000004674a7 in PolySetEvaluator::getPolySet (this=0x7fffffffac50, node=..., cache=true) at src/PolySetEvaluator.cc:30
#8  0x00000000004bd661 in CSGTermEvaluator::visit (this=0x7fffffffab40, state=..., node=...) at src/CSGTermEvaluator.cc:112
#9  0x000000000046727c in Traverser::traverse (this=0x7fffffffaaa0, node=..., state=...) at src/traverser.cc:41
#10 0x00000000004671c6 in Traverser::traverse (this=0x7fffffffaaa0, node=..., state=...) at src/traverser.cc:30
#11 0x00000000004671c6 in Traverser::traverse (this=0x7fffffffaaa0, node=..., state=...) at src/traverser.cc:30
#12 0x00000000004671c6 in Traverser::traverse (this=0x7fffffffaaa0, node=..., state=...) at src/traverser.cc:30
#13 0x000000000046734c in Traverser::execute (this=<optimized out>) at src/traverser.cc:11
#14 0x00000000004bbb2d in CSGTermEvaluator::evaluateCSGTerm (this=0x7fffffffab40, node=..., highlights=std::vector of length 0, capacity 0, 
    background=std::vector of length 0, capacity 0) at src/CSGTermEvaluator.cc:35
#15 0x00000000004c979a in MainWindow::compileCSG (this=0x96aac0, procevents=true) at src/mainwin.cc:763
#16 0x00000000004cbdc9 in MainWindow::actionCompile (this=0x96aac0) at src/mainwin.cc:1108
#17 0x00007ffff5889b01 in QMetaObject::activate (sender=0x96e380, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffffffb000)
    at kernel/qobject.cpp:3539
#18 0x00007ffff5d9e1d2 in QAction::triggered (this=<optimized out>, _t1=false) at .moc/release-shared/moc_qaction.cpp:271
#19 0x00007ffff5d9e393 in QAction::activate (this=0x96e380, event=<optimized out>) at kernel/qaction.cpp:1257
#20 0x00007ffff5d9e49f in QAction::event (this=<optimized out>, e=<optimized out>) at kernel/qaction.cpp:1183
#21 0x00007ffff5da4124 in notify_helper (e=0x7fffffffb520, receiver=0x96e380, this=0x9134e0) at kernel/qapplication.cpp:4562
#22 QApplicationPrivate::notify_helper (this=0x9134e0, receiver=0x96e380, e=0x7fffffffb520) at kernel/qapplication.cpp:4534
#23 0x00007ffff5da8ee3 in QApplication::notify (this=0x7fffffffd9b0, receiver=0x96e380, e=0x7fffffffb520) at kernel/qapplication.cpp:4423
#24 0x00007ffff58762ec in QCoreApplication::notifyInternal (this=0x7fffffffd9b0, receiver=0x96e380, event=0x7fffffffb520) at kernel/qcoreapplication.cpp:946
#25 0x00007ffff5dd3689 in sendEvent (event=0x7fffffffb520, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#26 QShortcutMap::dispatchEvent (this=<optimized out>, e=0x7fffffffba70) at kernel/qshortcutmap.cpp:884
#27 0x00007ffff5dd4c8d in QShortcutMap::tryShortcutEvent (this=0x913600, o=<optimized out>, e=0x7fffffffba70) at kernel/qshortcutmap.cpp:364
#28 0x00007ffff5daa63f in QApplication::notify (this=0x7fffffffd9b0, receiver=0x972fa0, e=0x7fffffffba70) at kernel/qapplication.cpp:3986
#29 0x00007ffff58762ec in QCoreApplication::notifyInternal (this=0x7fffffffd9b0, receiver=0x972fa0, event=0x7fffffffba70) at kernel/qcoreapplication.cpp:946
#30 0x00007ffff5e3ef79 in QKeyMapper::sendKeyEvent (keyWidget=0x972fa0, grab=<optimized out>, type=QEvent::KeyPress, code=16777268, modifiers=..., text=..., 
    autorepeat=false, count=1, nativeScanCode=71, nativeVirtualKey=65474, nativeModifiers=0) at kernel/qkeymapper_x11.cpp:1866
#31 0x00007ffff5e3f375 in QKeyMapperPrivate::translateKeyEvent (this=0x960120, keyWidget=0x972fa0, event=0x7fffffffc4d0, grab=false)
    at kernel/qkeymapper_x11.cpp:1836
#32 0x00007ffff5e1b8e4 in QApplication::x11ProcessEvent (this=0x7fffffffd9b0, event=0x7fffffffc4d0) at kernel/qapplication_x11.cpp:3532
#33 0x00007ffff5e43272 in x11EventSourceDispatch (s=0x9174b0, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#34 0x00007ffff37ef6f3 in g_main_dispatch (context=0x916100) at gmain.c:2539
#35 g_main_context_dispatch (context=0x916100) at gmain.c:3075
#36 0x00007ffff37efa40 in g_main_context_iterate (dispatch=1, block=<optimized out>, context=0x916100, self=<optimized out>) at gmain.c:3146
#37 g_main_context_iterate (context=0x916100, block=<optimized out>, dispatch=1, self=<optimized out>) at gmain.c:3083
#38 0x00007ffff37efb04 in g_main_context_iteration (context=0x916100, may_block=1) at gmain.c:3207
#39 0x00007ffff58a4166 in QEventDispatcherGlib::processEvents (this=0x914d50, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#40 0x00007ffff5e42f0e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#41 0x00007ffff5874e82 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#42 0x00007ffff58750d7 in QEventLoop::exec (this=0x7fffffffc860, flags=...) at kernel/qeventloop.cpp:204
#43 0x00007ffff587a117 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#44 0x000000000042187c in main (argc=1, argv=0x7fffffffdf58) at src/openscad.cc:417
Comment 1 Michael Mol 2013-01-27 02:34:15 UTC
Created attachment 336954 [details]
Program with cylinder radius left at 1
Comment 2 Michael Mol 2013-01-27 02:35:05 UTC
Created attachment 336956 [details]
Program without linear_extrude() use
Comment 3 Matthew Marlowe (RETIRED) gentoo-dev 2013-02-11 03:44:27 UTC
Try with the newer version of openscad which was just committed to portage.
However, I've been running openscad here for awhile w/o problem and was able to get all the standard example programs to run fine.  If there is some dependency issue....we'll have to track it down.  Closing bug for now, re-open if it reoccurs on the newer version.
Comment 4 Michael Mol 2013-02-11 17:21:54 UTC
Updating.

However, I want to point out that I uploaded two examples which produce the event. They're derivatives of the standard examples, they're not the standard examples themselves. Try the program with the cylinder radius expanded to 2, for example; that one should trigger the crash, if the crash can be triggered.

I included three examples as an aid for upstream (should this get that far) to get a better sense of how the problem occurs.

Anyway, I'll see if I can repro on 2013.01. I'll file separate bugs if 2013.01 fails to build.
Comment 5 Michael Mol 2013-02-17 00:12:07 UTC
Newer version works just fine.