[valgrind] [Bug 474160] If errors-for-leak-kinds is specified, exit-on-first-error should only exit on one of the listed errors.

2024-03-03 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=474160

--- Comment #2 from Eyal  ---
Let me know if there's anything that you'd like me to do here!  The patch and
testing is pretty straight-forward.  I think that the new behavior will be more
inline with valgrind user expectation.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2021-03-03 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #16 from Eyal  ---
Created attachment 136346
  --> https://bugs.kde.org/attachment.cgi?id=136346&action=edit
path for expensive greater than comparisons

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2021-03-03 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

Eyal  changed:

   What|Removed |Added

 Attachment #136346|path for expensive greater  |patch for expensive greater
description|than comparisons|than comparisons

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2021-03-04 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #18 from Eyal  ---
>Interesting analysis, and a plausible patch; thank you for that.  This seems
>like a new trick from LLVM.

Thanks.  Yes

>* where's the addition instruction that merges the lanes together?  I don't
>  see that.

It's just beyond the part of the asm that I put in this post.  I didn't include
it because it wasn't relevant to the bug.  Here you go:

   0x00401225 <+213>:   movd   %edx,%xmm2
   0x00401229 <+217>:   punpcklbw %xmm2,%xmm2
   0x0040122d <+221>:   punpcklwd %xmm2,%xmm3
   0x00401231 <+225>:   movzwl 0xa(%rsp,%rsi,1),%edx
   0x00401236 <+230>:   movd   %edx,%xmm2
   0x0040123a <+234>:   punpcklbw %xmm2,%xmm2
   0x0040123e <+238>:   punpcklwd %xmm2,%xmm2
   0x00401242 <+242>:   pxor   %xmm4,%xmm4
   0x00401246 <+246>:   pcmpgtd %xmm3,%xmm4
   0x0040124a <+250>:   psrad  $0x18,%xmm3
   0x0040124f <+255>:   punpckldq %xmm4,%xmm3
   0x00401253 <+259>:   paddq  %xmm0,%xmm3

That last line is the add.

>* what is the purpose of the pcmpgtd instruction?  The original sources
>  contain a scalar comparison against zero

For sign-extension.  Because the numbers are 8-bit characters (char) but the
output is 32-bit signed (int), we need to sign extend the char.  The comparison
of 0>$xmm3 is filling the register with 1s if the number is negative.  The
following psrad does an arithmetic shift, sign extending the negative to fill
the 24-bit difference.  You can see the paddq below it.  I didn't analyze it
too much; I trust the LLVM people know what they're doing.

  if (hp==j) {
j++;
  }

>  Is that related?  If so, how does a scalar 32-bit equality test against zero
>  get translated into a vector 32x4 signed-greater-than operation?

Later in the code the vector eventually gets collapsed into a single value,
like we need.  This comparison is what causes the error because memcheck only
reports the error when the value gets used in a branch, not when it's created.

I could have also returned the sum; that would have worked as well.

---

>In the patch, there's mention of biasing:
>
>+  // From here on out, we're dealing with biased integers instead of 2's
>+  // complement.
>
>What does that mean, in this context?

Probably just bad wording on my part.  What I should have just said is that the
MSB of a signed number is 0 for positive and 1 for negative so to get the max
or min value, we need to invert the MSB with xor.  Or another way to think
about it is that we convert the number space from 2's complement, where the
0x00 is 0 and 0xff is -1, to a "biased" space where 0x00 is -128, 0x7f is -1,
0x80 is 0, 0x81 is 1, all the way up to 0xff which is 127.  Each number is
stored in bits as it's value +128. Writing numbers that way fixes the problem
of 2's complement were a 1 in the MSB is *less* than a 0 in the MSB.

I will remove the confusing explanation and instead just mention the MSB thing.

>* you put it in memcheck/tests/x86; "x86" here means 32-bit only.  Is that
>  what you intended?  I would have expected it to go in the "amd64" directory.

I'll fix that.

>* because the test is written in C, whether or not it tests what you expect it
>  to test depends entirely on the compiler used to compile it.  And most
>  likely, it won't be vectorised, or won't be vectorised in the same way.
>  This kind of test really needs to be written in assembly (inline assembly)
>  so we know what we're testing.

Yes.  For that reason I put the binary in the patch!  That was bad.  I'll use
asm instructions.  I had a bad time with them when I was debugging but I'll
figure it out.  Also, I'll be able to test more of the edge cases.

There were bugs in the original patch anyway.  It's a delicate bit of code.

Because it's only for Intel SSE2 processors, if I put the test in the amd64
directory, is that enough to ensure that only the SSE2-enabled chips will run
the test?

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2021-03-04 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

Eyal  changed:

   What|Removed |Added

 Attachment #136346|0   |1
is obsolete||

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2021-03-04 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #19 from Eyal  ---
Comment on attachment 136346
  --> https://bugs.kde.org/attachment.cgi?id=136346
patch for expensive greater than comparisons

Obsolete now.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2021-03-04 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #20 from Eyal  ---
Created attachment 136381
  --> https://bugs.kde.org/attachment.cgi?id=136381&action=edit
patch with tests

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2021-03-09 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #21 from Eyal  ---
Will anyone consider the patch?  There might be a lot of false positives out
there now that clang is doing this optimization and it would be nice to catch
them before many users waste a lot of time on this.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2021-03-10 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #23 from Eyal  ---
Generalizing the patch to handle different bit widths would be easy. In fact,
that's why I wrote it using a switch statement with just one case. To
generalize it you just need to add cases into the switch statement. Pretty
easy.

Another generalization that you didn't mention is covering not just
greater-than but also less-than and equality.

I didn't code up all those alternatives because there are no such opcodes in
x86 SSE2. So even if I did it, I couldn't test it.

If there are bug reports around vector equality, let me know! I think that I
understand this part of the code pretty well by now and also how to test it so
I could be helpful there. Send links.

I discovered this bug because the CI system on GitHub upgraded clang to v10 and
it broke my testing. As more operating systems upgrade their compiler, there
will be more and more of these errors.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2021-03-10 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #24 from Eyal  ---
Created attachment 136575
  --> https://bugs.kde.org/attachment.cgi?id=136575&action=edit
patch that supports pcmpgtX for 64/32/16/8 bit

This one is more complex but it supports all the different pcmpgt* instructions
in x86.  The 8-bit one is a little strange, though.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2021-03-11 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #25 from Eyal  ---
Created attachment 136599
  --> https://bugs.kde.org/attachment.cgi?id=136599&action=edit
patch that supports pcmpgtX for 64/32/16/8 bit testing all lanes and using
templates

This one uses c++ in the test only.  It is a much more thorough test because it
tests all lanes of the SIMD register.  It uses templates so the code is
smaller.

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 472881] Grouping/Versioning: add grouping by filename with version

2023-08-04 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=472881

Eyal  changed:

   What|Removed |Added

Summary|Grouping/Versioning: add|Grouping/Versioning: add
   |grouping by filename with   |grouping by filename with
   |versioning  |version

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 472879] Grouping: add Group to main Items menu

2023-08-04 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=472879

--- Comment #2 from Eyal  ---
Two additional advantages:
1. As Maik has pointed out (in another bug), main-menu items are available as
toolbar actions (ie. can be added as toolbar buttons).
2. Similarly, main-menu items can be assigned keyboard shortcuts.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2023-09-03 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #51 from Eyal  ---
I'll take a look.

