Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failure in Multimedia test suite in xterm w/ bitmapped fonts #429

Closed
dankamongmen opened this issue Mar 29, 2020 · 3 comments
Closed

Failure in Multimedia test suite in xterm w/ bitmapped fonts #429

dankamongmen opened this issue Mar 29, 2020 · 3 comments
Assignees
Labels
bug Something isn't working
Milestone

Comments

@dankamongmen
Copy link
Owner

After enabling bitmapped fonts in fontconfig-config, I am seeing weird failures in the Multimedia test suite, on xterm only. More info to follow. Here's what I've got right now:

[schwarzgerat](0) $ ./notcurses-tester -p ../data/ --tc=Multimedia > 2 2>&1
....
        p�C�U�U�8�U�U    pB<�U�U �8�U�U              p�<�U�U�6�U�UpX<�U�U�u<�U�U   P�̛P�9�U�U    pR<�U�Up=�U�U    @/B�U�U  ���M�!�M�!  �O<�U�U�<�U�U           �6             'U�q*%����m>�Y;�jn�ۓ�h���zօ����FB�q*%����m>�Y;�jn�ۓ�h���zօ����FB�����m>�Y;�jn�ۓ�h���zօ����FB�m>�Y;�jn�ۓ�h���zօ����FB�Y;�jn�ۓ�h���zօ����FB�n�ۓ�h���zօ����FB��h���zօ����FB��zօ����FB�����FB��FB�  `2<�U�U�6�U�U     ����    ������������                                       Segmentation fault
[schwarzgerat](139) $ cat e
[doctest] doctest version is "2.3.7"
[doctest] run with "--help" for options
notcurses version 1.2.4
===============================================================================
[doctest] test cases:     34 |     34 passed |      0 failed |      0 skipped
[doctest] assertions: 8476233 | 8476233 passed |      0 failed |
[doctest] Status: SUCCESS!
[schwarzgerat](0) $        p�C�U�U�8�U�U    pB<�U�U �8�U�U              p�<�U�U�6�U�UpX<�U�U�u<�U�U   P�̛P�9�U�U    pR<�U�Up=�U�U    @/B�U�U  ���M�!�M�!  �O<�U�U�<�U�U           �6             'U�q*%����m>�Y;�jn�ۓ�h���zօ����FB�q*%����m>�Y;�jn�ۓ�h���zօ����FB�����m>�Y;�jn�ۓ�h���zօ����FB�m>�Y;�jn�ۓ�h���zօ����FB�Y;�jn�ۓ�h���zօ����FB�n�ۓ�h���zօ����FB��h���zօ����FB��zօ����FB�����FB��FB�  `2<�U�U�6�U�U     ����    ������������                                       Segmentation fault
[schwarzgerat](139) $ cat e
[doctest] doctest version is "2.3.7"
[doctest] run with "--help" for options
notcurses version 1.2.4
===============================================================================
[doctest] test cases:     34 |     34 passed |      0 failed |      0 skipped
[doctest] assertions: 8476233 | 8476233 passed |      0 failed |
[doctest] Status: SUCCESS!
[schwarzgerat](0) $

so what's up with that? everything claims to be passing, but we segfault out in the end? i'm pretty sure i once saw something about a double free() and corrupted lists, but usually it's just the SIGSEGV. Sometimes we even succeed.

@dankamongmen dankamongmen added the bug Something isn't working label Mar 29, 2020
@dankamongmen dankamongmen added this to the 1.3.0 milestone Mar 29, 2020
@dankamongmen dankamongmen self-assigned this Mar 29, 2020
@dankamongmen
Copy link
Owner Author

