Bullet3d: сбой внутри библиотекиC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Bullet3d: сбой внутри библиотеки

Сообщение Anonymous »

Моя программа иногда аварийно завершает работу с кодом завершения 139.
Это трассировка стека:

Код: Выделить всё

#0  0x0000559e3a3e96f2 in removeleaf(btDbvt*, btDbvtNode*) ()
#1  0x0000559e3a3ebfc6 in btDbvt::update(btDbvtNode*, btDbvtAabbMm&) ()
#2  0x0000559e3a3cb303 in btCompoundShape::updateChildTransform(int, btTransform const&, bool) ()
#3  0x0000559e3a3cb45e in btCompoundShape::setLocalScaling(btVector3 const&) ()
#4  0x0000559e3a3cb3ff in btCompoundShape::setLocalScaling(btVector3 const&) ()
и это код:

Код: Выделить всё

  Asset::ptr_t asset = Asset::loadAsset("box.GLB");
btCollisionShape_ptr shape = asset->createCollisionShape();
shape->setLocalScaling({1, 1, 1});

std::shared_ptr Asset::createCollisionShape() {
std::shared_ptr self = shared_from_this();
ASSERT(self, "Failed to get self shared? possible constructed via new?");

class LocalShape {
public:
LocalShape(std::shared_ptr parent)
: parent_(parent) {
}

std::shared_ptr parent_;
btCompoundShape shape_;
};

auto proxy = std::make_shared(self);
proxy->shape_.addChildShape(btTransform::getIdentity(), collisionShape_.get());
return std::shared_ptr(proxy, &(proxy->shape_));
}
Возможно, я как-то неправильно использую библиотеку маркеров?
А может быть, поскольку ошибка возникает не всегда, я где-то портю память. но запуски под asan мне ничего полезного не дали.
подскажите, что делать и как попробовать решить эту проблему.
С уважением, max
Byllet3d версия 3.17 ( ebe1916b9 07.05.2021 | Запрос на слияние № 3834 от erwincoumans/master (HEAD, тег: 3.17) [erwincoumans])

Подробнее здесь: https://stackoverflow.com/questions/785 ... de-library
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»