Ticket UUID: | 3a56576157559e6ac194cd37defb791f525d876d | |||
Title: | Test text-27.24 & text-30.3 seg faults on linux | |||
Type: | Bug | Version: | Branch revised_text | |
Submitter: | pointsman | Created on: | 2017-02-23 12:19:48 | |
Subsystem: | 18. [text] | Assigned To: | nobody | |
Priority: | 5 Medium | Severity: | Severe | |
Status: | Closed | Last Modified: | 2017-03-12 13:20:37 | |
Resolution: | Fixed | Closed By: | fvogel | |
Closed on: | 2017-03-12 13:20:37 | |||
Description: |
I build tk branch revised_text, 4d30798baa3 against a current tcl trunk build, with --enable-symbols and w/ -DPURIFY, on linux, gcc 4.7.1 make test TESTFLAGS='-file text.test -match text-27.24' seg faults. Valgrind reports: ==1660== Memcheck, a memory error detector ==1660== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. ==1660== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info ==1660== Command: ./tktest /home/rolf/tcltk/core/tk-head/unix/../tests/all.tcl -geometry +0+0 -file text.test -match text-27.24 ==1660== ==1660== Invalid read of size 1 ==1660== at 0x4C2E1B4: __strcmp_sse42 (vg_replace_strmem.c:845) ==1660== by 0x5D6D09C: _XimUnRegisterIMInstantiateCallback (in /usr/lib64/libX11.so.6.3.0) ==1660== by 0x5D54A34: XUnregisterIMInstantiateCallback (in /usr/lib64/libX11.so.6.3.0) ==1660== by 0x4FE06B3: InstantiateIMCallback (tkUnixEvent.c:681) ==1660== by 0x5D6CF94: _XimRegisterIMInstantiateCallback (in /usr/lib64/libX11.so.6.3.0) ==1660== by 0x5D5499D: XRegisterIMInstantiateCallback (in /usr/lib64/libX11.so.6.3.0) ==1660== by 0x4FDFDC8: TkpOpenDisplay (tkUnixEvent.c:184) ==1660== by 0x4EC1234: GetScreen (tkWindow.c:463) ==1660== by 0x4EC0FF2: CreateTopLevelWindow (tkWindow.c:346) ==1660== by 0x4EC1CA7: TkCreateMainWindow (tkWindow.c:852) ==1660== by 0x4ED09C7: CreateFrame (tkFrame.c:582) ==1660== by 0x4ED0503: TkListCreateFrame (tkFrame.c:468) ==1660== Address 0x7b5fb90 is 0 bytes inside a block of size 10 free'd ==1660== at 0x4C2B51A: free (vg_replace_malloc.c:530) ==1660== by 0x5D636B1: XSetLocaleModifiers (in /usr/lib64/libX11.so.6.3.0) ==1660== by 0x4FE0745: OpenIM (tkUnixEvent.c:725) ==1660== by 0x4FE0687: InstantiateIMCallback (tkUnixEvent.c:680) ==1660== by 0x5D6CF94: _XimRegisterIMInstantiateCallback (in /usr/lib64/libX11.so.6.3.0) ==1660== by 0x5D5499D: XRegisterIMInstantiateCallback (in /usr/lib64/libX11.so.6.3.0) ==1660== by 0x4FDFDC8: TkpOpenDisplay (tkUnixEvent.c:184) ==1660== by 0x4EC1234: GetScreen (tkWindow.c:463) ==1660== by 0x4EC0FF2: CreateTopLevelWindow (tkWindow.c:346) ==1660== by 0x4EC1CA7: TkCreateMainWindow (tkWindow.c:852) ==1660== by 0x4ED09C7: CreateFrame (tkFrame.c:582) ==1660== by 0x4ED0503: TkListCreateFrame (tkFrame.c:468) ==1660== Block was alloc'd at ==1660== at 0x4C2C614: malloc (vg_replace_malloc.c:299) ==1660== by 0x5D63275: _XlcDefaultMapModifiers (in /usr/lib64/libX11.so.6.3.0) ==1660== by 0x5D63695: XSetLocaleModifiers (in /usr/lib64/libX11.so.6.3.0) ==1660== by 0x4FE0745: OpenIM (tkUnixEvent.c:725) ==1660== by 0x4FDFD9C: TkpOpenDisplay (tkUnixEvent.c:183) ==1660== by 0x4EC1234: GetScreen (tkWindow.c:463) ==1660== by 0x4EC0FF2: CreateTopLevelWindow (tkWindow.c:346) ==1660== by 0x4EC1CA7: TkCreateMainWindow (tkWindow.c:852) ==1660== by 0x4ED09C7: CreateFrame (tkFrame.c:582) ==1660== by 0x4ED0503: TkListCreateFrame (tkFrame.c:468) ==1660== by 0x4EC53D5: Initialize (tkWindow.c:3240) ==1660== by 0x4EC46A5: Tk_Init (tkWindow.c:2900) ==1660== ==1660== Invalid read of size 1 ==1660== at 0x4C2E1CB: __strcmp_sse42 (vg_replace_strmem.c:845) ==1660== by 0x5D6D09C: _XimUnRegisterIMInstantiateCallback (in /usr/lib64/libX11.so.6.3.0) ==1660== by 0x5D54A34: XUnregisterIMInstantiateCallback (in /usr/lib64/libX11.so.6.3.0) ==1660== by 0x4FE06B3: InstantiateIMCallback (tkUnixEvent.c:681) ==1660== by 0x5D6CF94: _XimRegisterIMInstantiateCallback (in /usr/lib64/libX11.so.6.3.0) ==1660== by 0x5D5499D: XRegisterIMInstantiateCallback (in /usr/lib64/libX11.so.6.3.0) ==1660== by 0x4FDFDC8: TkpOpenDisplay (tkUnixEvent.c:184) ==1660== by 0x4EC1234: GetScreen (tkWindow.c:463) ==1660== by 0x4EC0FF2: CreateTopLevelWindow (tkWindow.c:346) ==1660== by 0x4EC1CA7: TkCreateMainWindow (tkWindow.c:852) ==1660== by 0x4ED09C7: CreateFrame (tkFrame.c:582) ==1660== by 0x4ED0503: TkListCreateFrame (tkFrame.c:468) ==1660== Address 0x7b5fb91 is 1 bytes inside a block of size 10 free'd ==1660== at 0x4C2B51A: free (vg_replace_malloc.c:530) ==1660== by 0x5D636B1: XSetLocaleModifiers (in /usr/lib64/libX11.so.6.3.0) ==1660== by 0x4FE0745: OpenIM (tkUnixEvent.c:725) ==1660== by 0x4FE0687: InstantiateIMCallback (tkUnixEvent.c:680) ==1660== by 0x5D6CF94: _XimRegisterIMInstantiateCallback (in /usr/lib64/libX11.so.6.3.0) ==1660== by 0x5D5499D: XRegisterIMInstantiateCallback (in /usr/lib64/libX11.so.6.3.0) ==1660== by 0x4FDFDC8: TkpOpenDisplay (tkUnixEvent.c:184) ==1660== by 0x4EC1234: GetScreen (tkWindow.c:463) ==1660== by 0x4EC0FF2: CreateTopLevelWindow (tkWindow.c:346) ==1660== by 0x4EC1CA7: TkCreateMainWindow (tkWindow.c:852) ==1660== by 0x4ED09C7: CreateFrame (tkFrame.c:582) ==1660== by 0x4ED0503: TkListCreateFrame (tkFrame.c:468) ==1660== Block was alloc'd at ==1660== at 0x4C2C614: malloc (vg_replace_malloc.c:299) ==1660== by 0x5D63275: _XlcDefaultMapModifiers (in /usr/lib64/libX11.so.6.3.0) ==1660== by 0x5D63695: XSetLocaleModifiers (in /usr/lib64/libX11.so.6.3.0) ==1660== by 0x4FE0745: OpenIM (tkUnixEvent.c:725) ==1660== by 0x4FDFD9C: TkpOpenDisplay (tkUnixEvent.c:183) ==1660== by 0x4EC1234: GetScreen (tkWindow.c:463) ==1660== by 0x4EC0FF2: CreateTopLevelWindow (tkWindow.c:346) ==1660== by 0x4EC1CA7: TkCreateMainWindow (tkWindow.c:852) ==1660== by 0x4ED09C7: CreateFrame (tkFrame.c:582) ==1660== by 0x4ED0503: TkListCreateFrame (tkFrame.c:468) ==1660== by 0x4EC53D5: Initialize (tkWindow.c:3240) ==1660== by 0x4EC46A5: Tk_Init (tkWindow.c:2900) ==1660== ==1660== Invalid read of size 8 ==1660== at 0x4F422D6: InsertChars (tkText.c:4983) ==1660== by 0x4F44CA2: TextInsertCmd (tkText.c:6153) ==1660== by 0x4F3A77A: TextWidgetObjCmd (tkText.c:2155) ==1660== by 0x52B2065: Dispatch (tclBasic.c:4365) ==1660== by 0x52B20EB: TclNRRunCallbacks (tclBasic.c:4398) ==1660== by 0x52B19B4: Tcl_EvalObjv (tclBasic.c:4128) ==1660== by 0x52B3EA5: TclEvalEx (tclBasic.c:5267) ==1660== by 0x53C8F0B: Tcl_FSEvalFileEx (tclIOUtil.c:1826) ==1660== by 0x4EAA394: Tk_MainEx (tkMain.c:342) ==1660== by 0x400FD9: main (tkAppInit.c:78) ==1660== Address 0x7b274b0 is 0 bytes inside a block of size 40 free'd ==1660== at 0x4C2B51A: free (vg_replace_malloc.c:530) ==1660== by 0x52A679B: TclpFree (tclAlloc.c:722) ==1660== by 0x52BECA5: Tcl_Free (tclCkalloc.c:1221) ==1660== by 0x4F422BA: InsertChars (tkText.c:4977) ==1660== by 0x4F44CA2: TextInsertCmd (tkText.c:6153) ==1660== by 0x4F3A77A: TextWidgetObjCmd (tkText.c:2155) ==1660== by 0x52B2065: Dispatch (tclBasic.c:4365) ==1660== by 0x52B20EB: TclNRRunCallbacks (tclBasic.c:4398) ==1660== by 0x52B19B4: Tcl_EvalObjv (tclBasic.c:4128) ==1660== by 0x52B3EA5: TclEvalEx (tclBasic.c:5267) ==1660== by 0x53C8F0B: Tcl_FSEvalFileEx (tclIOUtil.c:1826) ==1660== by 0x4EAA394: Tk_MainEx (tkMain.c:342) ==1660== Block was alloc'd at ==1660== at 0x4C2C614: malloc (vg_replace_malloc.c:299) ==1660== by 0x52A6781: TclpAlloc (tclAlloc.c:699) ==1660== by 0x52BEAA4: Tcl_Alloc (tclCkalloc.c:1058) ==1660== by 0x4F59298: TkBTreeInsertChars (tkTextBTree.c:4217) ==1660== by 0x4F42168: InsertChars (tkText.c:4952) ==1660== by 0x4F44CA2: TextInsertCmd (tkText.c:6153) ==1660== by 0x4F3A77A: TextWidgetObjCmd (tkText.c:2155) ==1660== by 0x52B2065: Dispatch (tclBasic.c:4365) ==1660== by 0x52B20EB: TclNRRunCallbacks (tclBasic.c:4398) ==1660== by 0x52B19B4: Tcl_EvalObjv (tclBasic.c:4128) ==1660== by 0x52B3EA5: TclEvalEx (tclBasic.c:5267) ==1660== by 0x53C8F0B: Tcl_FSEvalFileEx (tclIOUtil.c:1826) ==1660== ==1660== Invalid read of size 8 ==1660== at 0x4F4230C: InsertChars (tkText.c:4984) ==1660== by 0x4F44CA2: TextInsertCmd (tkText.c:6153) ==1660== by 0x4F3A77A: TextWidgetObjCmd (tkText.c:2155) ==1660== by 0x52B2065: Dispatch (tclBasic.c:4365) ==1660== by 0x52B20EB: TclNRRunCallbacks (tclBasic.c:4398) ==1660== by 0x52B19B4: Tcl_EvalObjv (tclBasic.c:4128) ==1660== by 0x52B3EA5: TclEvalEx (tclBasic.c:5267) ==1660== by 0x53C8F0B: Tcl_FSEvalFileEx (tclIOUtil.c:1826) ==1660== by 0x4EAA394: Tk_MainEx (tkMain.c:342) ==1660== by 0x400FD9: main (tkAppInit.c:78) ==1660== Address 0x7b274b8 is 8 bytes inside a block of size 40 free'd ==1660== at 0x4C2B51A: free (vg_replace_malloc.c:530) ==1660== by 0x52A679B: TclpFree (tclAlloc.c:722) ==1660== by 0x52BECA5: Tcl_Free (tclCkalloc.c:1221) ==1660== by 0x4F422BA: InsertChars (tkText.c:4977) ==1660== by 0x4F44CA2: TextInsertCmd (tkText.c:6153) ==1660== by 0x4F3A77A: TextWidgetObjCmd (tkText.c:2155) ==1660== by 0x52B2065: Dispatch (tclBasic.c:4365) ==1660== by 0x52B20EB: TclNRRunCallbacks (tclBasic.c:4398) ==1660== by 0x52B19B4: Tcl_EvalObjv (tclBasic.c:4128) ==1660== by 0x52B3EA5: TclEvalEx (tclBasic.c:5267) ==1660== by 0x53C8F0B: Tcl_FSEvalFileEx (tclIOUtil.c:1826) ==1660== by 0x4EAA394: Tk_MainEx (tkMain.c:342) ==1660== Block was alloc'd at ==1660== at 0x4C2C614: malloc (vg_replace_malloc.c:299) ==1660== by 0x52A6781: TclpAlloc (tclAlloc.c:699) ==1660== by 0x52BEAA4: Tcl_Alloc (tclCkalloc.c:1058) ==1660== by 0x4F59298: TkBTreeInsertChars (tkTextBTree.c:4217) ==1660== by 0x4F42168: InsertChars (tkText.c:4952) ==1660== by 0x4F44CA2: TextInsertCmd (tkText.c:6153) ==1660== by 0x4F3A77A: TextWidgetObjCmd (tkText.c:2155) ==1660== by 0x52B2065: Dispatch (tclBasic.c:4365) ==1660== by 0x52B20EB: TclNRRunCallbacks (tclBasic.c:4398) ==1660== by 0x52B19B4: Tcl_EvalObjv (tclBasic.c:4128) ==1660== by 0x52B3EA5: TclEvalEx (tclBasic.c:5267) ==1660== by 0x53C8F0B: Tcl_FSEvalFileEx (tclIOUtil.c:1826) ==1660== ==1660== Invalid read of size 8 ==1660== at 0x4F42317: InsertChars (tkText.c:4984) ==1660== by 0x4F44CA2: TextInsertCmd (tkText.c:6153) ==1660== by 0x4F3A77A: TextWidgetObjCmd (tkText.c:2155) ==1660== by 0x52B2065: Dispatch (tclBasic.c:4365) ==1660== by 0x52B20EB: TclNRRunCallbacks (tclBasic.c:4398) ==1660== by 0x52B19B4: Tcl_EvalObjv (tclBasic.c:4128) ==1660== by 0x52B3EA5: TclEvalEx (tclBasic.c:5267) ==1660== by 0x53C8F0B: Tcl_FSEvalFileEx (tclIOUtil.c:1826) ==1660== by 0x4EAA394: Tk_MainEx (tkMain.c:342) ==1660== by 0x400FD9: main (tkAppInit.c:78) ==1660== Address 0x7b274c0 is 16 bytes inside a block of size 40 free'd ==1660== at 0x4C2B51A: free (vg_replace_malloc.c:530) ==1660== by 0x52A679B: TclpFree (tclAlloc.c:722) ==1660== by 0x52BECA5: Tcl_Free (tclCkalloc.c:1221) ==1660== by 0x4F422BA: InsertChars (tkText.c:4977) ==1660== by 0x4F44CA2: TextInsertCmd (tkText.c:6153) ==1660== by 0x4F3A77A: TextWidgetObjCmd (tkText.c:2155) ==1660== by 0x52B2065: Dispatch (tclBasic.c:4365) ==1660== by 0x52B20EB: TclNRRunCallbacks (tclBasic.c:4398) ==1660== by 0x52B19B4: Tcl_EvalObjv (tclBasic.c:4128) ==1660== by 0x52B3EA5: TclEvalEx (tclBasic.c:5267) ==1660== by 0x53C8F0B: Tcl_FSEvalFileEx (tclIOUtil.c:1826) ==1660== by 0x4EAA394: Tk_MainEx (tkMain.c:342) ==1660== Block was alloc'd at ==1660== at 0x4C2C614: malloc (vg_replace_malloc.c:299) ==1660== by 0x52A6781: TclpAlloc (tclAlloc.c:699) ==1660== by 0x52BEAA4: Tcl_Alloc (tclCkalloc.c:1058) ==1660== by 0x4F59298: TkBTreeInsertChars (tkTextBTree.c:4217) ==1660== by 0x4F42168: InsertChars (tkText.c:4952) ==1660== by 0x4F44CA2: TextInsertCmd (tkText.c:6153) ==1660== by 0x4F3A77A: TextWidgetObjCmd (tkText.c:2155) ==1660== by 0x52B2065: Dispatch (tclBasic.c:4365) ==1660== by 0x52B20EB: TclNRRunCallbacks (tclBasic.c:4398) ==1660== by 0x52B19B4: Tcl_EvalObjv (tclBasic.c:4128) ==1660== by 0x52B3EA5: TclEvalEx (tclBasic.c:5267) ==1660== by 0x53C8F0B: Tcl_FSEvalFileEx (tclIOUtil.c:1826) ==1660== ==1660== Invalid read of size 8 ==1660== at 0x4F4232D: InsertChars (tkText.c:4985) ==1660== by 0x4F44CA2: TextInsertCmd (tkText.c:6153) ==1660== by 0x4F3A77A: TextWidgetObjCmd (tkText.c:2155) ==1660== by 0x52B2065: Dispatch (tclBasic.c:4365) ==1660== by 0x52B20EB: TclNRRunCallbacks (tclBasic.c:4398) ==1660== by 0x52B19B4: Tcl_EvalObjv (tclBasic.c:4128) ==1660== by 0x52B3EA5: TclEvalEx (tclBasic.c:5267) ==1660== by 0x53C8F0B: Tcl_FSEvalFileEx (tclIOUtil.c:1826) ==1660== by 0x4EAA394: Tk_MainEx (tkMain.c:342) ==1660== by 0x400FD9: main (tkAppInit.c:78) ==1660== Address 0x7b274c8 is 24 bytes inside a block of size 40 free'd ==1660== at 0x4C2B51A: free (vg_replace_malloc.c:530) ==1660== by 0x52A679B: TclpFree (tclAlloc.c:722) ==1660== by 0x52BECA5: Tcl_Free (tclCkalloc.c:1221) ==1660== by 0x4F422BA: InsertChars (tkText.c:4977) ==1660== by 0x4F44CA2: TextInsertCmd (tkText.c:6153) ==1660== by 0x4F3A77A: TextWidgetObjCmd (tkText.c:2155) ==1660== by 0x52B2065: Dispatch (tclBasic.c:4365) ==1660== by 0x52B20EB: TclNRRunCallbacks (tclBasic.c:4398) ==1660== by 0x52B19B4: Tcl_EvalObjv (tclBasic.c:4128) ==1660== by 0x52B3EA5: TclEvalEx (tclBasic.c:5267) ==1660== by 0x53C8F0B: Tcl_FSEvalFileEx (tclIOUtil.c:1826) ==1660== by 0x4EAA394: Tk_MainEx (tkMain.c:342) ==1660== Block was alloc'd at ==1660== at 0x4C2C614: malloc (vg_replace_malloc.c:299) ==1660== by 0x52A6781: TclpAlloc (tclAlloc.c:699) ==1660== by 0x52BEAA4: Tcl_Alloc (tclCkalloc.c:1058) ==1660== by 0x4F59298: TkBTreeInsertChars (tkTextBTree.c:4217) ==1660== by 0x4F42168: InsertChars (tkText.c:4952) ==1660== by 0x4F44CA2: TextInsertCmd (tkText.c:6153) ==1660== by 0x4F3A77A: TextWidgetObjCmd (tkText.c:2155) ==1660== by 0x52B2065: Dispatch (tclBasic.c:4365) ==1660== by 0x52B20EB: TclNRRunCallbacks (tclBasic.c:4398) ==1660== by 0x52B19B4: Tcl_EvalObjv (tclBasic.c:4128) ==1660== by 0x52B3EA5: TclEvalEx (tclBasic.c:5267) ==1660== by 0x53C8F0B: Tcl_FSEvalFileEx (tclIOUtil.c:1826) ==1660== ==1660== Invalid read of size 8 ==1660== at 0x4F42338: InsertChars (tkText.c:4985) ==1660== by 0x4F44CA2: TextInsertCmd (tkText.c:6153) ==1660== by 0x4F3A77A: TextWidgetObjCmd (tkText.c:2155) ==1660== by 0x52B2065: Dispatch (tclBasic.c:4365) ==1660== by 0x52B20EB: TclNRRunCallbacks (tclBasic.c:4398) ==1660== by 0x52B19B4: Tcl_EvalObjv (tclBasic.c:4128) ==1660== by 0x52B3EA5: TclEvalEx (tclBasic.c:5267) ==1660== by 0x53C8F0B: Tcl_FSEvalFileEx (tclIOUtil.c:1826) ==1660== by 0x4EAA394: Tk_MainEx (tkMain.c:342) ==1660== by 0x400FD9: main (tkAppInit.c:78) ==1660== Address 0x7b274d0 is 32 bytes inside a block of size 40 free'd ==1660== at 0x4C2B51A: free (vg_replace_malloc.c:530) ==1660== by 0x52A679B: TclpFree (tclAlloc.c:722) ==1660== by 0x52BECA5: Tcl_Free (tclCkalloc.c:1221) ==1660== by 0x4F422BA: InsertChars (tkText.c:4977) ==1660== by 0x4F44CA2: TextInsertCmd (tkText.c:6153) ==1660== by 0x4F3A77A: TextWidgetObjCmd (tkText.c:2155) ==1660== by 0x52B2065: Dispatch (tclBasic.c:4365) ==1660== by 0x52B20EB: TclNRRunCallbacks (tclBasic.c:4398) ==1660== by 0x52B19B4: Tcl_EvalObjv (tclBasic.c:4128) ==1660== by 0x52B3EA5: TclEvalEx (tclBasic.c:5267) ==1660== by 0x53C8F0B: Tcl_FSEvalFileEx (tclIOUtil.c:1826) ==1660== by 0x4EAA394: Tk_MainEx (tkMain.c:342) ==1660== Block was alloc'd at ==1660== at 0x4C2C614: malloc (vg_replace_malloc.c:299) ==1660== by 0x52A6781: TclpAlloc (tclAlloc.c:699) ==1660== by 0x52BEAA4: Tcl_Alloc (tclCkalloc.c:1058) ==1660== by 0x4F59298: TkBTreeInsertChars (tkTextBTree.c:4217) ==1660== by 0x4F42168: InsertChars (tkText.c:4952) ==1660== by 0x4F44CA2: TextInsertCmd (tkText.c:6153) ==1660== by 0x4F3A77A: TextWidgetObjCmd (tkText.c:2155) ==1660== by 0x52B2065: Dispatch (tclBasic.c:4365) ==1660== by 0x52B20EB: TclNRRunCallbacks (tclBasic.c:4398) ==1660== by 0x52B19B4: Tcl_EvalObjv (tclBasic.c:4128) ==1660== by 0x52B3EA5: TclEvalEx (tclBasic.c:5267) ==1660== by 0x53C8F0B: Tcl_FSEvalFileEx (tclIOUtil.c:1826) ==1660== ==1660== ==1660== HEAP SUMMARY: ==1660== in use at exit: 2,996,073 bytes in 37,313 blocks ==1660== total heap usage: 651,958 allocs, 614,645 frees, 67,788,157 bytes allocated ==1660== ==1660== LEAK SUMMARY: ==1660== definitely lost: 12,832 bytes in 22 blocks ==1660== indirectly lost: 600 bytes in 21 blocks ==1660== possibly lost: 336,303 bytes in 7,419 blocks ==1660== still reachable: 2,646,338 bytes in 29,851 blocks ==1660== suppressed: 0 bytes in 0 blocks ==1660== Rerun with --leak-check=full to see details of leaked memory ==1660== ==1660== For counts of detected and suppressed errors, rerun with: -v ==1660== ERROR SUMMARY: 15 errors from 7 contexts (suppressed: 1 from 1) | |||
User Comments: |
fvogel added on 2017-03-12 13:20:37:
[cb2d2b5a] has fixed the three failing tests you mention: textIndex-1.6, textIndex-11.6 and textIndex-11.7 To avoid confusion, please open new tickets for further issues. pointsman added on 2017-03-01 17:17:18: This test constrain tests, if the test command testtext is known by the running interperter. Take a look at: http://core.tcl.tk/tk/artifact/49b78857632be548?ln=215 The command itself is created in generic/tktest.c: http://core.tcl.tk/tk/artifact/29336f1097176214?ln=266-267 The implementation is in tktext.c: http://core.tcl.tk/tk/artifact/c8420514c6269f1e?ln=11219-11376 For testing, tk (as tcl also do) build a special app with additional test commands. If you do `make test`, this test app with additional cmds will be build automatically. A `make tktest` builds the test app without running the tests. gcramer added on 2017-03-01 16:44:08: When I'm testing all the test cases with constraint "testtext" will be skipped. What should I do to fulfill this constraint? What's the reason behind this constraint? pointsman added on 2017-03-01 15:58:32: After commit [8a30bcfd6e7be3], now the test text-30.3 passes even on 64-bit linux for me, no abort any more. Running all the text widget tests (TESTFLAGS='-file text*.test) now only 3 tests are failing. Just to note them here (haven't checked for relevance): ==== textIndex-1.6 TkTextMakeByteIndex FAILED ==== Contents of test case: # (indexPtr->linePtr == NULL) testtext .t byteindex 9 2 ---- Result was: 7.6 6 ---- Result should have been (exact matching): 8.0 0 ==== textIndex-1.6 FAILED ==== textIndex-11.6 TkTextIndexForwBytes FAILED ==== Contents of test case: testtext .t forwbytes 2.3 58 ---- Result was: 7.6 6 ---- Result should have been (exact matching): 8.0 0 ==== textIndex-11.6 FAILED ==== textIndex-11.7 TkTextIndexForwBytes FAILED ==== Contents of test case: testtext .t forwbytes 2.3 59 ---- Result was: 7.6 6 ---- Result should have been (exact matching): 8.0 0 ==== textIndex-11.7 FAILED pointsman added on 2017-02-28 17:15:16: I'm sorry to report this, but still, even with [84b0dd10]: ---- text-30.3 start tktest: /home/rolf/tcltk/core/tk-head/unix/../generic/tkTextDisp.c:9979: YScrollByPixels: Assertion `dInfoPtr->newTopPixelOffset < CalculateDisplayLineHeight(textPtr, &textPtr->topIndex, ((void *)0))' failed. Aborted gcramer added on 2017-02-28 14:02:35: I could fix a major bug in line metric calculation (revision [84b0dd10]), this problem was reproducible on my 32 bit system, and occurred in application ScidVsPC (with inlined text widget). Probably this fix has an impact on test case text-30.3. I cannot verify, because this assertion only happened on 64 bit platforms, and I do not have a 64 bit machine. fvogel added on 2017-02-27 21:37:56: I can reproduce the failed assertion in text-30.3 on Linux Debian 8 (64 bits). gcramer added on 2017-02-27 11:01:42: > text-30.3 > > still aborts for me on 64-bit linux with > > tktest: /home/rolf/tcltk/core/tk-head/unix/../generic/tkTextDisp.c:9970: > > YScrollByPixels: Assertion `TkTextIndexIsEndOfText(&textPtr->topIndex) ? > dInfoPtr->newTopPixelOffset == 0 : dInfoPtr->newTopPixelOffset < > CalculateDisplayLineHeight(textPtr, &textPtr->topIndex, ((void *)0))' failed. > Aborted Bad, I don't have a 64 bit machine. A friend of mine has another problem on a 64 bit machine with his application (inline version of the text widget). It seems that any 64 bit related problem exists, and currently I try to figure it out with the help of the friend. (Unluckily he is not firm with the source code, and debugging with gdb is also not his speciality, so this task is a bit difficult.) pointsman added on 2017-02-27 10:26:17: I additionaly confirm, that the seg faulting tests text-27.24 textWind-10.9 now pass even on 64-bit linux, with [5cb369d839e6] (descendant of [5e22bb83]) Though, test text-30.3 still aborts for me on 64-bit linux with tktest: /home/rolf/tcltk/core/tk-head/unix/../generic/tkTextDisp.c:9970: YScrollByPixels: Assertion `TkTextIndexIsEndOfText(&textPtr->topIndex) ? dInfoPtr->newTopPixelOffset == 0 : dInfoPtr->newTopPixelOffset < CalculateDisplayLineHeight(textPtr, &textPtr->topIndex, ((void *)0))' failed. Aborted I re-opened the ticket entry, although the ticket title unfortunately talk only about text-27.24 and I added my findings about the other tests only in comments. I think, this last test run aborting problem could be handled within this ticket, but if you prefer another ticket with better title lemme know and I re-submit. gcramer added on 2017-02-27 09:47:21: Fixed with [5e22bb83], tested on a 32 bit platform. pointsman added on 2017-02-23 20:14:08: More findings: The test text-30.3 aborts with: tktest: /home/rolf/tcltk/core/tk-head/unix/../generic/tkTextDisp.c:9963: YScrollByPixels: Assertion `TkTextIndexIsEndOfText(&textPtr->topIndex) ? dInfoPtr->newTopPixelOffset == 0 : dInfoPtr->newTopPixelOffset < CalculateDisplayLineHeight(textPtr, &textPtr->topIndex, ((void *)0))' failed. Aborted The test textWind-10.9 seg faults. Thats all for me on that level. All other text*.test tests don't crash for me. Looking at the failing tests is another task. At least some of them are not 'real' failures, from glancing over them. pointsman added on 2017-02-23 19:57:35: Can't confirm. Still, after updateing to e8542fce34c (and even on the tip of revised_text) and with my build - as above with a current tcl trunk build, with --enable-symbols and w/ -DPURIFY, on linux, gcc 4.7.1 - text-27.24 seg faults for me. Since you see it pass, we need to find, what we do different. Do you noticed, that I build tk with tcl trunk build with -DPURIFY? This ticket - or any other ticket by me or, I'm sure, everybody else - isn't meant as offence. I'm pretty aware (as anybody else working in this), that this is a work in progress. I just try to provide a helping hand with testing and, if happens, report, what looks wrong to me. I asked fvogel on the tclers chat, where to report my findings and he proposed the tk tracker. Which seemed OK to me; at least the tested branch is in the same repository. If you prefer other ways of reporting of such findings just let us know. fvogel added on 2017-02-23 19:45:40: When asked by the OP in the chat, I was the one who suggested him to open a ticket. Tickets are cheap, can easily be linked to the fix in the fossil repo, and I don't care that the branch is not "approved as stable". Problem could be difficult to fix, could exist for a long time, and well, better have a ticket than a forgotten issue. gcramer added on 2017-02-23 18:46:34: Newer revision e8542fce34ce0ec8ad91b0fff24341a2d852fc8f is passing the test. BTW: this ticket is invalid, this branch is not yet approved as stable. |