Dinver crashes when starting inversion

This forum is dedicated to discuss all problems and suggestions related to the inversion software
Post Reply
mscarponsca
Posts: 2
Joined: Tue Apr 05, 2022 5:26 pm

Dinver crashes when starting inversion

Post by mscarponsca »

Dear Marc, community,

I write to ask for some help as I face dinver crashing, when inverting Rayleigh group dispersion curves (either from command line and/or graphical interface).
The crash happens often (but not always!) as soon as I start the inversion, either with default parameters or (most often) when customizing ns0, ns, nr.
Here is an example of command line invocation:

Code: Select all

dinver -i DispersionCurve -optimization -target target.target -param param.param -ns0 300 -ns 10000 -nr 200 -o out.report
Here I paste the terminal output and the crash reports appearing right after.
Could you help me to interpret them? Could it be related to wrong parameter choice or to installation problems? The installation runs without errors, though presenting a number of warnings.
See at the bottom the technical details concerning installation.

Terminal output
---------------------- Starting at 2022-04-08 10:11:15

Num samples Monte-Carlo =300
Num samples Neighborhood =10000
Num cells to resample =200
Num cells to resample =200
Num of walks before accepting model =2
Max reject ratio before cell give up=0.9
Dimension of parameter space =16
Parameterization checksum =468020962
Total number of models =10300
Model file =out.report

Starting 4 generator thread(s)
The current model is probably not yet inside the parameter space.
Some warnings here can be ignored.
Random model generated from scratch: perfomed 2 random walk(s)
DVs3: 7500 <= 15000 <= 15000 ? oh nooo!
7500 -1.05501e-10
[stat] 103 models, 699.301 models/s, 100 active models, 0 rejected, 0 quarantined, 50 best models, best misfit 0.200298 last best inf at index 2147483647
[stat] 202 models, 763.359 models/s, 200 active models, 0 rejected, 0 quarantined, 50 best models, best misfit 0.200298 last best 0.200298 at index 2147483647
DVs3: 7500 <= 15000 <= 15000 ? oh nooo!
7500 -1.05501e-10
ASSERT: "parameterSpace.isOkDebug()" in file src/Generator.cpp, line 217
[stat] 303 models, 775.194 models/s, 300 active models, 0 rejected, 0 quarantined, 50 best models, best misfit 0.200298 last best 0.200298 at index 2147483647
exit
Crash Reports
<CrashReport>
<Error>
<severity>--FATAL ERROR- </severity>
<message>ASSERT: &quot;parameterSpace.isOkDebug()&quot; in file src/Generator.cpp, line 217</message>
<time>2022-04-08 10:10:03.261</time>
<threads>main,Generator_0,Generator_1,Generator_2,Generator_3</threads>
<currentThread></currentThread>
<stack>QGpCoreTools::CoreApplicationPrivate::backTrace()
QGpCoreTools::CoreApplicationPrivate::bugInfo(QGpCoreTools::Message::Severity, QString const&amp;)
QGpCoreTools::CoreApplicationPrivate::reportBugNow(QGpCoreTools::Message::Severity, QString const&amp;)
QGpCoreTools::CoreApplicationPrivate::messageOutput(QtMsgType, QMessageLogContext const&amp;, QString const&amp;)

QMessageLogger::fatal(char const*, ...) const
qt_assert_x(char const*, char const*, char const*, int)

DinverCore::Generator::monteCarloLoop()



