Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix all issues reported by Pareon Verify #4

Closed
kaa-ching opened this issue Aug 9, 2015 · 4 comments
Closed

Fix all issues reported by Pareon Verify #4

kaa-ching opened this issue Aug 9, 2015 · 4 comments
Assignees
Labels
Milestone

Comments

@kaa-ching
Copy link
Member

Pareon Verify is a dynamic application analyzer (similar to Valgrind) that I happen to know very intimately.

The tool currently reports a few errors that really need fixing - most of these issues will cause crashes.

@kaa-ching kaa-ching added the bug label Aug 9, 2015
@kaa-ching kaa-ching self-assigned this Aug 9, 2015
@kaa-ching kaa-ching added this to the Milestone A milestone Aug 9, 2015
@kaa-ching
Copy link
Member Author

git commit [7a260d0] and a few before help to achieve this goal by making the code more friendly towards Pareon Verify. For now, the only issue fixed is e2aa296.

@kaa-ching kaa-ching modified the milestones: Milestone A, Milestone B Sep 12, 2015
@kaa-ching
Copy link
Member Author

Found this one:

===== PAREON VERIFY =====
[M0443] Array bound violation(s) detected:
  the write in
    function ViewPingus::ViewPingus(std::shared_ptr<AbstractObject>) at tbe-github/src/view/ViewPingus.cpp:50
    called from function Pingus::createViewObject(float) at tbe-github/src/model/Pingus.cpp:271
    called from function World::addAbstractObjectToViewWorld(std::shared_ptr<AbstractObject>) at tbe-github/src/model/World.cpp:126
    called from function World::createScene(ResizingGraphicsView*) at tbe-github/src/model/World.cpp:205
    called from function MainWindow::loadLevel(QString const&) at tbe-github/src/view/MainWindow.cpp:109
    called from function MainWindow::loadLevelDelayed() at tbe-github/src/view/MainWindow.cpp:118
    called from function MainWindow::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) at tbe-github/build/src/view/moc_MainWindow.cxx:175
    called from unanalyzed function QApplication::exec()
    called from function main at tbe-github/src/main.cpp:315
    ^^^ application start ^^^
  performed 9 access(es) of size 4 at an offset of 292 bytes from the start of
  the heap object of size 296 allocated through a call to `operator new(unsigned long)' in
    function Pingus::createViewObject(float) at tbe-github/src/model/Pingus.cpp:271
    called from function World::addAbstractObjectToViewWorld(std::shared_ptr<AbstractObject>) at tbe-github/src/model/World.cpp:126
    called from function World::createScene(ResizingGraphicsView*) at tbe-github/src/model/World.cpp:205
    called from function MainWindow::loadLevel(QString const&) at tbe-github/src/view/MainWindow.cpp:109
    called from function MainWindow::loadLevelDelayed() at tbe-github/src/view/MainWindow.cpp:118
    called from function MainWindow::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) at tbe-github/build/src/view/moc_MainWindow.cxx:175
    called from unanalyzed function QApplication::exec()
    called from function main at tbe-github/src/main.cpp:315
    ^^^ application start ^^^
  where array index 7 is outside of array `.field2[0..6]' in
    function ViewPingus::ViewPingus(std::shared_ptr<AbstractObject>) at tbe-github/src/view/ViewPingus.cpp:50
    called from function Pingus::createViewObject(float) at tbe-github/src/model/Pingus.cpp:271
    called from function World::addAbstractObjectToViewWorld(std::shared_ptr<AbstractObject>) at tbe-github/src/model/World.cpp:126
    called from function World::createScene(ResizingGraphicsView*) at tbe-github/src/model/World.cpp:205
    called from function MainWindow::loadLevel(QString const&) at tbe-github/src/view/MainWindow.cpp:109
    called from function MainWindow::loadLevelDelayed() at tbe-github/src/view/MainWindow.cpp:118
    called from function MainWindow::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) at tbe-github/build/src/view/moc_MainWindow.cxx:175
    called from unanalyzed function QApplication::exec()
    called from function main at tbe-github/src/main.cpp:315
    ^^^ application start ^^^


1 error(s)

@kaa-ching
Copy link
Member Author

When deleting and undoing delete in picnic-0:

**   t=162: UndoSingleton::push for 'Remove Quarter Arc Large'
**   t=162: InsertUndoCommand::undo for 'Remove Quarter Arc Large'
**   t=162: AbstractUndoCommand::undo for 'Remove Quarter Arc Large'
*    t=162: setNewGeometry Pos: (4.70475,2.7315)@1.94855, WxH 0.8x0.8
**   t=165: InsertUndoCommand::redo for 'Remove Quarter Arc Large'
WARNING: Process 28894 caught terminating signal 11 (Segmentation fault).
Segmentation fault (core dumped)
klaas@x230:~/Programming/tbe-github$ ===== PAREON VERIFY =====
[M0224] Segmentation-violation signal delivered to unanalyzed function `QGraphicsItem::setVisible(bool)' called in
    function InsertUndoCommand::redo() at /home/klaas/Programming/tbe-github/src/control/InsertUndoCommand.cpp:134
    called from function DeleteUndoCommand::undo() at /home/klaas/Programming/tbe-github/src/control/DeleteUndoCommand.cpp:56
    called from unanalyzed function QApplication::exec()
    called from function main at /home/klaas/Programming/tbe-github/src/main.cpp:323
    ^^^ application start ^^^

1 error(s)

@kaa-ching
Copy link
Member Author

Looks like TBE is rather crash-free. Yay!

@the-butterfly-effect the-butterfly-effect locked and limited conversation to collaborators May 24, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

1 participant