Page 1 of 1

Inverting SPAC curves from several modes at once

Posted: Mon Jun 23, 2008 2:24 pm
by bre
Hi Marc,

has anybody ever tried inverting SPAC curves curves for several modes at once? The situation I have is that for the same rings, I have two separate parts of the SPAC curve that I suspect are fundamental (at low frequencies) and higher mode (at higher frequencies). The curves are all cut in two parts and belong to different target files. Besides, I also have a fundamental mode Love and a higher mode Rayleigh wave dispersion curve. When I try to invert everything at once, dinver crashes with various comments. Three different ones from consecutive crashes are given here:

endrun@telica:results_BUIA>dinver &
[1] 12213
endrun@telica:results_BUIA>Scanning /usr/local/sesarray-2.0.0-snapshot-20080118/lib/libdinvercpp.so
Scanning /usr/local/sesarray-2.0.0-snapshot-20080118/lib/libdinverdc.so
Scanning /usr/local/sesarray-2.0.0-snapshot-20080118/lib/libdinverext.so

[1] Segmentation fault dinver
endrun@telica:results_BUIA>dinver &
[1] 12323
endrun@telica:results_BUIA>Scanning /usr/local/sesarray-2.0.0-snapshot-20080118/lib/libdinvercpp.so
Scanning /usr/local/sesarray-2.0.0-snapshot-20080118/lib/libdinverdc.so
Scanning /usr/local/sesarray-2.0.0-snapshot-20080118/lib/libdinverext.so
*** WARNING *** : header damaged block at 0xdb6f68
0x686fc0 :
00FDFDFD FDFDFDFD FDFDFDFD FDFDFDFD
, allocated in libraries

[1] Abort dinver
endrun@telica:results_BUIA>dinver &
[1] 12333
endrun@telica:results_BUIA>Scanning /usr/local/sesarray-2.0.0-snapshot-20080118/lib/libdinvercpp.so
Scanning /usr/local/sesarray-2.0.0-snapshot-20080118/lib/libdinverdc.so
Scanning /usr/local/sesarray-2.0.0-snapshot-20080118/lib/libdinverext.so
*** glibc detected *** dinver: realloc(): invalid pointer: 0x00000000009a0eb0 ***
======= Backtrace: =========
/lib64/libc.so.6[0x2b4e5b78d37e]
/lib64/libc.so.6(__libc_realloc+0x227)[0x2b4e5b7913a7]
/usr/local/Trolltech/Qt-4.3.2/lib/libQtCore.so.4(_ZN9QListData7reallocEi+0x2b)[0x2b4e5a9abfeb]
/usr/local/Trolltech/Qt-4.3.2/lib/libQtCore.so.4(_ZN9QListData6appendEv+0x89)[0x2b4e5a9ac219]
/usr/local/Trolltech/Qt-4.3.2/lib/libQtCore.so.4[0x2b4e5a99931f]
/usr/local/Trolltech/Qt-4.3.2/lib/libQtCore.so.4(_ZN9QIODevice4seekEx+0x2e3)[0x2b4e5a9e8fe3]
/usr/local/Trolltech/Qt-4.3.2/lib/libQtCore.so.4(_ZN5QFile4seekEx+0xeb)[0x2b4e5a9e220b]
/usr/local/sesarray-2.0.0-snapshot-20080118/lib/libdinvercore.so.0(_ZN15QtbReportWriter16setCurrentOffsetER11QDataStreamx+0x36)[0x2b4e58f6d616]
/usr/local/sesarray-2.0.0-snapshot-20080118/lib/libdinvercore.so.0(_ZN15QtbReportWriter8addModelEdjiPP8QtbParam+0x38)[0x2b4e58f6d688]
/usr/local/sesarray-2.0.0-snapshot-20080118/lib/libdinvercore.so.0(_ZN18QtbInversionThread11writeReportEd+0x2c)[0x2b4e58f8538c]
/usr/local/sesarray-2.0.0-snapshot-20080118/lib/libdinvercore.so.0(_ZN11QtbNAModels12optimizationEiiii+0x7aa)[0x2b4e58f8320a]
/usr/local/sesarray-2.0.0-snapshot-20080118/lib/libdinvercore.so.0(_ZN18QtbInversionThread12optimizationEv+0x10f)[0x2b4e58f7ab4f]
/usr/local/sesarray-2.0.0-snapshot-20080118/lib/libdinvercore.so.0(_ZN18QtbInversionThread3runEv+0xbb)[0x2b4e58f7b4db]
/usr/local/Trolltech/Qt-4.3.2/lib/libQtCore.so.4[0x2b4e5a994345]
/lib64/libpthread.so.0[0x2b4e5b1ae193]
/lib64/libc.so.6(__clone+0x6d)[0x2b4e5b7e145d]
======= Memory map: ========
00400000-00459000 r-xp 00000000 08:03 401460 /usr/local/sesarray-2.0.0-snapshot-20080118/bin/dinver
00558000-0055a000 rw-p 00058000 08:03 401460 /usr/local/sesarray-2.0.0-snapshot-20080118/bin/dinver
0055a000-00e69000 rw-p 0055a000 00:00 0 [heap]
40000000-40001000 ---p 40000000 00:00 0
40001000-40801000 rw-p 40001000 00:00 0
40801000-40802000 ---p 40801000 00:00 0
40802000-41002000 rw-p 40802000 00:00 0
41002000-41003000 ---p 41002000 00:00 0
41003000-41803000 rw-p 41003000 00:00 0
2aaaaab57000-2aaaaab68000 r-xp 00000000 08:03 18171 /lib64/libresolv-2.4.so
2aaaaab68000-2aaaaac67000 ---p 00011000 08:03 18171 /lib64/libresolv-2.4.so
2aaaaac67000-2aaaaac69000 rw-p 00010000 08:03 18171 /lib64/libresolv-2.4.so
2aaaaac69000-2aaaaac6b000 rw-p 2aaaaac69000 00:00 0
2aaaaac6b000-2aaaaaca0000 r--s 00000000 08:03 411629 /var/run/nscd/dbdmEvOF (deleted)
2aaaaad00000-2aaaaad3b000 rw-p 2aaaaad00000 00:00 0
2aaaaad3b000-2aaaaae00000 ---p 2aaaaad3b000 00:00 0
2aaaaae00000-2aaaaae21000 rw-p 2aaaaae00000 00:00 0
2aaaaae21000-2aaaaaf00000 ---p 2aaaaae21000 00:00 0
2aaaaaf00000-2aaaaaf2d000 rw-p 2aaaaaf00000 00:00 0
2aaaaaf2d000-2aaaaaf3a000 r--p 00000000 08:03 142441 /usr/X11R6/lib/X11/fonts/truetype/VeraMono.ttf
2aaaaaf3a000-2aaaaaf3b000 rw-p 2aaaaaf3a000 00:00 0
2b4e588c9000-2b4e588e4000 r-xp 00000000 08:03 18136 /lib64/ld-2.4.so
2b4e588e4000-2b4e588e6000 rw-p 2b4e588e4000 00:00 0
2b4e589e4000-2b4e589e6000 rw-p 0001b000 08:03 18136 /lib64/ld-2.4.so
2b4e589e6000-2b4e58a66000 r-xp 00000000 08:03 399705 /usr/local/sesarray-2.0.0-snapshot-20080118/lib/libqtbtools.so.1.11.0
2b4e58a66000-2b4e58b65000 ---p 00080000 08:03 399705 /usr/local/sesarray-2.0.0-snapshot-20080118/lib/libqtbtools.so.1.11.0
2b4e58b65000-2b4e58b69000 rw-p 0007f000 08:03 399705 /usr/local/sesarray-2.0.0-snapshot-20080118/lib/libqtbtools.so.1.11.0
2b4e58b69000-2b4e58be8000 r-xp 00000000 08:03 400028 /usr/local/sesarray-2.0.0-snapshot-20080118/lib/libqtbguitools.so.1.5.0
2b4e58be8000-2b4e58ce7000 ---p 0007f000 08:03 400028 /usr/local/sesarray-2.0.0-snapshot-20080118/lib/libqtbguitools.so.1.5.0
2b4e58ce7000-2b4e58cee000 rw-p 0007e000 08:03 400028
[1] Abort dinver

