Skip to content

Conversation

@random-zebra
Copy link

This is a (hopefully definitive) fix for a strange segfault I was consistently having on testnet with the GUI wallet (during the loading of the stake charts), with the following stacktrace

#0  0x00007ffff58363bb in  ()
    at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#1  0x00007ffff583b25d in  ()
    at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007ffff583b932 in  ()
    at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007ffff583bca9 in  ()
    at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007ffff583c50a in QSortFilterProxyModel::invalidateFilter() ()
    at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00005555556aa809 in DashboardWidget::updateStakeFilter() (this=this@entry=0x5555577817d0) at qt/pivx/dashboardwidget.cpp:480
#6  0x00005555556ac736 in DashboardWidget::getAmountBy() (this=this@entry=0x5555577817d0) at qt/pivx/dashboardwidget.cpp:503
#7  0x00005555556ad1a1 in DashboardWidget::loadChartData(bool) (this=this@entry=0x5555577817d0, withMonthNames=false)
    at qt/pivx/dashboardwidget.cpp:556
#8  0x00005555556ad703 in DashboardWidget::run(int) (this=0x5555577817d0, type=<optimized out>) at qt/pivx/dashboardwidget.cpp:812
#9  0x00005555557641d4 in Worker::process() (this=0x5555576314c0)
    at qt/pivx/loadingdialog.cpp:12
#10 0x00007ffff56932b2 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#11 0x00007ffff569617d in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x00007ffff4ae36db in start_thread (arg=0x7ffe61ffb700) at pthread_create.c:463
#13 0x00007ffff2c9e88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Explicit the cast to bool when checking the transaction type in TransactionFilterProxy::filterAcceptsRow.

@random-zebra random-zebra added this to the 4.1.0 milestone Mar 15, 2020
@random-zebra random-zebra self-assigned this Mar 15, 2020
Copy link

@furszy furszy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

detective work 👍 , utACK 359f70e.

@Fuzzbawls
Copy link
Collaborator

hmm, still seeing a segfault in this flow that is unchanged by this PR:

#0  0x00007ffffae6c3ab in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#1  0x00007ffffae7124d in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007ffffae71922 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007ffffae71c99 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007ffffae724fa in QSortFilterProxyModel::invalidateFilter() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00000000082befce in TransactionFilterProxy::setDateRange (this=0xb597180, from=..., to=...) at qt/transactionfilterproxy.cpp:81
#6  0x000000000816ca7b in DashboardWidget::updateStakeFilter (this=0x9ea66a0) at qt/pivx/dashboardwidget.cpp:480
#7  0x000000000816ccdd in DashboardWidget::getAmountBy (this=0x9ea66a0) at qt/pivx/dashboardwidget.cpp:503
#8  0x000000000816d151 in DashboardWidget::loadChartData (this=0x9ea66a0, withMonthNames=false) at qt/pivx/dashboardwidget.cpp:556
#9  0x000000000816e959 in DashboardWidget::run (this=0x9ea66a0, type=1) at qt/pivx/dashboardwidget.cpp:812
#10 0x00000000082d7705 in Worker::process (this=0xc9fe080) at qt/pivx/loadingdialog.cpp:12
#11 0x0000000008153e4d in WorkerTask::run (this=0xc9fe0b0) at qt/pivx/pwidget.cpp:73
#12 0x00007ffffacc92a2 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00007ffffaccc16d in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007ffffdef76db in start_thread (arg=0x7fff2e2f0700) at pthread_create.c:463
#15 0x00007ffff9ff188f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

@furszy
Copy link

furszy commented Mar 17, 2020

Even if this is not the final segfault cause, it will not harm to merge it.

Copy link
Collaborator

@Fuzzbawls Fuzzbawls left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK 359f70e then

@random-zebra random-zebra merged commit 4fdd322 into PIVX-Project:master Mar 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants