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

[crash] division by zero in PropertiesWidget::loadDynamicData #9128

Closed
vgsdi opened this issue Jun 23, 2018 · 1 comment
Closed

[crash] division by zero in PropertiesWidget::loadDynamicData #9128

vgsdi opened this issue Jun 23, 2018 · 1 comment
Labels

Comments

@vgsdi
Copy link

vgsdi commented Jun 23, 2018

qBittorrent v4.1.0 (64-bit) on Windows 7 x64
libtorrent version: 1.1.7.0

call stack:

>	qbittorrent.exe!PropertiesWidget::loadDynamicData(void)	C++
 	qbittorrent.exe!PropertiesWidget::qt_static_metacall(class QObject *,enum QMetaObject::Call,int,void * *)	C++
 	qbittorrent.exe!QMetaObject::activate(class QObject *,int,int,void * *)	C++
 	qbittorrent.exe!QTimer::timeout(struct QTimer::QPrivateSignal)	C++
 	qbittorrent.exe!QTimer::timerEvent(class QTimerEvent *)	C++
 	qbittorrent.exe!QObject::event(class QEvent *)	C++
 	qbittorrent.exe!QApplicationPrivate::notify_helper(class QObject *,class QEvent *)	C++
 	qbittorrent.exe!QApplication::notify(class QObject *,class QEvent *)	C++
 	qbittorrent.exe!Application::notify(class QObject *,class QEvent *)	C++
 	qbittorrent.exe!QCoreApplication::notifyInternal2(class QObject *,class QEvent *)	C++
 	qbittorrent.exe!QEventDispatcherWin32Private::sendTimerEvent(int)	C++
 	qbittorrent.exe!qt_internal_proc(struct HWND__ *,unsigned int,unsigned __int64,__int64)	C++
 	user32.dll!UserCallWinProcCheckWow()	Unknown
 	user32.dll!DispatchMessageWorker()	Unknown
 	qbittorrent.exe!QEventDispatcherWin32::processEvents(class QFlags<enum QEventLoop::ProcessEventsFlag>)	C++
 	qbittorrent.exe!QWindowsGuiEventDispatcher::processEvents(class QFlags<enum QEventLoop::ProcessEventsFlag>)	C++
 	qbittorrent.exe!QEventLoop::exec(class QFlags<enum QEventLoop::ProcessEventsFlag>)	C++
 	qbittorrent.exe!QCoreApplication::exec(void)	C++
 	qbittorrent.exe!main()	C++
 	qbittorrent.exe!WinMain()	C++
 	qbittorrent.exe!__scrt_common_main_seh() Line 283	C++
 	kernel32.dll!BaseThreadInitThunk()	Unknown
 	ntdll.dll!RtlUserThreadStart()	Unknown

I debugged the process in visual studio so qbittorrent's exception handler didn't run (haven't crashed before, not sure what it does). The program crashed on this line: https://github.com/qbittorrent/qBittorrent/blob/release-4.1.0/src/gui/properties/propertieswidget.cpp#L462
m_torrent->m_nativeStatus.active_time had a value of 0xFFFFFFFF which explains the division by zero exception, but i have no idea why or how libtorrent set it to that value.

After restarting, the torrent that was probably selected has an infinite active time (it should have 3-4 hours max)

some related info from the torrent's .fastresume file:

"active_time": 16743863,
"added_time": 1529687772,
"completed_time": 1529688512,
"finished_time": 16743123,
"seeding_time": 16743123,

qBittorrent was running for 39 days and ~17 hours when it crashed (i suspend instead of shutdown)

@thalieht thalieht added the Crash label Jul 29, 2018
@thalieht
Copy link
Contributor

thalieht commented May 7, 2019

It was fixed in some later version.

@thalieht thalieht closed this as completed May 7, 2019
@qbittorrent qbittorrent locked and limited conversation to collaborators Feb 28, 2021
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

2 participants