I gotta say, this patch is super annoying.  I've been working on it for 2.5
years now?  Instead of github, emails.  And no CI.  :-(  I've resorted to my
own personal branch of valgrind with all my fixes.

I'll make one last push here.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2023-09-03 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #52 from Eyal  ---
Y'all need CI, I can't even build the master branch.  :-(

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2023-09-03 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #54 from Eyal  ---
(In reply to Mark Wielaard from comment #53)
> (In reply to Eyal from comment #52)
> > Y'all need CI, I can't even build the master branch.  :-(
> 
> We do have CI against various distros and arches:
> https://builder.sourceware.org/buildbot/#/builders?tags=valgrind
> And although some tests are failing it does seem to build everywhere.
> What is wrong with the build for you? How does it fail?

Good to know that there is CI.

I'm bisecting the build failure now...

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2023-09-03 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #55 from Eyal  ---
(In reply to Eyal from comment #54)
> (In reply to Mark Wielaard from comment #53)
> > (In reply to Eyal from comment #52)
> > > Y'all need CI, I can't even build the master branch.  :-(
> > 
> > We do have CI against various distros and arches:
> > https://builder.sourceware.org/buildbot/#/builders?tags=valgrind
> > And although some tests are failing it does seem to build everywhere.
> > What is wrong with the build for you? How does it fail?
> 
> Good to know that there is CI.
> 
> I'm bisecting the build failure now...

Alright, it was just that I forgot to run autogen.sh.  It's fine now.

I can't get those failing sse tests to even build.  Is it possible that my
reasonably-modern computer doesn't support sse2?  When I run make in the
directory memcheck/tests/x86, nothing gets built!  How do I fix this?

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2023-09-03 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #56 from Eyal  ---
I was able to get the tests to build and pass on master by running `sudo
apt-get install libc6-dbg:i386` and `sudo apt-get remove libc6-dbg`.  I guess
that this is an x86 and not amd64 problem only?  

I'm able to reproduce the problem now and I'll try to figure out what's going
on!

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2023-09-03 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #57 from Eyal  ---
I've identified the problem and I hope to have a solution, soon.  It is based
on a similar solution for AMD64.  Both platforms to not have an xmm shift with
lane size of 8.  I'll update the patch and also add test cases for x86.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2023-09-04 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

Eyal  changed:

   What|Removed |Added

 Attachment #139036|0   |1
is obsolete||

--- Comment #58 from Eyal  ---
Created attachment 161402
  --> https://bugs.kde.org/attachment.cgi?id=161402&action=edit
c++ patch that supports pcmpgtX for 64/32/16/8 bit testing all lanes and using
templates

I fixed support for x86.  To test for x86 on an amd64 computer, run these:

sudo apt-get install gcc-multilib g++-multilib
sudo apt-get install libc6-dbg:i386   
sudo apt-get remove libc6-dbg

And then recompile and run tests.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 474160] New: If errors-for-leak-kinds is specified, exit-on-first-error should only exit on one of the listed errors.

2023-09-04 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=474160

Bug ID: 474160
   Summary: If errors-for-leak-kinds is specified,
exit-on-first-error should only exit on one of the
listed errors.
Classification: Developer tools
   Product: valgrind
   Version: 3.22 GIT
  Platform: Other
OS: Linux
Status: REPORTED
  Severity: wishlist
  Priority: NOR
 Component: memcheck
  Assignee: jsew...@acm.org
  Reporter: eyals...@gmail.com
  Target Milestone: ---

SUMMARY
***
 `exit-on-first-error` should *not* exit on any error that is not listed in the
`errors-for-leak-kinds` list.
***

STEPS TO REPRODUCE
1. Build and install in the usual way: ./autogen.sh && ./configure
--prefix=$HOME/.local && make -j 20 && make -j 20 check && make install
2. From root directory of valgrind, run: valgrind --error-exitcode=127
--errors-for-leak-kinds=definite --leak-check=full -s --exit-on-first-error=yes
memcheck/tests/leak-cases

OBSERVED RESULT

Despite setting errors-for-leak-kinds to "definite", the test is exiting on a
non-"definite" leak.

EXPECTED RESULT

The test should only exit on leak types listed in the errors-for-leak-kinds. 
If that list is empty only then should it exit on all types of leaks.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma:  3.22 git commit c086bbdd6

ADDITIONAL INFORMATION

More details here:
https://github.com/eyal0/valgrind/pull/5#issuecomment-1705724572
Working fix with unit test here: https://github.com/eyal0/valgrind/pull/5/files

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 474160] If errors-for-leak-kinds is specified, exit-on-first-error should only exit on one of the listed errors.

2023-09-04 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=474160

--- Comment #1 from Eyal  ---
Created attachment 161405
  --> https://bugs.kde.org/attachment.cgi?id=161405&action=edit
patch with working code and unit test

This fixes the issue and adds a unit test.  Also here:
https://github.com/eyal0/valgrind/pull/5/files

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2023-09-05 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

Eyal  changed:

   What|Removed |Added

 Attachment #136381|0   |1
is obsolete||
 Attachment #136575|0   |1
is obsolete||
 Attachment #161402|0   |1
is obsolete||

--- Comment #60 from Eyal  ---
Created attachment 161418
  --> https://bugs.kde.org/attachment.cgi?id=161418&action=edit
c++ patch that supports pcmpgtX for 64/32/16/8 bit testing all lanes and using
templates

Re-made the amd64 expected output.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2023-09-05 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #61 from Eyal  ---
(In reply to Paul Floyd from comment #59)
> You forgot to update the expecteds (I saw that just the line numbers have
> changed), and I had to convert the text .cpp files into symlinks (does Linux
> / GCC accept a plain text .cpp file that just contains a path?).
> 
> On FreeBSD 13.2 amd64 with clang 14 I get
> 
> == 830 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0
> stdoutB failures, 0 post failures ==

Right you are!  I made the patch again:
https://bugs.kde.org/attachment.cgi?id=161418

It is normal for git to store a symlink as a small file with just a path in it.
 Did you apply the patch using `git am` or using `patch`?  I created the patch
using `git format-patch` and if you apply it with `git am` then it should
properly handle the symlink.

-- 
You are receiving this mail because:
You are watching all bug changes.

[dolphin] [Bug 462443] Crash when renaming a file

2024-02-06 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=462443

--- Comment #2 from Eyal  ---
(In reply to Akseli Lahtinen from comment #1)
> Have you encountered this bug again on newer version of dolphin?
> 
> Also if you have, can you send a backtrace with debug symbols:
> https://community.kde.org/Guidelines_and_HOWTOs/Debugging/
> How_to_create_useful_crash_reports#Arch_Linux

No, I no longer encounter this issue.

-- 
You are receiving this mail because:
You are watching all bug changes.

[dolphin] [Bug 462443] Crash when renaming a file

2024-02-06 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=462443

Eyal  changed:

   What|Removed |Added

 Status|NEEDSINFO   |RESOLVED
 Resolution|WAITINGFORINFO  |FIXED

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2021-02-24 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

Eyal  changed:

   What|Removed |Added

 CC||eyals...@gmail.com

--- Comment #5 from Eyal  ---
I have been getting a report about "Conditional jump or move depends on
uninitialised value(s)" in the project pcb2gcode that only happens on clang and
not gcc, like this one.

My bug started when github continuous integration switched from clang version 9
to clang version 10.

On a hunch, I tried this code with both old and new clang.  It's the same here:
old clang does not report an error but new clang does.

gcc: no error
clang version 7: no error
clang version 10: error

Not sure if that's useful to you in debugging.  You might compare disassembly
of different versions of clang.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2021-02-25 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #6 from Eyal  ---
Here's one that also fails but with a different error:

==12859== Syscall param exit_group(status) contains uninitialised byte(s)
==12859==at 0x492F9D6: _Exit (_exit.c:31)
==12859==by 0x48A2E89: __run_exit_handlers (exit.c:132)
==12859==by 0x48A2EB9: exit (exit.c:139)
==12859==by 0x488D0A1: (below main) (libc-start.c:342)
==12859==  Uninitialised value was created by a stack allocation
==12859==at 0x401030: ??? (in /tmp/a.out)

// clang -W -Wall -g -O2 Standalone.c && valgrind --track-origins=yes ./a.out

#include 
#include 

int main()
{
{
struct sigaction act;
if (sigaction(SIGTERM, 0, &act) < 0) {
  return 1;
}
if (sigaction(SIGTERM, 0, &act) < 0) {
  return 1;
}
}

char pattern[] = "123456786";
pattern[2] = '4';
const unsigned long plen = strlen(pattern);
size_t hp=0;
for (size_t i = 1; i < plen; ++i)
hp += pattern[i];
if (hp)
  return 1;

return 0;
}

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2021-02-25 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #7 from Eyal  ---
It seems that the issue is the loop.  When the length of pattern is more than
8, the code runs a routine that is able to sum 8 chars at a time.  It uses xmm
for this.  It only enters that code if the number of bytes to sum is at least
8.

I'm not sure why removing the call to sigaction matters.  Maybe it's an
alignment issue?

Removing the `pattern[0] = '1'` allows the compiler to figure out that the
pattern is a constant and the whole thing gets evaluated at compile-time, as if
constexpr.  That explains why the line is necessary to cause the bug.

The routine to sum 8 bytes at once seems really long to me but I guess clang
has decided that it's faster than doing extra jumps.  If I can figure out how
to have valgrind display the bit-validity values during processing, maybe I can
see which instruction is getting instrumented incorrectly.

I feel that this is a valgrind bug, not a clang bug.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2021-02-25 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #8 from Eyal  ---
Even vgdb isn't helping me.  Here's the code that I'm using:

#include 
#include 
#include 
#include 

int main()
{
  struct sigaction act;
  if (sigaction(SIGTERM, 0, &act) == 1) {
return 12;
  }
  if (sigaction(SIGTERM, 0, &act) == 1) {
return 12;
  }

  char pattern[] = "0123456789";
pattern[8] = 0;
const unsigned long plen = strlen(pattern);
size_t hp=0;
for (size_t i = 0; i < plen; ++i)
hp += pattern[i];
volatile int j = 0;
if (hp==j) {
  j++;
}
return 1;
}

If I switch the pattern[8] with pattern[9] then the output is nearly identical
but it fails a memcheck test in valgrind.

I used vgdb to step through the code and I'm seeing strange behavior.  In the
code, there are two instances of movq to an xmm register:

   0x004011ff <+191>:   je 0x4012c8 
   0x00401205 <+197>:   mov%rbx,%rdi
   0x00401208 <+200>:   sub%rsi,%rdi
   0x0040120b <+203>:   movq   %r8,%xmm0

and

   0x004012c8 <+392>:   movq   %r8,%xmm0


Identical instructions.  Depending on the pattern[] line above, either the jump
is taken or not.  In either case, eventually there is a movq from register r8
into xmm0.

In the working case, I see that $r8 is successfully copied into $xmm0 and the
vbits are all cleared to 0, as it expected.  But in the broken case, the value
is not copied and the vbits are wrong, too!  It might just be wrong when
looking at the result in vgdb because the output is right in the end.

If someone can help me debug this, I'm willing to put in some time.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2021-02-25 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #9 from Eyal  ---
Oops, I spoke to soon.  It's a bug in clang.  Here's code that you can try:

#include 
#include 
#include 
#include 

void foo() {
// Put the garbage number 123 into eax.
// It's caller-saved so no problem.
__asm__ ("lea 123, %eax;");

// xmm variables are all caller-saved, too.
// Fill them with garbage.
__asm__ ("movd %eax, %xmm0");
__asm__ ("punpcklbw %xmm0, %xmm0");
__asm__ ("punpcklbw %xmm0, %xmm0");
__asm__ ("punpcklbw %xmm0, %xmm0");
__asm__ ("punpcklbw %xmm0, %xmm0");

__asm__ ("movd %eax, %xmm1");
__asm__ ("punpcklbw %xmm1, %xmm1");
__asm__ ("punpcklbw %xmm1, %xmm1");
__asm__ ("punpcklbw %xmm1, %xmm1");
__asm__ ("punpcklbw %xmm1, %xmm1");

__asm__ ("movd %eax, %xmm2");
__asm__ ("punpcklbw %xmm2, %xmm2");
__asm__ ("punpcklbw %xmm2, %xmm2");
__asm__ ("punpcklbw %xmm2, %xmm2");
__asm__ ("punpcklbw %xmm2, %xmm2");

__asm__ ("movd %eax, %xmm3");
__asm__ ("punpcklbw %xmm3, %xmm3");
__asm__ ("punpcklbw %xmm3, %xmm3");
__asm__ ("punpcklbw %xmm3, %xmm3");
__asm__ ("punpcklbw %xmm3, %xmm3");

__asm__ ("movd %eax, %xmm4");
__asm__ ("punpcklbw %xmm4, %xmm4");
__asm__ ("punpcklbw %xmm4, %xmm4");
__asm__ ("punpcklbw %xmm4, %xmm4");
__asm__ ("punpcklbw %xmm4, %xmm4");
}

int main() {
  char pattern[] = "0123456789";
  pattern[9] = 0;
  const unsigned long plen = strlen(pattern);
  foo();
  size_t hp=0;
  for (size_t i = 0; i < plen; ++i)
hp += pattern[i];
  volatile int j = 0;
  if (hp==j) {
j++;
  }
  printf("%ld\n", hp);
  return 1;
}

Run this with and without foo commented and see that the results are different.
 No valgrind need.

Testing on godbolt, I see that the bug is present even through clang 11.0.1

https://godbolt.org/z/6s1rTd

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2021-02-26 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #11 from Eyal  ---
I'm back to not being sure if this is an llvm issue.

There are a few things at play here.  One is sigaction(), which can foul up the
the contents of xmm registers, especially xmm3, which is the only register that
isn't specifically cleared out by the loop.

The other issue is clang, which isn't specifically clearing out xmm3 but it
sort of is doing thing that happen to clear it out.  I'm still investigating.

And finally, there is valgrind, which might just not know enough about an
operation in order to determine that, yes, it's legal.

I feel like I'm making progress.  I'll update with more as I go along.

If I do find that it is a memcheck problem in clang, is there someone that can
help me write a software patch for valgrind?

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2021-02-26 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #12 from Eyal  ---
Okay, now I'm back to thinking that it's a valgrind issue.  But it's nothing
that valgrind can fix.  Here's the problematic asm code:

 movd   %edx,%xmm2  (1)
 punpcklbw %xmm2,%xmm2  (2)
 punpcklwd %xmm2,%xmm3  (3)
 movzwl 0xa(%rsp,%rsi,1),%edx
 movd   %edx,%xmm2  (4)
 punpcklbw %xmm2,%xmm2
 punpcklwd %xmm2,%xmm2
 pxor   %xmm4,%xmm4 (5)
 pcmpgtd %xmm3,%xmm4(6)
 psrad  $0x18,%xmm3

This code is some SIMD math that gets made for summing the characters in a
string, like in the original code.  Before this code, the calls to sigaction
have inadvertently fouled up the contents of the xmm registers.  That's okay,
sigaction is allowed to do that because xmm registers are caller-saved.  That
means that if the caller wanted them to have valid info, it was up to the
caller to save and restore them beforehand.  No problem.

For the below explanation, we'll use letters (ABCD) for known bytes, X for
unknown bytes, and 0 for 0 bytes.

(1) is putting a known value into xmm2.  So xmm2 is now well-defined as
ABCD

(2) is bytewise interleaving the value in xmm2 with itself.  So xmm2 is now
AABBCCDD.

(3) is wordwise (16b) interleaving xmm2 with xmm3.  xmm3 is now
AAXXBBXXCCXXDDXX.

(4) notice that xmm2 has been clobbered with a new value.

(5) xmm4 is set to all 0: 

(6) is doing a signed double-word (32-bit) SIMD comparison of xmm3 and xmm4 and
putting the result as a 0 or -1 into xmm4.  If the xmm4 value is bigger than
the xmm3 value, the xmm4 double-word will be filled with ones.  Otherwise,
zero.  The comparison looks like this (MSB-first):

 > AAXX ? -1 : 0
 > BBXX ? -1 : 0
 > CCXX ? -1 : 0
 > DDXX ? -1 : 0

Considering the ABCDs:

  * If they are negative then the MSB is a 1 and zero is greater than all
negative numbers so we don't need to look any further.
  * If they are positive then the whole number is positive and we don't need to
look any further.
  * If they are zero then the number is either 0 or positive.  Either way, 0 is
not greater than a non-negative number so we don't need to look any further.

So as far we're considered, the output here is completely defined!

valgrind memcheck doesn't track values, though, only whether or not a value was
explicitly defined.  So valgrind is seeing this:

QRST > AAXX ? -1 : 0

All the letters (other than X) are defined but valgrind's mechanism doesn't
keep track of whether or not they are zero.  Because it doesn't know that Q is
a 0, it might be that QR match AA!  In which case, the only way to know the
result is to know how ST compares to XX.  And XX is unknown so the result is
unknown.  The "undefinedness" propagates all the way to a branch statement
later in the code which valgrind detects and reports.

---

In (4) above, we see that xmm2 is clobbered quickly after it's use in (1,2,3). 
So why use it anyway?  Also, lots of the other code doesn't use xmm2 as a
scratchpad:

 movd   %edx,%xmm2
 punpcklbw %xmm2,%xmm2
 punpcklwd %xmm2,%xmm2

 movd   %edx,%xmm0
 punpcklbw %xmm0,%xmm0
 punpcklwd %xmm0,%xmm0

 movd   %edx,%xmm1
 punpcklbw %xmm1,%xmm1
 punpcklwd %xmm1,%xmm1

So why not do the same here?

If I write this code and compile it:

void asm_test() {
  __asm__ ("movd %edx, %xmm2");
  __asm__ ("punpcklbw %xmm2, %xmm2");
  __asm__ ("punpcklwd %xmm2, %xmm3");

  __asm__ ("movd %edx, %xmm3");
  __asm__ ("punpcklbw %xmm3, %xmm3");
  __asm__ ("punpcklwd %xmm3, %xmm3");
}

And then objdump -D on it:

  401697:   66 0f 6e d2 movd   %edx,%xmm2
  40169b:   66 0f 60 d2 punpcklbw %xmm2,%xmm2
  40169f:   66 0f 61 da punpcklwd %xmm2,%xmm3
  4016a3:   66 0f 6e da movd   %edx,%xmm3
  4016a7:   66 0f 60 db punpcklbw %xmm3,%xmm3
  4016ab:   66 0f 61 db punpcklwd %xmm3,%xmm3

I can see that the instruction sizes are the same.  So I can use emacs
hexl-mode or xxd or objdump -R to modify the binary and try it.  It only took a
moment and it solved the problem.  Valgrind no longer reports any errors.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2021-02-27 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #13 from Eyal  ---
https://bugs.llvm.org/show_bug.cgi?id=49372

I hope that LLVM can help us out here!  I think that it would be nice.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2021-03-01 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #14 from Eyal  ---
A possible solution in Valgrind:
https://github.com/eyal0/valgrind/commit/899ea491e358013579f87e443beff0a30c69e348

This improves Valgrind's check for definedness when doing 32x4 SIMD signed
greater than.  It solves the problem for the test case below.  If you can,
consider testing if it solves the problem for your original code.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2022-02-10 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #47 from Eyal  ---
Any progress here?  I see the valgrind is getting new commits all the time.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2021-04-20 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #27 from Eyal  ---
Maybe that's with the c code.  I wrote a version in c++ which is uses templates
to make the test code much shorter.

Let's focus on just one of them so that I don't have to duplicate too much
work.  Do we want c++ for the test code or only c?  Either will work but the
c++ is shorter.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2021-04-21 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #29 from Eyal  ---
Okay.  I don't think that I'm using any special features of c nor c++... How
would I know?  Is there some test that I can run?

I didn't find any errors when I compiled with -Wall -Werror so I didn't see
that string being converted to a char *.  Maybe that was with an older patch
that wasn't the latest c++ one?

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2021-07-24 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #45 from Eyal  ---
Sure, let me know if I can be of assistance.

This was an actual issue for me with false positives in boost in newer clang. 
Boost is quite popular so I imagine that as more people upgrade to newer clang,
maybe more of them will hit these errors.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 476025] Vbit expected test results for Iop_CmpGT64Ux2 are wrong.

2024-04-11 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=476025

--- Comment #12 from Eyal  ---
But this one is not merged: https://bugsfiles.kde.org/attachment.cgi?id=162566

Should it be merged?

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2023-09-07 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #63 from Eyal  ---
I think that you could have used 'git apply' also. Anyway, I hope that the
tests are all passing now and perhaps we can make progress on the patch?

Eyal

On Wed, Sep 6, 2023, 23:39 Paul Floyd  wrote:

> https://bugs.kde.org/show_bug.cgi?id=432801
>
> --- Comment #62 from Paul Floyd  ---
> OK didn't know that (or had forgotten). I think I tried git patch which
> didn't
> like the formatted patch and then my usual fallback 'patch -p1 < patchfile'
>
> --
> You are receiving this mail because:
> You are on the CC list for the bug.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2023-09-13 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #65 from Eyal  ---
Yeah, I saw that you have been busy with that!

Do you prefer that I go through the process of pushing a branch for CI? I
need to get added with some permissions?

Eyal

On Sun, Sep 10, 2023, 10:02 Paul Floyd  wrote:

> https://bugs.kde.org/show_bug.cgi?id=432801
>
> --- Comment #64 from Paul Floyd  ---
>
> > I think that you could have used 'git apply' also. Anyway, I hope that
> the
> > tests are all passing now and perhaps we can make progress on the patch?
>
> It's next on my list!
>
> Been very busy this weekend updating one of the FreeBSD packages and
> fixing an
> issue with aligned_alloc and glibc 2.38.
>
> --
> You are receiving this mail because:
> You are on the CC list for the bug.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2023-09-23 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #68 from Eyal  ---
Thanks for doing this!  Now this one:
https://bugs.kde.org/show_bug.cgi?id=474160 ?

Eyal

On Tue, Sep 19, 2023 at 11:33 AM Paul Floyd 
wrote:

> https://bugs.kde.org/show_bug.cgi?id=432801
>
> Paul Floyd  changed:
>
>What|Removed |Added
>
> 
>  Resolution|--- |FIXED
>  Status|REPORTED|RESOLVED
>
> --- Comment #67 from Paul Floyd  ---
> Many thanks!
>
> commit 26a3abd27db2ef63dafea1ecab00e8239f341f0f (HEAD -> master,
> origin/master,
> origin/HEAD)
> Author: Eyal Soha 
> Date:   Thu Feb 10 09:52:54 2022 -0700
>
> Bug 432801 - Valgrind 3.16.1 reports a jump based on uninitialized
> memory
> somehow related to clang and signals
>
> Add support for precise computation of SIMD greater-than on
> amd64 and x86.
>
> This adds support for 64bit, 16bit, and 8bit to the existing 32bit
> support.
>
> --
> You are receiving this mail because:
> You are on the CC list for the bug.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 476025] Vbit expected test results for Iop_CmpGT64Ux2 are wrong.

2023-10-24 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=476025

Eyal  changed:

   What|Removed |Added

 CC||eyals...@gmail.com

--- Comment #5 from Eyal  ---
I'll write some details to explain what is going on here.

In this commit: 26a3abd27db2ef63dafea1ecab00e8239f341f0f

The handling of pcmpgt was improved.  The pcmpgt operation takes two 128-bit
registers and treats every (8/16/32/64) bits as a separate word and then is
tests them for "greater than".

Before the commit 26a3abd2, valgrind just looked for any undefined bits in one
or the other register and said that if some all undefined then the whole result
is undefined.  valgrind was doing the wrong thing.  This caused false positives
for me in a newish version of clang so I put in the expensive check which now
calculates the "greater than" despite undefinedness and does the best possible
computation.

Unrelated to that fix, the vbits test checks that vbits work correctly.  It
tests operations and checks that the vbits generated are correct.  For many
operations, it's too hard to generate the correct vbits off an input so the
operation is marked as "UNDEF_UNKNOWN", indicating that the vbits for that
operation are too hard to calculate so we just won't test this one.

All the Iop_CmpGT... operations ( there are 2-0 of them) in the vbits test are
marked as "UNDEF_UNKNOWN" except for Iop_CmpGT64Ux2.  This was probably a
mistake when it was written.  For that one, it checks that the vbits that are
output are doing the wrong thing in the way that valgrind also does the wrong
thing.  Basically, it was confirming that valgrind is doing the wrong thing in
the way that we expect valgrind to be wrong.

Well, now valgrind works and so the test is getting hung up because it's
checking that valgrind is still "broken".  But it isn't.  I never noticed this
in my testing because it only tested on ppc platforms.

The solution is to first set that test to UNDEF_UNKNOWN.  That'll get the tests
working again.

The follow-up, if we want, is to convert all those UNDEF_UNKNOWNS into
UNDEF_somethingelse that actually checks correctness.  Now, is that the right
thing to do?  Maybe.  On the one hand, it makes the testing more complete.  On
the other hand, the guy that wrote the expensiveCmpGT (me) is going to write
the UNDEF_CMP_GT (me again) it's like me grading my own homework and declaring
100% on myself.  Not a very robust test!  However, the vbits code is in regular
c++ and not the VEX IR thing so there is some value to it that way.  And I can
see in the vbits test that ADD, SUB, etc, *are* handled (not UNDEF_UNKNOWN) and
cmpgt is similar to those.  So maybe we should do it.

I think that it wouldn't be too difficult to do given that we can pretty much
copy the ADD and SUB examples.  We'll need permuations for the various bit
widths, signed/unsigned, and number of lanes.  But not too bad.  I'd probably
still skip the floating point ones because that seems harder to me.  Maybe it's
not, though?  I dunno.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 476025] Vbit expected test results for Iop_CmpGT64Ux2 are wrong.

2023-10-24 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=476025

--- Comment #6 from Eyal  ---
Created attachment 162550
  --> https://bugs.kde.org/attachment.cgi?id=162550&action=edit
Fix vbits for cmpgtExB where E*B==128

This adds more precise testing to the vbits program.  Only amd64 is enabled. 
Add .ppc32=1 or .ppc64=1 to some of those and run to see if they work.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 476025] Vbit expected test results for Iop_CmpGT64Ux2 are wrong.

2023-10-25 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=476025

--- Comment #8 from Eyal  ---
I completed the new tests. Please try adding ppc platforms and test them. I
already added amd64 testing for a few of them.

On Wed, Oct 25, 2023, 09:37 Carl Love  wrote:

> https://bugs.kde.org/show_bug.cgi?id=476025
>
> --- Comment #7 from Carl Love  ---
> The test for the Iop_CmpGT64Ux2 was changed as follows:
>
> diff --git a/memcheck/tests/vbit-test/irops.c
> b/memcheck/tests/vbit-test/irops.c
> index a09470905..e94ea2432 100644
> --- a/memcheck/tests/vbit-test/irops.c
> +++ b/memcheck/tests/vbit-test/irops.c
> @@ -861,7 +861,7 @@ static irop_t irops[] = {
>{ DEFOP(Iop_CmpGT8Ux16, UNDEF_UNKNOWN), },
>{ DEFOP(Iop_CmpGT16Ux8, UNDEF_UNKNOWN), },
>{ DEFOP(Iop_CmpGT32Ux4, UNDEF_UNKNOWN), },
> -  { DEFOP(Iop_CmpGT64Ux2, UNDEF_ALL_64x2), .ppc64 = 1, .ppc32 = 1 },
> +  { DEFOP(Iop_CmpGT64Ux2, UNDEF_UNKNOWN), },
>{ DEFOP(Iop_Cnt8x16, UNDEF_UNKNOWN), },
>{ DEFOP(Iop_Clz8x16, UNDEF_UNKNOWN), },
>{ DEFOP(Iop_Clz16x8, UNDEF_UNKNOWN), },
> --
> The commit was:
>
> commit bb162ac6c082f371da90fb3691f3185a53c2d56f (HEAD -> master,
> origin/master,
> origin/HEAD)
> Author: Carl Love 
> Date:   Wed Oct 25 11:20:30 2023 -0400
>
> Change the vbit test specification for Iop_CmpGT64Ux2
>
> The test should be specified as UNDEF_UNKNOWN not UNDEF_ALL_64x2.
> No architectures should be enaabled for the test.
>
> This effectively disables the vbit test on all architectures.  Note the
> Iop_CmpGT* for the other sizes are already set to UNDEF_UNKNOWN.  None of
> the
> Iops are getting tested at the current time.
>
> TO DO, work on adding appropriate testing for this class of Iops.  Eyal has
> started on the new tests.
>
> --
> You are receiving this mail because:
> You are on the CC list for the bug.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 476025] Vbit expected test results for Iop_CmpGT64Ux2 are wrong.

2023-10-25 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=476025

Eyal  changed:

   What|Removed |Added

 Attachment #162550|0   |1
is obsolete||

--- Comment #9 from Eyal  ---
Created attachment 162566
  --> https://bugs.kde.org/attachment.cgi?id=162566&action=edit
Fix vbits for cmpgtExB where E*B==128 rebased onto bb162ac6c

Same fix as before, rebased on to the latest of master branch.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 417993] vbit-test fail on s390x with Iop_Add32: spurious dependency on uninitialised value

2023-10-27 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=417993

Eyal  changed:

   What|Removed |Added

 CC||eyals...@gmail.com

--- Comment #4 from Eyal  ---
For each operand, we run multiple tests with various settings of value and
vbits.  A test ought to look like this:

1. Create variables aa and bb and vaa and vbb.
2. Set the vbits of aa and bb to be vaa and vbb, respectively.
3. Run that operand on aa and bb.
4. Extract the vbits that valgrind computed on the result.

And for a check, we do this:
1. Run a helper function whose input is aa,bb,vaa, and vbb.
2. That helper function computes the vbits that we expect in the output of the
operand.

Finally, we compare the expected vbits against what valgrind came up with.

In the function valgrind_execute_test, we set the vbits of aa and bb before we
run the operand.  That part is fine.

But when we run the helper with the inputs aa,bb,vaa,vbb, there is no
uncertainty there.  We have, in fact, extracted the uncertainty from aa and bb
into vaa and vbb and now, aa and bb have no uncertainty.  They should have
vbits 0, both of them.  It's now up to the helper function to use the definite
values of aa,bb,vaa, and vbb to compute the definite expected vbits of the
operand.

It would be easy to check.  Just add a loop over the operands into
check_result_for_binary that does this:

   opnd->vbits.bits = 0;
   valgrind_set_vbits(opnd);

Maybe like 5 lines of code total?  I don't have the right platform to test this
out, though...  If I make a patch, would someone like to test it?

Eyal

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 417993] vbit-test fail on s390x with Iop_Add32: spurious dependency on uninitialised value

2023-10-27 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=417993

--- Comment #5 from Eyal  ---
Like I said before: As part of the tests, some vbits get set.  However, we need
to clear them again before we compute the expectation or else the expectation
*itself* will have vbits set in it.  The expectation should have none.

I'm unable to reproduce this myself but maybe someone else can test it? 
Thanks.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 417993] vbit-test fail on s390x with Iop_Add32: spurious dependency on uninitialised value

2023-10-27 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=417993

--- Comment #6 from Eyal  ---
Created attachment 162607
  --> https://bugs.kde.org/attachment.cgi?id=162607&action=edit
This might fix the problem and it's the solution that I prefer.

This might fix the problem and it's the solution that I prefer.

After we set the vbits in order to run the test, reset them right after.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 417993] vbit-test fail on s390x with Iop_Add32: spurious dependency on uninitialised value

2023-10-27 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=417993

--- Comment #7 from Eyal  ---
Created attachment 162608
  --> https://bugs.kde.org/attachment.cgi?id=162608&action=edit
This might fix it, too, but I prefer the other one.

We refactor the code so that the computation is done before the vbits are set. 
And then we clear out all the vbits before we do the comparison.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 417993] vbit-test fail on s390x with Iop_Add32: spurious dependency on uninitialised value