</stack>
<bugStack>---- thread main
---- thread Generator_0
---- thread Generator_1
---- thread Generator_2
---- thread Generator_3
---- thread main
---- thread Generator_0
---- thread Generator_1
---- thread Generator_2
---- thread Generator_3
</bugStack>
</Error>
<application>dinver</application>
<version> Qt 5.14.2
QGpCoreTools 2.3.3 from 3.3.6
(commit 3b4c18eb0438c9d4bc77fb27986c02c626cb6777)
QGpCoreMath 1.3.3 from 3.3.6
(commit 0e7194a93e8b3c08bde0bbefaf7fdcf249b0b213)
DinverCore 1.2.2 from 3.3.6
(commit 6954a46c2d4313e647c3e58c5be7295c666ef36a)
QGpGuiTools 2.3.1 from 3.3.6
(commit 4f5742969a522bbc346dee9626f4f00dcc5a8b15)
SciFigs 3.2.1 from 3.3.6
(commit b579e169b525cc9a2713fafb67be89f75be7e250)
dinver 1.1.1 from 3.3.6
(commit b3c8b6cbdc55ef0a24c1d600d6a72761d3fe6b98)
QGpCoreWave 2.1.3 from 3.3.6
(commit 92a48cb2426b950377b59b66b3d6b9c050529a72)
QGpCompatibility 1.1.0 from 3.3.6
(commit 8382c4f5667e258d058f43dacfbae725a2e00b40)
DinverGui 1.0.0 from 3.3.6
(commit 20411002660f0dddc473f90cef0266fcf1bca2f9)
QGpGuiMath 1.2.1 from 3.3.6
(commit 4a1079f2eb377eea3a7513b00e27b948dca1ae4f)
QGpGuiWave 1.1.0 from 3.3.6
(commit 4293a2d9e64bae77d078c7c45f41b76055e54105)
DinverDCCore 2.1.2 from 3.3.6
(commit d45584861107bb4308fe78acab7cf055a719a27e)
DinverDCGui 1.1.0 from 3.3.6
(commit b9e5fb338084ddcfebcc3cf12931b5a05953e7aa)
dinverdc 2.1.0 from 3.3.6
(commit 7bf797896c8ced402f6574082a4e637d2d15c1de)
</version>
<system>ubuntu 20.04</system>
</CrashReport>


<CrashReport>
<Error>
<severity>--FATAL ERROR- </severity>
<message>Abort Signal</message>
<time>2022-04-08 10:10:03.536</time>
<threads>main,Generator_0,Generator_1,Generator_2,Generator_3</threads>
<currentThread>Generator_0</currentThread>
<stack>QGpCoreTools::CoreApplicationPrivate::backTrace()
QGpCoreTools::CoreApplicationPrivate::bugInfo(QGpCoreTools::Message::Severity, QString const&amp;)
QGpCoreTools::CoreApplicationPrivate::reportBugNow(QGpCoreTools::Message::Severity, QString const&amp;)
QGpCoreTools::CoreApplicationPrivate::osSignal(int)



qErrnoWarning(char const*, ...)
qt_assert_x(char const*, char const*, char const*, int)

DinverCore::Generator::monteCarloLoop()



