Skip to contentSkip to conversation

running ir-keytable with v4l-utils 0.8.9

segfault Wojciech Myrda 2 participants 5 messages Oct 14, 2012 – Nov 4, 2012 Media (V4L/DVB)

lore
Share & tools
lore
#0 lore raw

On my system I have just installed using bumped Gentoo ebuilds v4l-utils package

[ebuild   R    ] media-libs/libv4l-0.8.9::bigvo  0 kB
[ebuild   R    ] media-tv/v4l-utils-0.8.9::bigvo  USE="-qt4" 0 kB

ebuilds used for bumbing to version 0.8.9:
http://gentoo-portage.com/media-libs/libv4l/libv4l-0.8.8
http://gentoo-portage.com/media-tv/v4l-utils/v4l-utils-0.8.8-r1

However I experienced a segfault trying to run this command:
ir-keytable --protocol=rc-6 --device /dev/input/by-id/usb-15c2_0038-event-if00

Trace I got in gdb:

gdb ir-keytable core
GNU gdb (Gentoo 7.5 p1) 7.5
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.gentoo.org/>...
Reading symbols from /usr/bin/ir-keytable...done.
[New LWP 11090]

warning: Could not load shared library symbols for linux-vdso.so.1. Do you need "set solib-search-path" or "set sysroot"? Core was generated by `ir-keytable --protocol=rc-6 --device /dev/input/by-id/usb-15c2_0038-event-if00'.
Program terminated with signal 11, Segmentation fault. #0 0x00007fd1c6bdd410 in __strcpy_chk () from /lib64/libc.so.6 (gdb) bt full
#0 0x00007fd1c6bdd410 in __strcpy_chk () from /lib64/libc.so.6 No symbol table info available.
#1 0x00000000004037bc in strcpy (__src=<optimized out>, __dest=0x7fff0a823010 "")

    at /usr/include/bits/string3.h:105

No locals.
#2 v1_set_hw_protocols (rc_dev=<optimized out>) at keytable.c:758
fp = <optimized out>
name = '\000' <repeats 1480 times>, "`\327\350\306\321\177",
'\000' <repeats 75 times>,
"p\031\000\000\000\000\000~m\031\000\000\000\000\000~m\031", '\000'
<repeats 13 times>, "\005\000\000\000\000\000\000\000\000p9\000\000\000\000\000\000\320\071\000\000\000\000\000X\307\071\000\000\000\000\000`\f:\000\000\000\000\000\000p\031\000\000\000\000\000\003", '\000' <repeats 271 times>, "@F\n\307\321\177\000\000/\000\000\000\000\000\000\000\215\027\351\306\321\177\000\000\000\000\000\000\000\000\000\000\t\000\000\000\000\000\000\000\021\000\000\000\000\000\000\000\001", '\000' <repeats 23 times>, "p9\202\n\377\177\000\000\031\024\351\306\321\177\000\000\001\000\000\000\000\000\000\000XF\n\307\321\177\000\000p9\202\n\377\177\000\000\265\326\350\306\321\177", '\000' <repeats 26 times>...
#3 0x00000000004019af in set_proto (rc_dev=0x7fff0a824030) at
keytable.c:1153

        rc = 0
#4  main (argc=<optimized out>, argv=<optimized out>) at keytable.c:1531
        dev_from_class = <optimized out>
        write_cnt = 0
        fd = 3
        names = 0x0
        rc_dev = {sysfs_name = 0x0, input_name = 0x7fd1c70a74e0
"@t\n\307\321\177",
          drv_name = 0x0,
          keytable_name = 0x100000000 <Address 0x100000000 out of bounds>,
          version = (unknown: 3339351856), type = (SOFTWARE_DECODER |
unknown: 32720),
          supported = 4196936, current = RC_6}

------
ir-keytable
Found /sys/class/rc/rc0/ (/dev/input/event12) with:
Driver imon, table rc-imon-pad Supported protocols: RC-6 other
Enabled protocols:
Repeat delay = 500 ms, repeat period = 125 ms
------
dmesg |grep imon

[    4.783532] Registered IR keymap rc-imon-pad
[    4.789794] imon 9-3:1.0: iMON device (15c2:0038, intf0) on usb<9:2>
initialized
[    4.789849] imon 9-3:1.1: iMON device (15c2:0038, intf1) on usb<9:2>
initialized
[    4.789885] usbcore: registered new interface driver imon

Please take a look what might be wrong here

Regards,
Wojciech Myrda

#1 lore raw

Hello,

Quoted 6 lines · Wojciech Myrda

On my system I have just installed using bumped Gentoo ebuilds v4l-utils package

[ebuild   R    ] media-libs/libv4l-0.8.9::bigvo  0 kB
[ebuild   R    ] media-tv/v4l-utils-0.8.9::bigvo  USE="-qt4" 0 kB
Quoted 7 lines

ebuilds used for bumbing to version 0.8.9:
http://gentoo-portage.com/media-libs/libv4l/libv4l-0.8.8
http://gentoo-portage.com/media-tv/v4l-utils/v4l-utils-0.8.8-r1

However I experienced a segfault trying to run this command:
ir-keytable --protocol=rc-6 --device /dev/input/by-id/usb-15c2_0038-event-if00

There seems to be some problems with options or file parsing. Valgrind is complaining, too. I'll have a look later.

Is this segfault a regression over an older v4l-utils version?

Thanks,
Gregor

