Bug 147977

Summary: wiggle core dumped
Product: [openSUSE] SUSE Linux 10.1 Reporter: Petr Ostadal <postadal>
Component: DevelopmentAssignee: Neil Brown <nfbrown>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None    
Version: Beta 3   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: Other Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: files to reproduce bug

Description Petr Ostadal 2006-02-03 13:06:21 UTC
with attached file wiggle core dumped

how reproduce it:
>wiggle misc.c misc.c.rej
Aborted (core dumped)

bt:
#0  0x00002ad80a734795 in raise () from /lib64/libc.so.6
(gdb) bt
#0  0x00002ad80a734795 in raise () from /lib64/libc.so.6
#1  0x00002ad80a735b50 in abort () from /lib64/libc.so.6
#2  0x0000000000404e9f in remap (best=0x5936, cnt=3, a1={list = 0x525ed0, elcnt = 1298}, b1={list = 0x52d890, elcnt = 64}, a2={list = 0x50c4c0, elcnt = 3511}, b2={list = 0x520df0, elcnt = 160}) at bestmatch.c:385
#3  0x0000000000405164 in pdiff (a={list = 0x50c4c0, elcnt = 3511}, b={list = 0x520df0, elcnt = 160}, chunks=2) at bestmatch.c:476
#4  0x00000000004016b0 in main (argc=3, argv=0x7fffffa9c2d8) at wiggle.c:608
#5  0x00002ad80a721ea4 in __libc_start_main () from /lib64/libc.so.6
#6  0x0000000000400f09 in _start ()
Comment 1 Petr Ostadal 2006-02-03 13:07:46 UTC
Created attachment 66341 [details]
files to reproduce bug
Comment 2 Petr Ostadal 2006-02-09 15:51:20 UTC
ping
Comment 3 Andreas Gruenbacher 2006-02-09 16:16:59 UTC
Neil, is this something you would have a look at for me?
Comment 4 Neil Brown 2006-02-10 01:54:40 UTC
Wow, people are using wiggle .... cool!

The bug can be fixed by:

diff ./bestmatch.c~current~ ./bestmatch.c
--- ./bestmatch.c~current~      2006-02-10 12:23:07.000000000 +1100
+++ ./bestmatch.c       2006-02-10 12:49:24.000000000 +1100
@@ -346,7 +346,7 @@ void remap(struct best *best, int cnt,
        int pa,pb;
        pa=pb=0;
 
-       for (b=1; b<cnt; b++) {
+       for (b=1; b<cnt; b++) if (best[b].val>0) {
 #if 0
                printf("best %d,%d  %d,%d\n",
                       best[b].xlo,best[b].ylo,

Andreas: will you add this patch to the suse package, or should I try to climb
that learning curve....
Comment 9 Neil Brown 2006-02-16 01:32:25 UTC
This bug will be fixed in the next release (should be in SuSE-10.1) and 
can be fixed with the above patch.

So I am resolving it as 'FIXED'.

Thanks again,

NeilBrown