2023-10-28 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=417993

--- Comment #8 from Eyal  ---
Drawing up the truth table of those two versions of calculating a_min, I find
that only the case when aa is unknown and vaa is 1 make any difference.  The
output in the version aa & ~vaa return 0 is aa==x and vaa==1.  But for
(aa&vaa)^aa, it gets unknown.  Note that, if vaa is 1, the expression
simplifies to (aa&1)^aa, which is just aa^aa, which is always 0 but the way
that valgrind works, it can't recognize that the x on the left and the x on the
right are the same x so its failing.  We could not fix this without a major
reworking of valgrind!

I tried to reproduce this optimization by modifying the calculation in the code
but it didn't make a difference.  I suspect that the compiler is undoing the
change as part of optimization.  So I forced my computer to do it by changing
this:

value & ~vbits

to:

vbits_xor(vbits_and(value, vbits), value);

and putting those files into separate compilations units, in files by
themselves.  This forces the code to run the instructions exactly as I specify.

I definitely wouldn't suggest doing this long term but, for testing purposes,
you can try it out.  I have attached a patch that you can try.  I've added new
files so don't forget to run autogen.sh and configure again.)  Now when I run
this:

make -j 20 check && valgrind   -q --expensive-definedness-checks=yes
memcheck/tests/vbit-test/vbit-test