#2 lore raw

W dniu 16.10.2012 09:20, Gregor Jasny pisze:

Quoted 17 lines

Hello,

Quoted 6 lines · Wojciech Myrda

On my system I have just installed using bumped Gentoo ebuilds v4l-utils package

[ebuild   R    ] media-libs/libv4l-0.8.9::bigvo  0 kB
[ebuild   R    ] media-tv/v4l-utils-0.8.9::bigvo  USE="-qt4" 0 kB
Quoted 7 lines

ebuilds used for bumbing to version 0.8.9:
http://gentoo-portage.com/media-libs/libv4l/libv4l-0.8.8
http://gentoo-portage.com/media-tv/v4l-utils/v4l-utils-0.8.8-r1

However I experienced a segfault trying to run this command:
ir-keytable --protocol=rc-6 --device /dev/input/by-id/usb-15c2_0038-event-if00

Quoted 8 lines

There seems to be some problems with options or file parsing. Valgrind is complaining, too. I'll have a look later.

Is this segfault a regression over an older v4l-utils version?

Thanks,
Gregor

I just started using v4l-utils stuff so I wanted to use most recent version available, hence I didn't try 0.8.8 previously, but seems problem is there as well just with different lines of code appearing

mediapc@mediapc ~ $ gdb ir-keytable core
GNU gdb (Gentoo 7.5 p1) 7.5
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.gentoo.org/>...
Reading symbols from /usr/bin/ir-keytable...done.
[New LWP 1094]

warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
Core was generated by `ir-keytable --protocol=rc-6 --device
/dev/input/by-id/usb-15c2_0038-event-if00'.
Program terminated with signal 11, Segmentation fault.
#0 0x00007f95eaf04410 in __strcpy_chk () from /lib64/libc.so.6
(gdb) bt full
#0 0x00007f95eaf04410 in __strcpy_chk () from /lib64/libc.so.6
No symbol table info available.
#1 0x000000000040365c in strcpy (__src=<optimized out>,
__dest=0x7fff36b958e0 "") at /usr/include/bits/string3.h:105
No locals.
#2 v1_set_hw_protocols (rc_dev=<optimized out>) at keytable.c:744
fp = <optimized out>
name = '\000' <repeats 1480 times>, "`G\033\353\225\177", '\000'
<repeats 75 times>,
"p\031\000\000\000\000\000~m\031\000\000\000\000\000~m\031", '\000'
<repeats 13 times>, "\005\000\000\000\000\000\000\000\000p9\000\000\000\000\000\000\320\071\000\000\000\000\000X\307\071\000\000\000\000\000`\f:\000\000\000\000\000\000p\031\000\000\000\000\000\003", '\000' <repeats 271 times>, "@\266<\353\225\177\000\000/\000\000\000\000\000\000\000\215\207\033\353\225\177\000\000\000\000\000\000\000\000\000\000\t\000\000\000\000\000\000\000\021\000\000\000\000\000\000\000\001", '\000' <repeats 23 times>, "@b\271\066\377\177\000\000\031\204\033\353\225\177\000\000\001\000\000\000\000\000\000\000X\266<\353\225\177\000\000@b\271\066\377\177\000\000\265F\033\353\225\177", '\000' <repeats 26 times>...
#3 0x00000000004019af in set_proto (rc_dev=0x7fff36b96900) at
keytable.c:1119

        rc = 0
#4  main (argc=<optimized out>, argv=<optimized out>) at keytable.c:1497
        dev_from_class = <optimized out>
        write_cnt = 0
        fd = 3
        names = 0x0
        rc_dev = {sysfs_name = 0x0, input_name = 0x7f95eb3ce4e0
"@\344<\353\225\177", drv_name = 0x0, keytable_name = 0x100000000
<Address 0x100000000 out of bounds>,
          version = (unknown: 3946637104), type = (SOFTWARE_DECODER |

unknown: 32660), supported = 4196936, current = RC_6}

Regards,
Wojciech

#3 lore raw
In reply to Wojciech Myrda

Hello Mauro,

Quoted 11 lines · Wojciech Myrda

However I experienced a segfault trying to run this command:
ir-keytable --protocol=rc-6 --device /dev/input/by-id/usb-15c2_0038-event-if00

Trace I got in gdb:
Program terminated with signal 11, Segmentation fault. #0 0x00007fd1c6bdd410 in __strcpy_chk () from /lib64/libc.so.6 (gdb) bt full
#0 0x00007fd1c6bdd410 in __strcpy_chk () from /lib64/libc.so.6 No symbol table info available.
#1 0x00000000004037bc in strcpy (__src=<optimized out>, __dest=0x7fff0a823010 "")

Quoted 4 lines
    at /usr/include/bits/string3.h:105

No locals.
#2 v1_set_hw_protocols (rc_dev=<optimized out>) at keytable.c:758 #3 0x00000000004019af in set_proto (rc_dev=0x7fff0a824030) at keytable.c:1153

I looked at the crash and it seems that the rc_dev structure is not initialized when a device name is set on the command line. Could you please take a look?

Thanks,
Gregor

#4 lore raw

Hello,

Quoted 3 lines · Gregor Jasny

I looked at the crash and it seems that the rc_dev structure is not initialized when a device name is set on the command line. Could you please take a look?

I filed this as a Fedora bug report so that it does not get lost:
https://bugzilla.redhat.com/show_bug.cgi?id=872927

Thanks,
Gregor