The first one ("Segmentation fault") actually produced a bug report, but I was not able to save or send it, and the next to crashes did not produce anything except the output on screen.

When I invert the two DCs and just one part of the SPAC curves (either fundamental or higher mode part), everything is fine. So, is it at all possible to invert things together like this? Or should I leave the choice of mode to dinver? (Just give the curves and say either fundamental or higher mode for both of them)) Or does it have to be one curve per ring only that I invert (sounded like this in the forum discussion on SPAC in dinver), even if I suspect there is a change of mode inbetween?

Regards,
Brigitte

Posted: Wed Jun 25, 2008 7:58 am
by admin
Hi Brigitte,

Are you running the latest release? I can see from output something like 20080118. Did you upgrade with patches with changing the name of the directory? Or are you really running the release from January?

Can you send me your .target files? To reproduce the bug here?

Thanks,

Marc

Posted: Wed Jun 25, 2008 1:38 pm
by bre
Hi Marc,

no, this really is the old release (I still have it on the workstation there, and as I did all inversions with this release so far and read that dinver does not like several layers in Poisson's ratio with the newest release, I tried to continue with this one). However, the obvious thing is of course to test the inversion with the newest release (I have some other things to invert, so I didn't manage to do this, yet), and I'll let you know if it works then tomorrow - if not, I will send the .target files (I am afraid dinver might crash then because of the two Poisson ratio layers - one for sedimentary cover and one for bedrock. And if I do only one layer in Poisson's ratio, this is not consistent with the inversions for all the other NERIES data sets I did so far...).

Brigitte

Posted: Wed Jun 25, 2008 2:49 pm
by admin
Problems with Poisson's ratio are not new to latest release. This feature has not been touched since then. So January release should crash the same way. I think it is safe for you to upgrade. Two Poisson's ratio layers is ok. Problems are encountered with special links between profiles.

Posted: Thu Jun 26, 2008 10:58 am
by bre
Hi Marc,

I just tried the inversion with the newest dinver version, but still it crashed with a segmentation fault. This time, I was able to save a bug report, so I am attaching it and the target file. In this file, Rayleigh is higher mode, Love fundamental and for SPAC, the inversion can choose between both modes (except for the largest rings which should be only fundamental).

Brigitte