I get this every time:

==586817== Conditional jump or move depends on uninitialised value(s)
==586817==at 0x110D4E: check_result_for_binary (binary.c:372)
==586817==by 0x1126B7: test_binary_op (binary.c:683)
==586817==by 0x110374: main (main.c:192)
==586817== 

Either of the patches that I have attached solve the problem so I feel
confident that this will fix Andreas' problem.  I much prefer the 3 line
solution to the other one so I will deprecate that other solution.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 417993] vbit-test fail on s390x with Iop_Add32: spurious dependency on uninitialised value

2023-10-28 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=417993

--- Comment #9 from Eyal  ---
Created attachment 162619
  --> https://bugs.kde.org/attachment.cgi?id=162619&action=edit
A test case to force this error even on amd64.

This is just for testing purposes.  Don't put this into the repo.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 417993] vbit-test fail on s390x with Iop_Add32: spurious dependency on uninitialised value

2023-10-28 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=417993

--- Comment #10 from Eyal  ---
Comment on attachment 162608
  --> https://bugs.kde.org/attachment.cgi?id=162608
This might fix it, too, but I prefer the other one.

This one is much more convoluted and unnecessary.  Just use the other one.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 417993] vbit-test fail on s390x with Iop_Add32: spurious dependency on uninitialised value

2023-10-28 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=417993

--- Comment #11 from Eyal  ---
Comment on attachment 162608
  --> https://bugs.kde.org/attachment.cgi?id=162608
This might fix it, too, but I prefer the other one.

This one is bigger and the other one works just as well so don't use this one.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 417993] vbit-test fail on s390x with Iop_Add32: spurious dependency on uninitialised value

2023-10-30 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=417993

--- Comment #13 from Eyal  ---
> I think my only question is whether we should "clear" all of data or just
> the value fields of the result and opnds[] of the test_data_t?
> I guess it doesn't matter whether the rest of the test_data_t struct values
> are cleared too, but it might "hide" other/real bugs?

I agree.  Let's clear just the vbits in the values in a loop.  I didn't know
about the macro VALGRIND_MAKE_MEM_DEFINED so I'll use that one.

I see that print_opnd is called sometimes before vbits get cleared by my new
code so the clearing of vbits in print_opnd must remain in addition to this new
one.

I'll attach the new patch.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 417993] vbit-test fail on s390x with Iop_Add32: spurious dependency on uninitialised value

2023-10-30 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=417993

Eyal  changed:

   What|Removed |Added

 Attachment #162607|0   |1
is obsolete||
 Attachment #162608|0   |1
is obsolete||

--- Comment #14 from Eyal  ---
Created attachment 162732
  --> https://bugs.kde.org/attachment.cgi?id=162732&action=edit
Clear just the vbits of the values of the operands after the test is done.

This fixes the problem as tested by the test case patch on amd64_x86

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 472878] New: Grouping: add toolbar buttons / actions

2023-08-01 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=472878

Bug ID: 472878
   Summary: Grouping: add toolbar buttons / actions
Classification: Applications
   Product: digikam
   Version: unspecified
  Platform: Archlinux
OS: All
Status: REPORTED
  Severity: normal
  Priority: NOR
 Component: Albums-ItemGroup
  Assignee: digikam-bugs-n...@kde.org
  Reporter: e...@zvi.org
  Target Milestone: ---

When selecting multiple images for grouping, the only way to group them is by
right-clicking one of the images (the one that should be "on top"), then select
from the menu Group, then select one of the Group actions.

Toolbar buttons for the various grouping actions will make this much easier.
It will also enable grouping while in Preview mode, which currently does not
support a right-click menu.

I suggest the following buttons:
* Group selected.
* Auto-group selected - opens a drop-down with the various automatic grouping
methods.
* Ungroup selected.
* Remove selected from groups.
* Show/Hide group - toggle (so no need for two buttons).

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 472879] New: Grouping: add Group to main Items menu

2023-08-01 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=472879

Bug ID: 472879
   Summary: Grouping: add Group to main Items menu
Classification: Applications
   Product: digikam
   Version: unspecified
  Platform: Archlinux
OS: All
Status: REPORTED
  Severity: normal
  Priority: NOR
 Component: Albums-ItemGroup
  Assignee: digikam-bugs-n...@kde.org
  Reporter: e...@zvi.org
  Target Milestone: ---

The main Item menu is missing grouping options.

Usually the main menu of an application provides access to all major features.
Grouping is certainly a major feature, and currently it's only accessible in
the right-clock menu when in Icon-view.

One particular need for having the Group sub-menu accessible from the main
menu, is when in Preview mode, which currently lacks a right-click menu.

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 472881] New: Grouping: add grouping by filename with versioning

2023-08-01 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=472881

Bug ID: 472881
   Summary: Grouping: add grouping by filename with versioning
Classification: Applications
   Product: digikam
   Version: unspecified
  Platform: Other
OS: Linux
Status: REPORTED
  Severity: normal
  Priority: NOR
 Component: Albums-ItemGroup
  Assignee: digikam-bugs-n...@kde.org
  Reporter: e...@zvi.org
  Target Milestone: ---

Digikam supports versioning. The Image Editor and Batch Manager support
automatically saving modified images as a version of the original.

However there is no automatic method to group image versions. If, for example,
many images are processed in a Batch, they need to be grouped manually one by
one.

I suggest to add "Group Selected by Filename and Version" (under the Groups
sub-menu). This action will match filenames but considering only the part of
the filename before "_v*".

(Note: I understand some users may have different version naming conventions,
which do not necessarily use _v1 _v2 etc, and they will require different
handling, maybe "Groups Selected by RegEx". However this bug refers
specifically to support the standard versioning scheme used by Digikam.)

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 472881] Grouping/Versioning: add grouping by filename with versioning

2023-08-01 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=472881

Eyal  changed:

   What|Removed |Added

Summary|Grouping: add grouping by   |Grouping/Versioning: add
   |filename with versioning|grouping by filename with
   ||versioning

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 472883] New: Grouping/Versioning: add Image Editor option to automatically group new version with original

2023-08-01 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=472883

Bug ID: 472883
   Summary: Grouping/Versioning: add Image Editor option to
automatically group new version with original
Classification: Applications
   Product: digikam
   Version: unspecified
  Platform: Other
OS: Linux
Status: REPORTED
  Severity: normal
  Priority: NOR
 Component: ImageEditor-Versioning
  Assignee: digikam-bugs-n...@kde.org
  Reporter: e...@zvi.org
  Target Milestone: ---

Image Editor supports automatically saving a modified image as a versions of
the original. 

I suggest adding an option to automatically group the versioned image with the
original. For users who group their image versions this is a very useful
feature.

The option should be added as a checkbox in the main configuration UI / Image
Editor / Versioning.

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 472881] Grouping/Versioning: add grouping by filename with versioning

2023-08-01 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=472881

Eyal  changed:

   What|Removed |Added

   Platform|Other   |Archlinux

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 472883] Grouping/Versioning: add Image Editor option to automatically group new version with original

2023-08-01 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=472883

Eyal  changed:

   What|Removed |Added

   Platform|Other   |Archlinux

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 472884] New: Grouping/Versioning: add Batch Queue Manager option to automatically group new version with original

2023-08-01 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=472884

Bug ID: 472884
   Summary: Grouping/Versioning: add Batch Queue Manager option to
automatically group new version with original
Classification: Applications
   Product: digikam
   Version: unspecified
  Platform: Archlinux
OS: Linux
Status: REPORTED
  Severity: normal
  Priority: NOR
 Component: BatchQueueManager-Core
  Assignee: digikam-bugs-n...@kde.org
  Reporter: e...@zvi.org
  Target Milestone: ---

Batch Queue Manager supports automatically saving a modified image as a
versions of the original (Queue Settings / Behavior / Save image as a newly
created branch). 

I suggest adding an option to automatically group the versioned image with the
original. For users who group their image versions this is a very useful
feature, especially when batch processing large number of images.

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 472881] Grouping/Versioning: add grouping by filename with versioning

2023-08-01 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=472881

--- Comment #2 from Eyal  ---
I understand that technically my suggestion is a private case of a more generic
/ RegEx grouping.

However, from a user perspective, grouping by Digikam's standard versioning
scheme is less error prone than RegEx, priovides a more complete versioning
solution, and will probably address the needs of the vast majority of users.

Also, from a development point of view, it should simpler to add grouping by
standard versioning. As RegEx can have very unexpected results (for
non-experts), sooner or later RegEx grouping will require  a complex UI which
simulates the results before applying them, and "Undo last grouping".

So I kindly ask that you keep my suggestion separate from RegEx grouping.

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 423993] Allow rightclick on thumbnails in preview mode

2023-08-01 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=423993

Eyal  changed:

   What|Removed |Added

 CC||e...@zvi.org

--- Comment #7 from Eyal  ---
I strongly support right-click menu on the Preview strip.

For example:

While in Preview I edit an image with Image Editor.
I save the result as a new version.
I want to group the original and the new version.

However as there's no right-click menu, I have to switch out of Preview, do the
grouping and then switch back to Preview to continue my workflow.

Why not do the grouping (or whatever else) directly in Preview?

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 472881] Grouping/Versioning: add grouping by filename with versioning

2023-08-01 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=472881

--- Comment #4 from Eyal  ---
So the fix for bug 318357 will also group these?

filename.raw
filename_v1.jpg
filename_v2.jpg

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 472883] Grouping/Versioning: add Image Editor option to automatically group new version with original

2023-08-01 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=472883

--- Comment #2 from Eyal  ---
Only need to implement grouping function once, and call it from relevant tools.

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 472884] Grouping/Versioning: add Batch Queue Manager option to automatically group new version with original

2023-08-01 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=472884

--- Comment #2 from Eyal  ---
Only need to implement grouping function once, and call it from relevant tools.

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 472881] Grouping/Versioning: add grouping by filename with versioning

2023-08-01 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=472881

--- Comment #6 from Eyal  ---
So why is this a duplicate of the other bug?

I still wish to file a bug to have grouping that supports Digikam's versioning
scheme.

As it is, I can't file this bug because you mark it as a duplicate of another
bug, which is apparently fixed but the fix doesn't really apply to my bug...

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 472881] Grouping/Versioning: add grouping by filename with versioning

2023-08-01 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=472881

--- Comment #8 from Eyal  ---
But I asked if the fix for bug 318357 will handle filename_v1, filename_v2,
etc. - you answered it will not.
I'm a bit confused.

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 472881] Grouping/Versioning: add grouping by filename with versioning

2023-08-01 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=472881

--- Comment #10 from Eyal  ---
Bug 338882 - is mostly ignored from 2014, and it is about *automatic* grouping
(ie. no user intervention). 
Bug 318357 - I still don't understand if it covers the Digikam's own
versioning.

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 472881] Grouping/Versioning: add grouping by filename with versioning

2023-08-01 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=472881

--- Comment #12 from Eyal  ---
I think it should be standalone.

Regarding priority it's of course your decision. I can only ask you to consider
this:

Digikam has versioning.
Digikam has grouping.
But the two features don't work together.

If I batch process thousands of photos which creates thousands of image pairs,
I have no way to group them except manually one by one.

So I only ask that grouping support Digikam's own versioning scheme.
Not "every grouping problem", not support versioning scheme of other tools.

In any case, thank you for the attention and patience.

-- 
You are receiving this mail because:
You are watching all bug changes.

[dolphin] [Bug 462443] New: Crash when renaming a file

2022-11-30 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=462443

Bug ID: 462443
   Summary: Crash when renaming a file
Classification: Applications
   Product: dolphin
   Version: 22.08.3
  Platform: Archlinux
OS: Linux
Status: REPORTED
  Keywords: drkonqi
  Severity: crash
  Priority: NOR
 Component: general
  Assignee: dolphin-bugs-n...@kde.org
  Reporter: e...@zvi.org
CC: kfm-de...@kde.org
  Target Milestone: ---

Application: dolphin (22.08.3)

Qt Version: 5.15.7
Frameworks Version: 5.100.0
Operating System: Linux 6.0.10-arch2-1 x86_64
Windowing System: X11
Distribution: "Arch Linux"
DrKonqi: 5.26.4 [KCrashBackend]

-- Information about the crash:
When renaming a file and pressing Enter, the file is renamed but Dolphin closes
(crashes) immediately.

The crash can be reproduced every time.

-- Backtrace:
Application: Dolphin (dolphin), signal: Segmentation fault

[KCrash Handler]
#4  0x7f9c34caebb7 in
QObjectPrivate::ConnectionData::removeConnection(QObjectPrivate::Connection*)
() from /usr/lib/libQt5Core.so.5
#5  0x7f9c34cb4606 in QObject::~QObject() () from /usr/lib/libQt5Core.so.5
#6  0x7f9c35aa111e in QLabel::~QLabel() () from /usr/lib/libQt5Widgets.so.5
#7  0x7f9c34cb3bd5 in QObjectPrivate::deleteChildren() () from
/usr/lib/libQt5Core.so.5
#8  0x7f9c3599bd75 in QWidget::~QWidget() () from
/usr/lib/libQt5Widgets.so.5
#9  0x7f9c36973c6a in ?? () from /usr/lib/libKF5BalooWidgets.so.5
#10 0x7f9c34cb0a0a in QObject::event(QEvent*) () from
/usr/lib/libQt5Core.so.5
#11 0x7f9c35978b1c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /usr/lib/libQt5Widgets.so.5
#12 0x7f9c34c8cf98 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /usr/lib/libQt5Core.so.5
#13 0x7f9c34c8daa3 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) () from /usr/lib/libQt5Core.so.5
#14 0x7f9c34cd3e68 in ?? () from /usr/lib/libQt5Core.so.5
#15 0x7f9c32b1687b in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#16 0x7f9c32b6d299 in ?? () from /usr/lib/libglib-2.0.so.0
#17 0x7f9c32b15132 in g_main_context_iteration () from
/usr/lib/libglib-2.0.so.0
#18 0x7f9c34cd7c4c in
QEventDispatcherGlib::processEvents(QFlags) ()
from /usr/lib/libQt5Core.so.5
#19 0x7f9c34c8573c in
QEventLoop::exec(QFlags) () from
/usr/lib/libQt5Core.so.5
#20 0x7f9c34c90269 in QCoreApplication::exec() () from
/usr/lib/libQt5Core.so.5
#21 0x55cf5f897ca9 in ?? ()
#22 0x7f9c3443c290 in ?? () from /usr/lib/libc.so.6
#23 0x7f9c3443c34a in __libc_start_main () from /usr/lib/libc.so.6
#24 0x55cf5f8983f5 in ?? ()
[Inferior 1 (process 12849) detached]

Reported using DrKonqi

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2021-06-03 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #37 from Eyal  ---
Any further comments?  This is fixing a real false positive that users of clang
will experience with reasonable optimization levels.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2021-06-06 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

Eyal  changed:

   What|Removed |Added

 Attachment #138226|0   |1
is obsolete||

--- Comment #40 from Eyal  ---
Created attachment 139036
  --> https://bugs.kde.org/attachment.cgi?id=139036&action=edit
c++ patch that supports pcmpgtX for 64/32/16/8 bit testing all lanes and using
templates

filter allocs for FreeBSD

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2021-06-06 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #41 from Eyal  ---
Got it done!  Thank you for testing out the code.  Try again?

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2021-04-28 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

Eyal  changed:

   What|Removed |Added

 Attachment #136599|0   |1
is obsolete||

--- Comment #31 from Eyal  ---
Created attachment 137990
  --> https://bugs.kde.org/attachment.cgi?id=137990&action=edit
c++ patch that supports pcmpgtX for 64/32/16/8 bit testing all lanes and using
templates

This one compiles with both g++ and clang++, no warnings, no errors, passes
tests in both cases

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2021-05-07 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #32 from Eyal  ---
How does the latest code look?  Are all the warnings gone now?  Passes tests on
FreeBSD?

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2021-05-07 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #34 from Eyal  ---
Huh.  I don't have any errors on my computer with it.  Can you send an example
error from the test?  Maybe the location of the conditional jump depends on the
platform...?

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2021-05-07 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

Eyal  changed:

   What|Removed |Added

 Attachment #137990|0   |1
is obsolete||

--- Comment #35 from Eyal  ---
Created attachment 138226
  --> https://bugs.kde.org/attachment.cgi?id=138226&action=edit
c++ patch that supports pcmpgtX for 64/32/16/8 bit testing all lanes and using
templates

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432801] Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals

2021-05-07 Thread Eyal
https://bugs.kde.org/show_bug.cgi?id=432801

--- Comment #36 from Eyal  ---
Oh, I see it now.  I must have forgotten to recompile.  I've sent the new
patch.

-- 
You are receiving this mail because:
You are watching all bug changes.

[kile] [Bug 391422] New: Need to be able to search only non-commented code

2018-03-05 Thread Eyal Rozenberg
https://bugs.kde.org/show_bug.cgi?id=391422

Bug ID: 391422
   Summary: Need to be able to search only non-commented code
   Product: kile
   Version: 2.1.3
  Platform: Other
OS: Linux
Status: UNCONFIRMED
  Severity: normal
  Priority: NOR
 Component: editor
  Assignee: michel.lud...@kdemail.net
  Reporter: eyal...@technion.ac.il
  Target Milestone: ---

Kile is able to distinguish code (and text) that's commented, whether with a
percentage sign or within a {comment} environment. This functionality should
also be usable when searching, to avoid matches which are commented - if the
user has marked a checkbox saying s/he wants this.

This is related to bug 377334 (Ignore folded fragments of code when doing
search), but I believe should  be of higher priority.

-- 
You are receiving this mail because:
You are watching all bug changes.

[kile] [Bug 391422] Need to be able to search only non-commented code

2018-03-05 Thread Eyal Rozenberg
https://bugs.kde.org/show_bug.cgi?id=391422

Eyal Rozenberg  changed:

   What|Removed |Added

 OS|Linux   |All

-- 
You are receiving this mail because:
You are watching all bug changes.

[kile] [Bug 392247] New: Structure tree construction does not ignore sectioning within comment environment

2018-03-23 Thread Eyal Rozenberg
https://bugs.kde.org/show_bug.cgi?id=392247

Bug ID: 392247
   Summary: Structure tree construction does not ignore sectioning
within comment environment
   Product: kile
   Version: unspecified
  Platform: Mint (Ubuntu based)
OS: Linux
Status: UNCONFIRMED
  Severity: normal
  Priority: NOR
 Component: general
  Assignee: michel.lud...@kdemail.net
  Reporter: eyal...@technion.ac.il
  Target Milestone: ---

I'm  using Kile 2.1.3 (on Mint 18.3).

After everything else in my document (report class), I have the following code:

\begin{comment}
\appendix
\chapter*{Appendix}
\section*{Frobnicate the bar}
Bunch of text here, etc. etc.
\endcomment}

... and this shows up as part of the document structure tree, which it really
shouldn't - especially seeing how the comment environment is identified and its
contents is grayed-out.

This bug seems very related to bug 63121, which was about line comments (text
after the % symbol). However, that one was resolved 15 years ago. In fact, if I
add line comments within the comment environment, the appendix and the section
disappear from the structure tree; so it really looks like they're treated like
a normal part of the document.

-- 
You are receiving this mail because:
You are watching all bug changes.

[kile] [Bug 403804] New: RequesT: Support KDE Framework v5.28, not just 5.31

2019-01-31 Thread Eyal Rozenberg
https://bugs.kde.org/show_bug.cgi?id=403804

Bug ID: 403804
   Summary: RequesT: Support KDE Framework v5.28, not just 5.31
   Product: kile
   Version: 2.9.92
  Platform: Debian stable
OS: Linux
Status: REPORTED
  Severity: normal
  Priority: NOR
 Component: general
  Assignee: michel.lud...@kdemail.net
  Reporter: eyal...@technion.ac.il
  Target Milestone: ---

I'm trying to build Kile 3.0b2 (2.9.92) on a Devuan ASCII machine (it's
essentially Debian Stretch).

Now, Debian Stretch has  version 5.28 of the KDE Framework, while KIle needs
v5.31. I don't know what the exact differences are, but - if possible, can you
get 2.9.92 to build with the prerequisites available on Debian?

-- 
You are receiving this mail because:
You are watching all bug changes.

[kile] [Bug 403804] RequesT: Support KDE Framework v5.28, not just 5.31

2019-02-02 Thread Eyal Rozenberg
https://bugs.kde.org/show_bug.cgi?id=403804

--- Comment #2 from Eyal Rozenberg  ---
(In reply to Michel Ludwig from comment #1)
> Besides, frameworks 5.28 is already more than two years old.

Stable distributions have a lot of code that is more than two years old;
specifically, Debian. But - suit yourself.

-- 
You are receiving this mail because:
You are watching all bug changes.

[amarok] [Bug 409836] New: Build failure: Undefined reference to setMountPointManager(MountPointManager*)

2019-07-15 Thread Eyal Rozenberg
https://bugs.kde.org/show_bug.cgi?id=409836

Bug ID: 409836
   Summary: Build failure: Undefined reference to
setMountPointManager(MountPointManager*)
   Product: amarok
   Version: 2.9.0
  Platform: Debian testing
OS: Linux
Status: REPORTED
  Severity: major
  Priority: NOR
 Component: general
  Assignee: amarok-bugs-d...@kde.org
  Reporter: eyal...@technion.ac.il
  Target Milestone: kf5

SUMMARY

I'm building v2.9.0 on Debian buster (well, actually, Devuan Beowulf, which is
the same thing but with systemd yanked out).

CMake'ing works, and compilation goes fine. But during linking, I get the
following:

/usr/bin/ld: CMakeFiles/testsqltrack.dir/TestSqlTrack.cpp.o: in function
`TestSqlTrack::initTestCase()':
/usr/local/src/amarok-2.9.0/tests/core-impl/collections/db/sql/TestSqlTrack.cpp:52:
undefined reference to
`Collections::DatabaseCollection::setMountPointManager(MountPointManager*)'
collect2: error: ld returned 1 exit status
make[2]: ***
[tests/core-impl/collections/db/sql/CMakeFiles/testsqltrack.dir/build.make:136:
tests/testsqltrack] Error 1
make[1]: *** [CMakeFiles/Makefile2:3603:
tests/core-impl/collections/db/sql/CMakeFiles/testsqltrack.dir/all] Error 2

and the same for a a few other targets.


STEPS TO REPRODUCE
1. Install all relevant Debian packages for Amarok feature prerequisites
2. Run CMake on the v2.9.0 sources (downloaded today, 2019-07-14), with an
out-of-source build directory
3. build

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Linux 4.19.0-5-amd64 #1 SMP Debian 4.19.37-5 (2019-06-19)
x86_64 GNU/Linux 
KDE Plasma Version:  5.54.0-1
KDE Frameworks Version: Not sure what number to put here.
Qt Version: 5.11.3+dfsg1-1

ADDITIONAL INFORMATION
Devuan Beowulf with no custom-built packages.

-- 
You are receiving this mail because:
You are watching all bug changes.

[amarok] [Bug 409837] New: CMakeLists.txt doesn't check for presence of Embedded MariaDB

2019-07-15 Thread Eyal Rozenberg
https://bugs.kde.org/show_bug.cgi?id=409837