</stack>
<bugStack>---- thread main
---- thread Generator_0
---- thread Generator_1
---- thread Generator_2
---- thread Generator_3
---- thread main
---- thread Generator_0
---- thread Generator_1
---- thread Generator_2
---- thread Generator_3
</bugStack>
</Error>
<application>dinver</application>
<version> Qt 5.14.2
QGpCoreTools 2.3.3 from 3.3.6
(commit 3b4c18eb0438c9d4bc77fb27986c02c626cb6777)
QGpCoreMath 1.3.3 from 3.3.6
(commit 0e7194a93e8b3c08bde0bbefaf7fdcf249b0b213)
DinverCore 1.2.2 from 3.3.6
(commit 6954a46c2d4313e647c3e58c5be7295c666ef36a)
QGpGuiTools 2.3.1 from 3.3.6
(commit 4f5742969a522bbc346dee9626f4f00dcc5a8b15)
SciFigs 3.2.1 from 3.3.6
(commit b579e169b525cc9a2713fafb67be89f75be7e250)
dinver 1.1.1 from 3.3.6
(commit b3c8b6cbdc55ef0a24c1d600d6a72761d3fe6b98)
QGpCoreWave 2.1.3 from 3.3.6
(commit 92a48cb2426b950377b59b66b3d6b9c050529a72)
QGpCompatibility 1.1.0 from 3.3.6
(commit 8382c4f5667e258d058f43dacfbae725a2e00b40)
DinverGui 1.0.0 from 3.3.6
(commit 20411002660f0dddc473f90cef0266fcf1bca2f9)
QGpGuiMath 1.2.1 from 3.3.6
(commit 4a1079f2eb377eea3a7513b00e27b948dca1ae4f)
QGpGuiWave 1.1.0 from 3.3.6
(commit 4293a2d9e64bae77d078c7c45f41b76055e54105)
DinverDCCore 2.1.2 from 3.3.6
(commit d45584861107bb4308fe78acab7cf055a719a27e)
DinverDCGui 1.1.0 from 3.3.6
(commit b9e5fb338084ddcfebcc3cf12931b5a05953e7aa)
dinverdc 2.1.0 from 3.3.6
(commit 7bf797896c8ced402f6574082a4e637d2d15c1de)
</version>
<system>ubuntu 20.04</system>
</CrashReport>
Installation details
g++ --version
g++ (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0

gfortran --version
GNU Fortran (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0

qmake -v
QMake version 3.1
Using Qt version 5.14.2 in /home/matteo/Qt/5.14.2/gcc_64/lib

source: geopsypack-src-3.3.6.tar.gz
Thank you a lot for your attention.
Please, let me know if I can provide other useful information to understand what is happening.
Kind regards,
Matteo Scarponi

P.S. I obtain another crash when introducing linear gradients and the the crash report indicates segmentation fault error, but I will check it later after addressing this current problem.
Attachments
setup.dinver
Dispersion curve + parameterization
(2.33 KiB) Downloaded 46 times
target.target
Dispersion curve
(1.55 KiB) Downloaded 43 times

admin
Site Admin
Posts: 645
Joined: Mon Aug 13, 2007 11:48 am
Location: ISTerre
Contact:

Re: Dinver crashes when starting inversion

Post by admin »

Hi Matteo,

I was able to reproduce your crash which is a good starting point.
Usually these crashes are frequent with linear or power law gradients. There is a long lasting bug there that I still have to fix. Your parameters look fine without gradients, hence there is something else. Is it on purpose that you remove the condition between successive Vs? Group velocity curves can have arbitrary shapes even for regularly increasing Vs profiles. I tested that as good misfits can be obtained with Vs increase conditions. Inversion of the density is usually pointless, you can fix the values in all layers.

I hope I can find some time to have a look at this bug soon.
Thanks for your report,

Marc

mscarponsca
Posts: 2
Joined: Tue Apr 05, 2022 5:26 pm

Re: Dinver crashes when starting inversion

Post by mscarponsca »

Dear Mark,

thank you for your reply.
It is reassuring to know that you can reproduce the bug. I had tried to install different versions of Geopsy (with different versions of Qt) without remarkably different outcomes.
I had removed the condition on successive vS, as in some areas I may expect locally-decreasing vS, but in this case it was rather about exploring the software and the inversion routine. I will keep it as simple as possible, and maybe find a workaround.

Question: Is there a particularly recommended version of Qt and Geopsy that I should use on Ubuntu-Linux?

Kind regards,
Matteo

admin
Site Admin
Posts: 645
Joined: Mon Aug 13, 2007 11:48 am
Location: ISTerre
Contact:

Re: Dinver crashes when starting inversion

Post by admin »

I use Qt 5.15.3 but support is guaranteed up to Qt 5.10 if I remember well. There are only very minor differences between Qt 5.10 and 5.15 from the basic core libraries (QtCore, QtGui,...) which geopsy is based on. Advanced Qt libraries were probably more affected between these releases, but they are not used by geopsy. Qt5 being relatively stable, I basically expect that bugs found with geopsy are not due to Qt bugs.

Best regards,

Marc

Post Reply