==162219== Invalid read of size 8
==162219==    at 0x483D924: memmove (vg_replace_strmem.c:1271)
==162219==    by 0x4854DD4: ncplane_dup (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/libnotcurses.so.1.2.4)
==162219==    by 0x197E49: _DOCTEST_ANON_FUNC_2() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x155CF5: doctest::Context::run() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x128C65: main (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==  Address 0x8441890 is 0 bytes after a block of size 138,240 alloc'd
==162219==    at 0x4838B65: calloc (vg_replace_malloc.c:762)
==162219==    by 0x485351D: ncplane_create (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/libnotcurses.so.1.2.4)
==162219==    by 0x4857586: notcurses_init (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/libnotcurses.so.1.2.4)
==162219==    by 0x196320: _DOCTEST_ANON_FUNC_2() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x155CF5: doctest::Context::run() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x128C65: main (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219== 
==162219== Invalid write of size 8
==162219==    at 0x483D92B: memmove (vg_replace_strmem.c:1271)
==162219==    by 0x4854DD4: ncplane_dup (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/libnotcurses.so.1.2.4)
==162219==    by 0x197E49: _DOCTEST_ANON_FUNC_2() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x155CF5: doctest::Context::run() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x128C65: main (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==  Address 0x86e4680 is 0 bytes after a block of size 138,240 alloc'd
==162219==    at 0x4838B65: calloc (vg_replace_malloc.c:762)
==162219==    by 0x485351D: ncplane_create (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/libnotcurses.so.1.2.4)
==162219==    by 0x4854D2C: ncplane_dup (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/libnotcurses.so.1.2.4)
==162219==    by 0x197E49: _DOCTEST_ANON_FUNC_2() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x155CF5: doctest::Context::run() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x128C65: main (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219== 
==162219== Invalid read of size 8
==162219==    at 0x483D92F: memmove (vg_replace_strmem.c:1271)
==162219==    by 0x4854DD4: ncplane_dup (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/libnotcurses.so.1.2.4)
==162219==    by 0x197E49: _DOCTEST_ANON_FUNC_2() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x155CF5: doctest::Context::run() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x128C65: main (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==  Address 0x8441898 is 8 bytes after a block of size 138,240 alloc'd
==162219==    at 0x4838B65: calloc (vg_replace_malloc.c:762)
==162219==    by 0x485351D: ncplane_create (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/libnotcurses.so.1.2.4)
==162219==    by 0x4857586: notcurses_init (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/libnotcurses.so.1.2.4)
==162219==    by 0x196320: _DOCTEST_ANON_FUNC_2() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x155CF5: doctest::Context::run() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x128C65: main (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219== 
==162219== Invalid write of size 8
==162219==    at 0x483D933: memmove (vg_replace_strmem.c:1271)
==162219==    by 0x4854DD4: ncplane_dup (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/libnotcurses.so.1.2.4)
==162219==    by 0x197E49: _DOCTEST_ANON_FUNC_2() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x155CF5: doctest::Context::run() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x128C65: main (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==  Address 0x86e4688 is 8 bytes after a block of size 138,240 alloc'd
==162219==    at 0x4838B65: calloc (vg_replace_malloc.c:762)
==162219==    by 0x485351D: ncplane_create (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/libnotcurses.so.1.2.4)
==162219==    by 0x4854D2C: ncplane_dup (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/libnotcurses.so.1.2.4)
==162219==    by 0x197E49: _DOCTEST_ANON_FUNC_2() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x155CF5: doctest::Context::run() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x128C65: main (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219== 
==162219== Invalid read of size 8
==162219==    at 0x483D937: memmove (vg_replace_strmem.c:1271)
==162219==    by 0x4854DD4: ncplane_dup (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/libnotcurses.so.1.2.4)
==162219==    by 0x197E49: _DOCTEST_ANON_FUNC_2() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x155CF5: doctest::Context::run() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x128C65: main (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==  Address 0x84418a0 is 16 bytes after a block of size 138,240 alloc'd
==162219==    at 0x4838B65: calloc (vg_replace_malloc.c:762)
==162219==    by 0x485351D: ncplane_create (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/libnotcurses.so.1.2.4)
==162219==    by 0x4857586: notcurses_init (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/libnotcurses.so.1.2.4)
==162219==    by 0x196320: _DOCTEST_ANON_FUNC_2() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x155CF5: doctest::Context::run() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x128C65: main (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219== 
==162219== Invalid write of size 8
==162219==    at 0x483D93B: memmove (vg_replace_strmem.c:1271)
==162219==    by 0x4854DD4: ncplane_dup (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/libnotcurses.so.1.2.4)
==162219==    by 0x197E49: _DOCTEST_ANON_FUNC_2() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x155CF5: doctest::Context::run() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x128C65: main (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==  Address 0x86e4690 is 16 bytes after a block of size 138,240 alloc'd
==162219==    at 0x4838B65: calloc (vg_replace_malloc.c:762)
==162219==    by 0x485351D: ncplane_create (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/libnotcurses.so.1.2.4)
==162219==    by 0x4854D2C: ncplane_dup (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/libnotcurses.so.1.2.4)
==162219==    by 0x197E49: _DOCTEST_ANON_FUNC_2() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x155CF5: doctest::Context::run() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x128C65: main (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219== 
==162219== Invalid read of size 8
==162219==    at 0x483D93F: memmove (vg_replace_strmem.c:1271)
==162219==    by 0x4854DD4: ncplane_dup (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/libnotcurses.so.1.2.4)
==162219==    by 0x197E49: _DOCTEST_ANON_FUNC_2() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x155CF5: doctest::Context::run() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x128C65: main (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==  Address 0x84418a8 is 24 bytes after a block of size 138,240 in arena "client"
==162219== 
==162219== Invalid write of size 8
==162219==    at 0x483D943: memmove (vg_replace_strmem.c:1271)
==162219==    by 0x4854DD4: ncplane_dup (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/libnotcurses.so.1.2.4)
==162219==    by 0x197E49: _DOCTEST_ANON_FUNC_2() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x155CF5: doctest::Context::run() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x128C65: main (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==  Address 0x86e4698 is 24 bytes after a block of size 138,240 in arena "client"
==162219== 
==162219== Conditional jump or move depends on uninitialised value(s)
==162219==    at 0x4839C65: strlen (vg_replace_strmem.c:461)
==162219==    by 0x485A161: cellcmp_and_dupfar (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/libnotcurses.so.1.2.4)
==162219==    by 0x485AD86: paint (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/libnotcurses.so.1.2.4)
==162219==    by 0x485D6CF: notcurses_render (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/libnotcurses.so.1.2.4)
==162219==    by 0x197F75: _DOCTEST_ANON_FUNC_2() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x155CF5: doctest::Context::run() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x128C65: main (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219== 
==162219== Conditional jump or move depends on uninitialised value(s)
==162219==    at 0x4839C78: strlen (vg_replace_strmem.c:461)
==162219==    by 0x485A161: cellcmp_and_dupfar (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/libnotcurses.so.1.2.4)
==162219==    by 0x485AD86: paint (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/libnotcurses.so.1.2.4)
==162219==    by 0x485D6CF: notcurses_render (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/libnotcurses.so.1.2.4)
==162219==    by 0x197F75: _DOCTEST_ANON_FUNC_2() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x155CF5: doctest::Context::run() (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219==    by 0x128C65: main (in /home/dank/src/dankamongmen/notcurses-1.2.4/build/notcurses-tester)
==162219== 

there we go

@dankamongmen
Copy link
Owner Author

ALLOCATED 138240 at 0x74e6e50
ALLOCATED 138240 at 0x7789f90
COPYING 186624 from 0x74e6e50 to 0x7789f90

you fucked up

dankamongmen added a commit that referenced this issue Mar 29, 2020
@dankamongmen
Copy link
Owner Author

Resolved a horrible typo in ncplane_dup().

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant