Re: Illegal instruction error in some versions of valgrind

Steve Edmonds <[email protected]> Tue, 24 Feb 2026 16:22:27 +1300
Newsgroups gmane.comp.debugging.valgrind
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--===============8470431464825366215==
Content-Type: multipart/alternative;
 boundary="------------FPG9Q87ePo8uCCTMGPWMYDUh"
Content-Language: en-GB

This is a multi-part message in MIME format.
--------------FPG9Q87ePo8uCCTMGPWMYDUh
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 27/01/2026 20:17, Paul Floyd via Valgrind-users wrote:
>
> On 27/01/2026 01:06, Steve Edmonds wrote:
>> Hi. I have just joined the group to see if I can resolve a long 
>> standing issue with valgrind on Opensuse.
>> I have been using some accounting software for many years, initially 
>> it ran fine and then at some point it started causing a segmentation 
>> fault.
>>
>> I then started using it with valgrind, successful with some versions 
>> of valgrind and not with others, when it fails I get the following 
>> before termination and core dump.
>>
>> ==199084==  Illegal opcode at address 0x453BC82
>> ==199084==    at 0x453BC82: write_vec (xcb_conn.c:262)
>>
>> Using valgrind from the latest Leap 15.6 and 16.0 repositories fails 
>> (valgrind-3.26.0-355.d_t.2.x86_64.rpm, 3.24.0-150600.3.3.1, 
>> 3.22.0-150600.1.3, 3.24.0-160000.2.2 and 3.25.1-160000.1.1) I do have 
>> the software running successfully with versions 3.25.1-350.d_t.1 (on 
>> Leap 15.6) and 3.13.0-lp150.4.61-x86_64 (on Leap 15.0 in a VM). I am 
>> trying to get to grips with what might determine a successful version 
>> of valgrind, I can no longer locate the rpm for 3.25.1-350.d_t.1 to 
>> try on Leap 16.0 and quite happy to build from source if there is 
>> some configuration in the source that will resolve this issue.
>
> Hi Steve
>
> Trying older Valgrind versions is unlikely solve the problem.
>
> What application are you trying to run under Valgrind? I just tried 
> Valgrind 3.25.1 on openSUSE LEAP 16.0 running kwrite and there were no 
> major issues.
>
> In gdb (with kwrite again) that piece of code looks like
>
> 261     n = *count;
> 262     if (n > IOV_MAX)
> 263 n = IOV_MAX;
>
> Nothing unusual in the assembler, like like it is using SSE instructions.
>
> Can you also post the op-code bytes that Valgrind fails to handle?
>
> Lastly, have you built your own copy of libxcb.so.1? If so, did you 
> use any GCC options like -march? There are a few amd64 CPU features 
> that like AVX512 that Valgrind does not support.
>
> Regards
>
> Paul
Hi Paul.
Are the op-code bytes in the information below?
I have not built my own copy of libxcb.so.1

On Leap 16.0 I get the following, the application fails to load. 
valgrind installed is 3.25.1-160000.1.1. Same for X11 and Wayland

steve@linux-qw83:~> valgrind quasar
==18853== Memcheck, a memory error detector
==18853== Copyright (C) 2002-2024, and GNU GPL'd, by Julian Seward et al.
==18853== Using Valgrind-3.25.1 and LibVEX; rerun with -h for copyright info
==18853== Command: quasar
==18853==
vex x86->IR: unhandled instruction bytes: 0x66 0xF 0x38 0x39
==18853== valgrind: Unrecognised instruction at address 0x453bc82.
==18853==    at 0x453BC82: UnknownInlinedFun (xcb_conn.c:262)
==18853==    by 0x453BC82: _xcb_conn_wait.part.0 (xcb_conn.c:553)
==18853==    by 0x453BF4C: UnknownInlinedFun (xcb_out.c:469)
==18853==    by 0x453BF4C: _xcb_out_send (xcb_out.c:470)
==18853==    by 0x453EE4A: UnknownInlinedFun (xcb_conn.c:166)
==18853==    by 0x453EE4A: xcb_connect_to_fd (xcb_conn.c:385)
==18853==    by 0x453F909: xcb_connect_to_display_with_auth_info 
(xcb_util.c:565)
==18853==    by 0x453FA3D: xcb_connect (xcb_util.c:522)
==18853==    by 0x40DADAA: _XConnectXCB (xcb_disp.c:78)
==18853==    by 0x40CC3FA: XOpenDisplay (OpenDis.c:129)
==18853==    by 0x86EEFE2: qt_init_internal__FPiPPcP9_XDisplayUlUl (in 
/opt/quasar/bin/quasar)
==18853==    by 0x86EFF83: qt_init__FPiPPcQ212QApplication4Type (in 
/opt/quasar/bin/quasar)
==18853==    by 0x873145B: 
construct__12QApplicationRiPPcQ212QApplication4Type (in 
/opt/quasar/bin/quasar)
==18853==    by 0x87312F7: __12QApplicationRiPPc (in /opt/quasar/bin/quasar)
==18853==    by 0x818B585: main (in /opt/quasar/bin/quasar)

On Leap 15.0 running in a VM.
I get the following where the application runs ok.
  steve@linux-b1cb:~> valgrind quasar
==9455== Memcheck, a memory error detector
==9455== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==9455== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==9455== Command: quasar
==9455==

On Leap 15.6 the application loads, the installed valgrind is 
3.25.1-350.d_t.1
steve@rnd2:~> valgrind quasar
==6438== Memcheck, a memory error detector
==6438== Copyright (C) 2002-2024, and GNU GPL'd, by Julian Seward et al.
==6438== Using Valgrind-3.25.1 and LibVEX; rerun with -h for copyright info
==6438== Command: quasar

I am not sure where to start to debug this.
This application has worked on and off with valgrind from before Leap 
42.3. Some times it wouldn't work, then there would be an update to 
valgrind and it would work so I would stick with that version until 
until a distribution update and go through it all again.

Cheers,
Steve

--------------FPG9Q87ePo8uCCTMGPWMYDUh
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <br>
    <br>
    <div class="moz-cite-prefix">On 27/01/2026 20:17, Paul Floyd via
      Valgrind-users wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:[email protected]"> <br>
      On 27/01/2026 01:06, Steve Edmonds wrote: <br>
      <blockquote type="cite">Hi. I have just joined the group to see if
        I can resolve a long standing issue with valgrind on Opensuse. <br>
        I have been using some accounting software for many years,
        initially it ran fine and then at some point it started causing
        a segmentation fault. <br>
        <br>
        I then started using it with valgrind, successful with some
        versions of valgrind and not with others, when it fails I get
        the following before termination and core dump. <br>
        <br>
        ==199084==  Illegal opcode at address 0x453BC82 <br>
        ==199084==    at 0x453BC82: write_vec (xcb_conn.c:262) <br>
        <br>
        Using valgrind from the latest Leap 15.6 and 16.0 repositories
        fails (valgrind-3.26.0-355.d_t.2.x86_64.rpm,
        3.24.0-150600.3.3.1, 3.22.0-150600.1.3, 3.24.0-160000.2.2 and
        3.25.1-160000.1.1) I do have the software running successfully
        with versions 3.25.1-350.d_t.1 (on Leap 15.6) and
        3.13.0-lp150.4.61-x86_64 (on Leap 15.0 in a VM). I am trying to
        get to grips with what might determine a successful version of
        valgrind, I can no longer locate the rpm for 3.25.1-350.d_t.1 to
        try on Leap 16.0 and quite happy to build from source if there
        is some configuration in the source that will resolve this
        issue. <br>
      </blockquote>
      <br>
      Hi Steve <br>
      <br>
      Trying older Valgrind versions is unlikely solve the problem. <br>
      <br>
      What application are you trying to run under Valgrind? I just
      tried Valgrind 3.25.1 on openSUSE LEAP 16.0 running kwrite and
      there were no major issues. <br>
      <br>
      In gdb (with kwrite again) that piece of code looks like <br>
      <br>
      261     n = *count; <br>
      262     if (n &gt; IOV_MAX) <br>
      263 n = IOV_MAX; <br>
      <br>
      Nothing unusual in the assembler, like like it is using SSE
      instructions. <br>
      <br>
      Can you also post the op-code bytes that Valgrind fails to handle?
      <br>
      <br>
      Lastly, have you built your own copy of libxcb.so.1? If so, did
      you use any GCC options like -march? There are a few amd64 CPU
      features that like AVX512 that Valgrind does not support. <br>
      <br>
      Regards <br>
      <br>
      Paul</blockquote>
    Hi Paul.<br>
    Are the op-code bytes in the information below?<br>
    I have not built my own copy of libxcb.so.1<br>
    <br>
    On Leap 16.0 I get the following, the application fails to load.
    valgrind installed is 3.25.1-160000.1.1. Same for X11 and Wayland<br>
    <br>
    <span style="font-family:monospace"><span
        style="color:#000000;background-color:#ffffff;">steve@linux-qw83:~&gt;
        valgrind quasar</span><span
        style="color:#000000;background-color:#ffffff;"> </span><br>
      <span style="color:#000000;background-color:#ffffff;">==18853==
        Memcheck, a memory error detector</span><span
        style="color:#000000;background-color:#ffffff;"> </span><br>
      <span style="color:#000000;background-color:#ffffff;">==18853==
        Copyright (C) 2002-2024, and GNU GPL'd, by Julian Seward et al.</span><span
        style="color:#000000;background-color:#ffffff;"> </span><br>
      <span style="color:#000000;background-color:#ffffff;">==18853==
        Using Valgrind-3.25.1 and LibVEX; rerun with -h for copyright
        info</span><span style="color:#000000;background-color:#ffffff;">
      </span><br>
      <span style="color:#000000;background-color:#ffffff;">==18853==
        Command: quasar</span><span
        style="color:#000000;background-color:#ffffff;"> </span><br>
      <span style="color:#000000;background-color:#ffffff;">==18853== </span><span
        style="color:#000000;background-color:#ffffff;"> </span><br>
      <span style="color:#000000;background-color:#ffffff;">vex
        x86-&gt;IR: unhandled instruction bytes: 0x66 0xF 0x38 0x39</span><span
        style="color:#000000;background-color:#ffffff;"> </span><br>
      <span style="color:#000000;background-color:#ffffff;">==18853==
        valgrind: Unrecognised instruction at address 0x453bc82.</span><span
        style="color:#000000;background-color:#ffffff;"> </span><br>
      <span style="color:#000000;background-color:#ffffff;">==18853==
           at 0x453BC82: UnknownInlinedFun (xcb_conn.c:262)</span><span
        style="color:#000000;background-color:#ffffff;"> </span><br>
      <span style="color:#000000;background-color:#ffffff;">==18853==
           by 0x453BC82: _xcb_conn_wait.part.0 (xcb_conn.c:553)</span><span
        style="color:#000000;background-color:#ffffff;"> </span><br>
      <span style="color:#000000;background-color:#ffffff;">==18853==
           by 0x453BF4C: UnknownInlinedFun (xcb_out.c:469)</span><span
        style="color:#000000;background-color:#ffffff;"> </span><br>
      <span style="color:#000000;background-color:#ffffff;">==18853==
           by 0x453BF4C: _xcb_out_send (xcb_out.c:470)</span><span
        style="color:#000000;background-color:#ffffff;"> </span><br>
      <span style="color:#000000;background-color:#ffffff;">==18853==
           by 0x453EE4A: UnknownInlinedFun (xcb_conn.c:166)</span><span
        style="color:#000000;background-color:#ffffff;"> </span><br>
      <span style="color:#000000;background-color:#ffffff;">==18853==
           by 0x453EE4A: xcb_connect_to_fd (xcb_conn.c:385)</span><span
        style="color:#000000;background-color:#ffffff;"> </span><br>
      <span style="color:#000000;background-color:#ffffff;">==18853==
           by 0x453F909: xcb_connect_to_display_with_auth_info
        (xcb_util.c:565)</span><span
        style="color:#000000;background-color:#ffffff;"> </span><br>
      <span style="color:#000000;background-color:#ffffff;">==18853==
           by 0x453FA3D: xcb_connect (xcb_util.c:522)</span><span
        style="color:#000000;background-color:#ffffff;"> </span><br>
      <span style="color:#000000;background-color:#ffffff;">==18853==
           by 0x40DADAA: _XConnectXCB (xcb_disp.c:78)</span><span
        style="color:#000000;background-color:#ffffff;"> </span><br>
      <span style="color:#000000;background-color:#ffffff;">==18853==
           by 0x40CC3FA: XOpenDisplay (OpenDis.c:129)</span><span
        style="color:#000000;background-color:#ffffff;"> </span><br>
      <span style="color:#000000;background-color:#ffffff;">==18853==
           by 0x86EEFE2: qt_init_internal__FPiPPcP9_XDisplayUlUl (in
        /opt/quasar/bin/quasar)</span><span
        style="color:#000000;background-color:#ffffff;"> </span><br>
      <span style="color:#000000;background-color:#ffffff;">==18853==
           by 0x86EFF83: qt_init__FPiPPcQ212QApplication4Type (in
        /opt/quasar/bin/quasar)</span><span
        style="color:#000000;background-color:#ffffff;"> </span><br>
      <span style="color:#000000;background-color:#ffffff;">==18853==
           by 0x873145B:
        construct__12QApplicationRiPPcQ212QApplication4Type (in
        /opt/quasar/bin/quasar)</span><span
        style="color:#000000;background-color:#ffffff;"> </span><br>
      <span style="color:#000000;background-color:#ffffff;">==18853==
           by 0x87312F7: __12QApplicationRiPPc (in
        /opt/quasar/bin/quasar)</span><span
        style="color:#000000;background-color:#ffffff;"> </span><br>
      <span style="color:#000000;background-color:#ffffff;">==18853==
           by 0x818B585: main (in /opt/quasar/bin/quasar)<br>
      </span></span><br>
    On Leap 15.0 running in a VM.<br>
    I get the following where the application runs ok.<br>
    <font face="monospace"> steve@linux-b1cb:~&gt; valgrind quasar<br>
      ==9455== Memcheck, a memory error detector<br>
      ==9455== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward
      et al.<br>
      ==9455== Using Valgrind-3.13.0 and LibVEX; rerun with -h for
      copyright info<br>
      ==9455== Command: quasar<br>
      ==9455== </font><br>
    <br>
    On Leap 15.6 the application loads, the installed valgrind is
    3.25.1-350.d_t.1<br>
    <span style="font-family:monospace"><span
        style="color:#000000;background-color:#ffffff;">steve@rnd2:~&gt;
        valgrind quasar</span><span
        style="color:#000000;background-color:#ffffff;"> </span><br>
      <span style="color:#000000;background-color:#ffffff;">==6438==
        Memcheck, a memory error detector</span><span
        style="color:#000000;background-color:#ffffff;"> </span><br>
      <span style="color:#000000;background-color:#ffffff;">==6438==
        Copyright (C) 2002-2024, and GNU GPL'd, by Julian Seward et al.</span><span
        style="color:#000000;background-color:#ffffff;"> </span><br>
      <span style="color:#000000;background-color:#ffffff;">==6438==
        Using Valgrind-3.25.1 and LibVEX; rerun with -h for copyright
        info</span><span style="color:#000000;background-color:#ffffff;">
      </span><br>
      <span style="color:#000000;background-color:#ffffff;">==6438==
        Command: quasar</span><br>
      <span style="color:#000000;background-color:#ffffff;"> </span><br>
    </span>I am not sure where to start to debug this.<br>
    This application has worked on and off with valgrind from before
    Leap 42.3. Some times it wouldn't work, then there would be an
    update to valgrind and it would work so I would stick with that
    version until until a distribution update and go through it all
    again.<br>
    <br>
    Cheers,<br>
    Steve<br>
    <br>
  </body>
</html>

--------------FPG9Q87ePo8uCCTMGPWMYDUh--


--===============8470431464825366215==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--===============8470431464825366215==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Valgrind-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-users

--===============8470431464825366215==--