Bug ID: 409837
   Summary: CMakeLists.txt doesn't check for presence of Embedded
MariaDB
   Product: amarok
   Version: 2.9.0
  Platform: Other
OS: Linux
Status: REPORTED
  Severity: normal
  Priority: NOR
 Component: general
  Assignee: amarok-bugs-d...@kde.org
  Reporter: eyal...@technion.ac.il
  Target Milestone: kf5

SUMMARY

I'm building v2.9.0 on Debian buster (well, actually, Devuan Beowulf, which is
the same thing but with systemd yanked out).

CMake'ing works, but during linking, I get this error:

[ 61%] Linking CXX shared module
../../../../../lib/amarok_storage-mysqlestorage.so
/usr/bin/ld: cannot find -lmariadbd
collect2: error: ld returned 1 exit status

indeed, I didn't have embedded MariaDB installed. When I installed the package
for it, the error went away.

So, CMake should have checked for this library's presence - and didn't; or
alternatively, mistakenly thought it had located it.

-- 
You are receiving this mail because:
You are watching all bug changes.

[amarok] [Bug 409836] Build failure: Undefined reference to setMountPointManager(MountPointManager*)

2019-07-16 Thread Eyal Rozenberg
https://bugs.kde.org/show_bug.cgi?id=409836

Eyal Rozenberg  changed:

   What|Removed |Added

 Status|NEEDSINFO   |REPORTED
 Resolution|WAITINGFORINFO  |---

--- Comment #2 from Eyal Rozenberg  ---
(In reply to Myriam Schweingruber from comment #1)
> Did you try building with testing disabled?

No, I used the default options. With testing disabled, the build concludes
without errors.

-- 
You are receiving this mail because:
You are watching all bug changes.

[amarok] [Bug 409836] Build failure: Undefined reference to setMountPointManager(MountPointManager*)

2019-07-18 Thread Eyal Rozenberg
https://bugs.kde.org/show_bug.cgi?id=409836

--- Comment #4 from Eyal Rozenberg  ---
(In reply to Myriam Schweingruber from comment #3)
> I guessed as much.

It's still a build failure, albeit of the testing code. Aren't you supposed to
change the component or mark it somehow instead of testing it?

-- 
You are receiving this mail because:
You are watching all bug changes.

[amarok] [Bug 409966] New: Amarok won't run, complains about missing plugins

2019-07-18 Thread Eyal Rozenberg
https://bugs.kde.org/show_bug.cgi?id=409966

Bug ID: 409966
   Summary: Amarok won't run, complains about missing plugins
   Product: amarok
   Version: 2.9.0
  Platform: Debian testing
OS: Linux
Status: REPORTED
  Severity: major
  Priority: NOR
 Component: general
  Assignee: amarok-bugs-d...@kde.org
  Reporter: eyal...@technion.ac.il
  Target Milestone: kf5

I've downloaded and built Amarok 2.9.0 on Devuan Beowulf (= Debian Buster
without systemd) - after installing a whole bunch of prerequisite Qt and
KDE-related packaged.

The build succeeds (after a bit of trouble I reported in other issues and got
resolved); and I make install'ed amarok to /usr/loca . Now, when trying to run
amarok, I get

```
amarok(24045)/kdecore (trader) KServiceTypeTrader::defaultOffers:
KServiceTypeTrader: serviceType  "Amarok/Plugin"  not found 
```
on the console, and a message box saying:

> Amarok could not find any plugins. This indicates an installation problem.


I'm reporting this as a bug for several reasons:

1. If something else need to be present on the system, then cmake'ing should
have told me so.
2. Even if something is missing, the GUI and/or console messages should tell me
what exactly what files, or folders, are missing so that I could go get them.
3. If plugins need to be installed independently - why aren't they available on
the website?
4. If plugins are built and installed - how come amarok doesn't make even a
minimal effort to locate them?

Note: This is not resolved like the very similar problem I reported a while ago
as the very similar bug 399097.


SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Linux 4.19.0-5-amd64 #1 SMP Debian 4.19.37-5 (2019-06-19)
x86_64 GNU/Linux 
KDE Plasma Version:  5.54.0-1
KDE Frameworks Version: Not sure what number to put here.
Qt Version: 5.11.3+dfsg1-1

-- 
You are receiving this mail because:
You are watching all bug changes.

[amarok] [Bug 409966] Amarok won't run, complains about missing plugins

2019-08-05 Thread Eyal Rozenberg
https://bugs.kde.org/show_bug.cgi?id=409966

Eyal Rozenberg  changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Ever confirmed|0   |1
 Resolution|NOT A BUG   |---

--- Comment #2 from Eyal Rozenberg  ---
(In reply to Christoph Feck from comment #1)
> cmake is only a tool to _build_ the software. 

It's a tool to build the software so that it runs.

> If you want to _run_ the
> software, you should make sure you are installing it into directories where
> the plugin loaders expect them, or adjust your environment variables
> accordingly.

I did make sure: I used -DCMAKE_INSTALL_PREFIX=/usr/local , which is perfectly
valid and standard. I than used cmake to install. That installation should
work. And if for some reason it can't (which shouldn't happen IMHO) - I should
have been informed. I won't split hairs, so - I wouldn't have minded if it had
been cmake install that gives some error or warning messages.

> Please ask for help in a developer forum, mailing list, or IRC channel.

But, again, I shouldn't need to: I did something very standard and
straightfoward and the result was not as expected, without any warning/error
messages up until installation. That _is_ a bug.

Having said that - I did ask for help on the IRC channel, but none was
extended. Which of the other two media would you suggest?

-- 
You are receiving this mail because:
You are watching all bug changes.

[extra-cmake-modules] [Bug 409966] Check if plugin install path is where the system expects them

2019-08-05 Thread Eyal Rozenberg
https://bugs.kde.org/show_bug.cgi?id=409966

--- Comment #6 from Eyal Rozenberg  ---
(In reply to Christophe Giboudeaux from comment #4)
> why ecm ? isn't amarok 2.9 the KDE4 version?

Can you explain the latest exchange of comments? I'm not quite following.
Amarok 2.9 is the current release version, is it not?

-- 
You are receiving this mail because:
You are watching all bug changes.

[extra-cmake-modules] [Bug 409966] Check if plugin install path is where the system expects them

2019-08-06 Thread Eyal Rozenberg
https://bugs.kde.org/show_bug.cgi?id=409966

Eyal Rozenberg  changed:

   What|Removed |Added

 Resolution|NOT A BUG   |---
 Status|RESOLVED|REOPENED

--- Comment #8 from Eyal Rozenberg  ---
(In reply to Christophe Giboudeaux from comment #7)
> I recommend looking for a music player which is still maintained.

I double-checked to ensure I wasn't missing a version 2.10 or 3.0 - and no, I
wasn't. So, either Amarok is not maintained, period - which would be pretty
sad; or v2.9 is maintained, albeit perhaps reluctantly and partially.

Also - I can't just use the GitHub master branch, it depends on much newer
versions of various libraries than typical distributions have .

-- 
You are receiving this mail because:
You are watching all bug changes.

[extra-cmake-modules] [Bug 409966] Check if plugin install path is where the system expects them

2019-08-06 Thread Eyal Rozenberg
https://bugs.kde.org/show_bug.cgi?id=409966

--- Comment #10 from Eyal Rozenberg  ---
(In reply to Christophe Giboudeaux from comment #9)
> Doesn't change anything. There's no officially supported Qt5 based amarok

The single current official release of Amarok is 2.9.0. That's the one with
this issue.  That's the one that must be supported. If it uses KDE4 - fine,
then that's what it uses. If it has issues then - fix them. You can't just
ignore them because you don't like how the official version uses KDE4. I simply
don't understand what you're talking about. 

And reopen this bug.

-- 
You are receiving this mail because:
You are watching all bug changes.

[extra-cmake-modules] [Bug 409966] Check if plugin install path is where the system expects them

2019-08-06 Thread Eyal Rozenberg
https://bugs.kde.org/show_bug.cgi?id=409966

--- Comment #12 from Eyal Rozenberg  ---
Excuse me, but - are you serious? This is the _Amarok_ bug tracking system. You
can't close bugs about the current release and tell people not to use it. If
that's how you feel - terminate your account or stop all activity on
Amarok-related bugs. Are you trying to sabotage it or something?

-- 
You are receiving this mail because:
You are watching all bug changes.

[extra-cmake-modules] [Bug 409966] Check if plugin install path is where the system expects them

2019-08-06 Thread Eyal Rozenberg
https://bugs.kde.org/show_bug.cgi?id=409966

--- Comment #14 from Eyal Rozenberg  ---
Ah, I see what you mean. Ok then. That is, I'm not pleased but at least I
understand the rationale of your decisions.

-- 
You are receiving this mail because:
You are watching all bug changes.

[amarok] [Bug 409837] CMakeLists.txt doesn't check for presence of Embedded MariaDB

2021-02-13 Thread Eyal Rozenberg
https://bugs.kde.org/show_bug.cgi?id=409837

--- Comment #2 from Eyal Rozenberg  ---
(In reply to Heiko Becker from comment #1)

Which exact version should I try and build?

-- 
You are receiving this mail because:
You are watching all bug changes.

  1   2   >