On 05/04/2012 07:36 PM, Timothy Pearson wrote:
Darn. I was running out the door when I wrote that;
I'll try to get
something better to you later.
All of these crashes appear to be the result of a TQString passed by
reference from katerenderer.cpp that is disappearing before it is fully
processed.
just a guess: could it be that that TQString is created and destroyed in a
different thread than that which uses it (and consequently crashes)?
nik
It is possible, that is why I am allowing gcc to handle any passing by
reference with the patch I posted. It is possible that gcc was inlining
the functions (and masking the potential crash) prior to gcc 4.7.
This is all just a shot in the dark until I can reproduce the bug here. ;-)
Tim
---------------------------------------------------------------------
To unsubscribe, e-mail: trinity-devel-unsubscribe(a)lists.pearsoncomputing.net
For additional commands, e-mail: trinity-devel-help(a)lists.pearsoncomputing.net
Read list messages on the web archive:
http://trinity-devel.pearsoncomputing.net/
Please remember not to top-post:
http://trinity.pearsoncomputing.net/mailing_lists/#top-posting
Ooh! Tim, kwrite really, really hates your patch! It opened OK, but the first
character I tried to type cause it to explode:
*** glibc detected *** kwrite: double free or corruption (!prev):
0x00000000009f3ff0 ***
======= Backtrace: =========
/lib/libc.so.6(+0x78a56)[0x7fec91162a56]
/opt/trinity/lib/trinity/libkatepart.so(_ZN15KateFontMetricsD2Ev+0x1f)[0x7fec8734a69f]
/opt/trinity/lib/trinity/libkatepart.so(_ZN14KateFontStructD1Ev+0x36)[0x7fec8734a7c6]
/opt/trinity/lib/trinity/libkatepart.so(_ZN12KateRenderer9textWidthERK10KSharedPtrI12KateTextLineEjjPbPi+0x144)[0x7fec87351474]
/opt/trinity/lib/trinity/libkatepart.so(_ZN16KateViewInternal5rangeEiPK13KateLineRange+0x294)[0x7fec873326c4]
/opt/trinity/lib/trinity/libkatepart.so(_ZN16KateViewInternal5rangeERK14KateTextCursor+0x26)[0x7fec87334106]
/opt/trinity/lib/trinity/libkatepart.so(_ZN16KateViewInternal10updateViewEbi+0xe68)[0x7fec87336708]
/opt/trinity/lib/trinity/libkatepart.so(_ZN16KateViewInternal7editEndEiib+0x15f)[0x7fec8733d58f]
/opt/trinity/lib/trinity/libkatepart.so(_ZN12KateDocument7editEndEv+0xe0)[0x7fec872d9f40]
/opt/trinity/lib/trinity/libkatepart.so(_ZN12KateDocument9typeCharsEP8KateViewRK8TQString+0x472)[0x7fec872d25d2]
/opt/trinity/lib/trinity/libkatepart.so(_ZN16KateViewInternal13keyPressEventEP10TQKeyEvent+0x955)[0x7fec8733a3b5]
/opt/trinity/lib/trinity/libkatepart.so(_ZN16KateViewInternal11eventFilterEP8TQObjectP7TQEvent+0xec)[0x7fec873377cc]
/opt/tqt3/lib/libtqt-mt.so.3(_ZN8TQObject16activate_filtersEP7TQEvent+0x76)[0x7fec8d1c77cc]
/opt/tqt3/lib/libtqt-mt.so.3(_ZN8TQObject5eventEP7TQEvent+0x48)[0x7fec8d1c7626]
/opt/tqt3/lib/libtqt-mt.so.3(_ZN8TQWidget5eventEP7TQEvent+0x33)[0x7fec8d1fefa7]
/opt/tqt3/lib/libtqt-mt.so.3(_ZN13TQApplication14internalNotifyEP8TQObjectP7TQEvent+0x295)[0x7fec8d169f9d]
/opt/tqt3/lib/libtqt-mt.so.3(_ZN13TQApplication6notifyEP8TQObjectP7TQEvent+0x3e3)[0x7fec8d16942f]
/opt/trinity/lib/libtdecore.so.4(_ZN12KApplication6notifyEP8TQObjectP7TQEvent+0x1b4)[0x7fec8e12b894]
/opt/tqt3/lib/libtqt-mt.so.3(_ZN13TQApplication20sendSpontaneousEventEP8TQObjectP7TQEvent+0x65)[0x7fec8d0fce59]
/opt/tqt3/lib/libtqt-mt.so.3(_ZN10TQETWidget17translateKeyEventEPK7_XEventb+0x989)[0x7fec8d0f8c7f]
/opt/tqt3/lib/libtqt-mt.so.3(_ZN13TQApplication15x11ProcessEventEP7_XEvent+0xad3)[0x7fec8d0f40bb]
/opt/tqt3/lib/libtqt-mt.so.3(_ZN11TQEventLoop13processEventsEj+0x130)[0x7fec8d10f2c8]
/opt/tqt3/lib/libtqt-mt.so.3(_ZN11TQEventLoop9enterLoopEv+0x76)[0x7fec8d17d118]
/opt/tqt3/lib/libtqt-mt.so.3(_ZN11TQEventLoop4execEv+0x35)[0x7fec8d17cfe9]
/opt/tqt3/lib/libtqt-mt.so.3(_ZN13TQApplication4execEv+0x23)[0x7fec8d16a0cd]
/opt/trinity/lib/libtdeinit_kwrite.so(kdemain+0xf3d)[0x7fec914a5448]
kwrite(main+0x20)[0x4007a4]
/lib/libc.so.6(__libc_start_main+0xf5)[0x7fec9110b455]
kwrite[0x4006c9]
======= Memory map: ========
00400000-00401000 r-xp 00000000 08:03 264497
/opt/trinity/bin/kwrite
00600000-00601000 r--p 00000000 08:03 264497
/opt/trinity/bin/kwrite
00601000-00602000 rw-p 00001000 08:03 264497
/opt/trinity/bin/kwrite
009b9000-00df1000 rw-p 00000000 00:00 0 [heap]
7fec85f6e000-7fec85f7a000 r-xp 00000000 08:03 415378
/lib/libnss_files-2.15.so
7fec85f7a000-7fec86179000 ---p 0000c000 08:03 415378
/lib/libnss_files-2.15.so
7fec86179000-7fec8617a000 r--p 0000b000 08:03 415378
/lib/libnss_files-2.15.so
7fec8617a000-7fec8617b000 rw-p 0000c000 08:03 415378
/lib/libnss_files-2.15.so
7fec8617b000-7fec8618a000 r-xp 00000000 08:03 244332
/opt/tqt3/plugins/inputmethods/libqxim.so
7fec8618a000-7fec8638a000 ---p 0000f000 08:03 244332
/opt/tqt3/plugins/inputmethods/libqxim.so
7fec8638a000-7fec8638b000 rw-p 0000f000 08:03 244332
/opt/tqt3/plugins/inputmethods/libqxim.so
7fec8638b000-7fec863b2000 r-xp 00000000 08:03 244333
/opt/tqt3/plugins/inputmethods/libqsimple.so
7fec863b2000-7fec865b1000 ---p 00027000 08:03 244333
/opt/tqt3/plugins/inputmethods/libqsimple.so
7fec865b1000-7fec865b2000 rw-p 00026000 08:03 244333
/opt/tqt3/plugins/inputmethods/libqsimple.so
7fec865b2000-7fec865b7000 r-xp 00000000 08:03 244330
/opt/tqt3/plugins/inputmethods/libqimsw-none.so
7fec865b7000-7fec867b7000 ---p 00005000 08:03 244330
/opt/tqt3/plugins/inputmethods/libqimsw-none.so
7fec867b7000-7fec867b8000 rw-p 00005000 08:03 244330
/opt/tqt3/plugins/inputmethods/libqimsw-none.so
7fec867b8000-7fec867c5000 r-xp 00000000 08:03 244331
/opt/tqt3/plugins/inputmethods/libqimsw-multi.so
7fec867c5000-7fec869c4000 ---p 0000d000 08:03 244331
/opt/tqt3/plugins/inputmethods/libqimsw-multi.so
7fec869c4000-7fec869c5000 rw-p 0000c000 08:03 244331
/opt/tqt3/plugins/inputmethods/libqimsw-multi.so
7fec869c5000-7fec86a1e000 r-xp 00000000 08:03 175954
/usr/lib/libpcre.so.1.0.0
7fec86a1e000-7fec86c1d000 ---p 00059000 08:03 175954
/usr/lib/libpcre.so.1.0.0
7fec86c1d000-7fec86c1e000 r--p 00058000 08:03 175954
/usr/lib/libpcre.so.1.0.0
7fec86c1e000-7fec86c1f000 rw-p 00059000 08:03 175954
/usr/lib/libpcre.so.1.0.0
7fec86c1f000-7fec86d18000 r-xp 00000000 08:03 264004
/opt/trinity/lib/libtdeprint.so.4.2.0
7fec86d18000-7fec86f18000 ---p 000f9000 08:03 264004
/opt/trinity/lib/libtdeprint.so.4.2.0
7fec86f18000-7fec86f28000 rw-p 000f9000 08:03 264004
/opt/trinity/lib/libtdeprint.so.4.2.0
7fec86f28000-7fec86fcb000 r-xp 00000000 08:03 264147
/opt/trinity/lib/libkjs.so.1.2.0
7fec86fcb000-7fec871cb000 ---p 000a3000 08:03 264147
/opt/trinity/lib/libkjs.so.1.2.0
7fec871cb000-7fec871d4000 rw-p 000a3000 08:03 264147
/opt/trinity/lib/libkjs.so.1.2.0
7fec871d4000-7fec871d6000 rw-p 00000000 00:00 0
7fec871d6000-7fec873d2000 r-xp 00000000 08:03 264329
/opt/trinity/lib/trinity/libkatepart.so
7fec873d2000-7fec875d1000 ---p 001fc000 08:03 264329
/opt/trinity/lib/trinity/libkatepart.so
7fec875d1000-7fec875f6000 rw-p 001fb000 08:03 264329
/opt/trinity/lib/trinity/libkatepart.so
7fec875f6000-7fec87622000 r-xp 00000000 08:03 177279
/usr/lib/libpng15.so.15.10.0
7fec87622000-7fec87821000 ---p 0002c000 08:03 177279
/usr/lib/libpng15.so.15.10.0
7fec87821000-7fec87822000 r--p 0002b000 08:03 177279
/usr/lib/libpng15.so.15.10.0
7fec87822000-7fec87823000 rw-p 0002c000 08:03 177279
/usr/lib/libpng15.so.15.10.0
7fec87823000-7fec87831000 r-xp 00000000 08:03 244345
/opt/tqt3/plugins/imageformats/libqpng.so
7fec87831000-7fec87a31000 ---p 0000e000 08:03 244345
/opt/tqt3/plugins/imageformats/libqpng.so
7fec87a31000-7fec87a32000 rw-p 0000e000 08:03 244345
/opt/tqt3/plugins/imageformats/libqpng.so
7fec87a32000-7fec87aa0000 r-xp 00000000 08:03 77555
/usr/lib/libmng.so.1.0.0
7fec87aa0000-7fec87ca0000 ---p 0006e000 08:03 77555
/usr/lib/libmng.so.1.0.0
7fec87ca0000-7fec87ca3000 r--p 0006e000 08:03 77555
/usr/lib/libmng.so.1.0.0
7fec87ca3000-7fec87ca5000 rw-p 00071000 08:03 77555
/usr/lib/libmng.so.1.0.0
7fec87ca5000-7fec87cac000 r-xp 00000000 08:03 244346
/opt/tqt3/plugins/imageformats/libqmng.so
7fec87cac000-7fec87eac000 ---p 00007000 08:03 244346
/opt/tqt3/plugins/imageformats/libqmng.so
7fec87eac000-7fec87ead000 rw-p 00007000 08:03 244346
/opt/tqt3/plugins/imageformats/libqmng.so
7fec87ead000-7fec87eeb000 r-xp 00000000 08:03 73645
/usr/lib/libjpeg.so.8.0.2
7fec87eeb000-7fec880eb000 ---p 0003e000 08:03 73645
/usr/lib/libjpeg.so.8.0.2
7fec880eb000-7fec880ec000 r--p 0003e000 08:03 73645
/usr/lib/libjpeg.so.8.0.2
7fec880ec000-7fec880ed000 rw-p 0003f000 08:03 73645
/usr/lib/libjpeg.so.8.0.2
7fec880ed000-7fec880fd000 rw-p 00000000 00:00 0
7fec880fd000-7fec88105000 r-xp 00000000 08:03 244344
/opt/tqt3/plugins/imageformats/libqjpeg.so
7fec88105000-7fec88305000 ---p 00008000 08:03 244344
/opt/tqt3/plugins/imageformats/libqjpeg.so
7fec88305000-7fec88306000 rw-p 00008000 08:03 244344
/opt/tqt3/plugins/imageformats/libqjpeg.so
7fec88306000-7fec88324000 r-xp 00000000 08:03 269024
/opt/trinity/lib/trinity/plugins/styles/plastik.so
7fec88324000-7fec88524000 ---p 0001e000 08:03 269024
/opt/trinity/lib/trinity/plugins/styles/plastik.so
7fec88524000-7fec88526000 rw-p 0001e000 08:03 269024
/opt/trinity/lib/trinity/plugins/styles/plastik.so
7fec88526000-7fec8852b000 r-xp 00000000 08:03 73340
/usr/lib/libXdmcp.so.6.0.0
7fec8852b000-7fec8872a000 ---p 00005000 08:03 73340
/usr/lib/libXdmcp.so.6.0.0
7fec8872a000-7fec8872b000 r--p 00004000 08:03 73340
/usr/lib/libXdmcp.so.6.0.0
7fec8872b000-7fec8872c000 rw-p 00005000 08:03 73340
/usr/lib/libXdmcp.so.6.0.0
7fec8872c000-7fec8872e000 r-xp 00000000 08:03 73343
/usr/lib/libXau.so.6.0.0
7fec8872e000-7fec8892e000 ---p 00002000 08:03 73343
/usr/lib/libXau.so.6.0.0
7fec8892e000-7fec8892f000 r--p 00002000 08:03 73343
/usr/lib/libXau.so.6.0.0
7fec8892f000-7fec88930000 rw-p 00003000 08:03 73343
/usr/lib/libXau.so.6.0.0
7fec88930000-7fec88935000 r-xp 00000000 08:03 73586
/usr/lib/libXfixes.so.3.1.0
7fec88935000-7fec88b35000 ---p 00005000 08:03 73586
/usr/lib/libXfixes.so.3.1.0
7fec88b35000-7fec88b36000 r--p 00005000 08:03 73586
/usr/lib/libXfixes.so.3.1.0
7fec88b36000-7fec88b37000 rw-p 00006000 08:03 73586
/usr/lib/libXfixes.so.3.1.0
7fec88b37000-7fec88d17000 r-xp 00000000 08:03 174962
/usr/lib/libcrypto.so.1.0.0
7fec88d17000-7fec88f16000 ---p 001e0000 08:03 174962
/usr/lib/libcrypto.so.1.0.0
7fec88f16000-7fec88f31000 r--p 001df000 08:03 174962
/usr/lib/libcrypto.so.1.0.0
7fec88f31000-7fec88f3c000 rw-p 001fa000 08:03 174962
/usr/lib/libcrypto.so.1.0.0
7fec88f3c000-7fec88f40000 rw-p 00000000 00:00 0
7fec88f40000-7fec88fa0000 r-xp 00000000 08:03 174961
/usr/lib/libssl.so.1.0.0
7fec88fa0000-7fec8919f000 ---p 00060000 08:03 174961
/usr/lib/libssl.so.1.0.0
7fec8919f000-7fec891a3000 r--p 0005f000 08:03 174961
/usr/lib/libssl.so.1.0.0
7fec891a3000-7fec891a9000 rw-p 00063000 08:03 174961
/usr/lib/libssl.so.1.0.0
7fec891a9000-7fec891aa000 rw-p 00000000 00:00 0
7fec891aa000-7fec891b1000 r-xp 00000000 08:03 415350
/lib/librt-2.15.so
7fec891b1000-7fec893b0000 ---p 00007000 08:03 415350
/lib/librt-2.15.so
7fec893b0000-7fec893b1000 r--p 00006000 08:03 415350
/lib/librt-2.15.so
7fec893b1000-7fec893b2000 rw-p 00007000 08:03 415350
/lib/librt-2.15.so
7fec893b2000-7fec893b6000 r-xp 00000000 08:03 174984
/usr/lib/libuuid.so.1.3.0
7fec893b6000-7fec895b5000 ---p 00004000 08:03 174984
/usr/lib/libuuid.so.1.3.0
7fec895b5000-7fec895b6000 r--p 00003000 08:03 174984
/usr/lib/libuuid.so.1.3.0
7fec895b6000-7fec895b7000 rw-p 00004000 08:03 174984
/usr/lib/libuuid.so.1.3.0
7fec895b7000-7fec895d4000 r-xp 00000000 08:03 73373
/usr/lib/libxcb.so.1.1.0
7fec895d4000-7fec897d4000 ---p 0001d000 08:03 73373
/usr/lib/libxcb.so.1.1.0
7fec897d4000-7fec897d5000 rw-p 0001d000 08:03 73373
/usr/lib/libxcb.so.1.1.0
7fec897d5000-7fec897ec000 r-xp 00000000 08:03 415347
/lib/libpthread-2.15.so
7fec897ec000-7fec899eb000 ---p 00017000 08:03 415347
/lib/libpthread-2.15.so
7fec899eb000-7fec899ec000 r--p 00016000 08:03 415347
/lib/libpthread-2.15.so
7fec899ec000-7fec899ed000 rw-p 00017000 08:03 415347
/lib/libpthread-2.15.so
7fec899ed000-7fec899f1000 rw-p 00000000 00:00 0
7fec899f1000-7fec89a03000 r-xp 00000000 08:03 73590
/usr/lib/libXext.so.6.4.0
7fec89a03000-7fec89c02000 ---p 00012000 08:03 73590
/usr/lib/libXext.so.6.4.0
7fec89c02000-7fec89c03000 r--p 00011000 08:03 73590
/usr/lib/libXext.so.6.4.0
7fec89c03000-7fec89c04000 rw-p 00012000 08:03 73590
/usr/lib/libXext.so.6.4.0
7fec89c04000-7fec89c18000 r-xp 00000000 08:03 73428
/usr/lib/libXft.so.2.3.0
7fec89c18000-7fec89e17000 ---p 00014000 08:03 73428
/usr/lib/libXft.so.2.3.0
7fec89e17000-7fec89e18000 r--p 00013000 08:03 73428
/usr/lib/libXft.so.2.3.0
7fec89e18000-7fec89e19000 rw-p 00014000 08:03 73428
/usr/lib/libXft.so.2.3.0
7fec89e19000-7fec89e1b000 r-xp 00000000 08:03 73594
/usr/lib/libXinerama.so.1.0.0
7fec89e1b000-7fec8a01a000 ---p 00002000 08:03 73594
/usr/lib/libXinerama.so.1.0.0
7fec8a01a000-7fec8a01b000 r--p 00001000 08:03 73594
/usr/lib/libXinerama.so.1.0.0
7fec8a01b000-7fec8a01c000 rw-p 00002000 08:03 73594
/usr/lib/libXinerama.so.1.0.0
7fec8a01c000-7fec8a025000 r-xp 00000000 08:03 73588
/usr/lib/libXcursor.so.1.0.2
7fec8a025000-7fec8a224000 ---p 00009000 08:03 73588
/usr/lib/libXcursor.so.1.0.2
7fec8a224000-7fec8a225000 r--p 00008000 08:03 73588
/usr/lib/libXcursor.so.1.0.2
7fec8a225000-7fec8a226000 rw-p 00009000 08:03 73588
/usr/lib/libXcursor.so.1.0.2e[kcrash] KCrash: crashing... crashRecursionCounter = 2
[kcrash] KCrash: Application Name = kwrite path = <unknown> pid = 1317
--
David C. Rankin, J.D.,P.E.