[BusyBox 0003104]: Taskset does not work properly and crash on Busybox 1.10.1

bugs at busybox.net bugs at busybox.net
Fri Apr 25 17:01:50 UTC 2008


The following issue has been CLOSED 
====================================================================== 
http://busybox.net/bugs/view.php?id=3104 
====================================================================== 
Reported By:                COTTIER Damien
Assigned To:                BusyBox
====================================================================== 
Project:                    BusyBox
Issue ID:                   3104
Category:                   Other
Reproducibility:            always
Severity:                   crash
Priority:                   normal
Status:                     closed
Resolution:                 open
Fixed in Version:           
====================================================================== 
Date Submitted:             04-25-2008 02:55 PDT
Last Modified:              04-25-2008 10:01 PDT
====================================================================== 
Summary:                    Taskset does not work properly and crash on Busybox
1.10.1
Description: 
Here is a bash process...
$ ps
  PID TTY          TIME CMD
 8237 pts/13   00:00:00 bash
31906 pts/13   00:00:00 ps

%%%% Get the cpu affinity of an existing process (it works)

$ ./busybox_unstripped taskset -p 8237
pid 8237's current affinity mask: 1

%%%% Set a new cpu affinity of an existing process (crash)

$ ./busybox_unstripped taskset -p 1 24408
pid 24408's current affinity mask: 1
*** glibc detected *** ./busybox_unstripped: realloc(): invalid next size:
0x0809c080 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xb7e9718a]
/lib/tls/i686/cmov/libc.so.6(realloc+0xfe)[0xb7e9908e]
/lib/tls/i686/cmov/libc.so.6[0xb7e99461]
/lib/tls/i686/cmov/libc.so.6(realloc+0x3c)[0xb7e98fcc]
./busybox_unstripped[0x804dee7]
======= Memory map: ========
08048000-08099000 r-xp 00000000 08:02 1988289   
/home/cottierd/busybox-1.10.1/busybox_unstripped
08099000-0809a000 rwxp 00050000 08:02 1988289   
/home/cottierd/busybox-1.10.1/busybox_unstripped
0809a000-080bd000 rwxp 0809a000 00:00 0          [heap]
b7d00000-b7d21000 rwxp b7d00000 00:00 0
b7d21000-b7e00000 ---p b7d21000 00:00 0
b7e20000-b7e2b000 r-xp 00000000 08:02 983054     /lib/libgcc_s.so.1
b7e2b000-b7e2c000 rwxp 0000a000 08:02 983054     /lib/libgcc_s.so.1
b7e2c000-b7e2e000 rwxp b7e2c000 00:00 0
b7e2e000-b7f69000 r-xp 00000000 08:02 983192    
/lib/tls/i686/cmov/libc-2.5.so
b7f69000-b7f6a000 r-xp 0013b000 08:02 983192    
/lib/tls/i686/cmov/libc-2.5.so
b7f6a000-b7f6c000 rwxp 0013c000 08:02 983192    
/lib/tls/i686/cmov/libc-2.5.so
b7f6c000-b7f70000 rwxp b7f6c000 00:00 0
b7f70000-b7f95000 r-xp 00000000 08:02 983197    
/lib/tls/i686/cmov/libm-2.5.so
b7f95000-b7f97000 rwxp 00024000 08:02 983197    
/lib/tls/i686/cmov/libm-2.5.so
b7f97000-b7f99000 rwxp b7f97000 00:00 0
b7f99000-b7fb2000 r-xp 00000000 08:02 983055     /lib/ld-2.5.so
b7fb2000-b7fb4000 rwxp 00019000 08:02 983055     /lib/ld-2.5.so
bfc53000-bfc68000 rw-p bfc53000 00:00 0          [stack]
ffffe000-fffff000 r-xp 00000000 00:00 0          [vdso]
Abandon

%%%% Start a new process with a defined affinity (answer invalid args and
exit)

$ ./busybox_unstripped taskset 1 ls
taskset: can't set pid 0's affinity: Invalid argument
I've got the same error on ARM SMP (Coretile ARM11MP) and I686 target.

Rgds,
Damien.
====================================================================== 

---------------------------------------------------------------------- 
 vda - 04-25-08 04:18  
---------------------------------------------------------------------- 
> $ ./busybox_unstripped taskset -p 1 24408
> pid 24408's current affinity mask: 1
> *** glibc detected *** ./busybox_unstripped: realloc(): invalid next
size: 0x0809c080 ***

Failed to reproduce that. Moreover, I can't even find where realloc() is
called in taskset.c. Can you pinpoint it?


> %%%% Start a new process with a defined affinity (answer invalid args
and exit)

> $ ./busybox_unstripped taskset 1 ls
> taskset: can't set pid 0's affinity: Invalid argument

Where do you see "invalid args and exit" here? The above is the correct
behavior as far as I can tell - pid 0 means "current process' pid"; and I
am getting "Invalid argument" too.

 

---------------------------------------------------------------------- 
 vda - 04-25-08 10:01  
---------------------------------------------------------------------- 
I found the bug. Try this patch:

http://busybox.net/downloads/fixes-1.10.1/busybox-1.10.1-taskset.patch 

---------------------------------------------------------------------- 
 vda - 04-25-08 10:01  
---------------------------------------------------------------------- 
Fixed in rev 21864, thanks. 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
04-25-08 02:55  COTTIER Damien New Issue                                    
04-25-08 02:55  COTTIER Damien Status                   new => assigned     
04-25-08 02:55  COTTIER Damien Assigned To               => BusyBox         
04-25-08 03:44  vda            Note Added: 0007134                          
04-25-08 04:18  vda            Note Edited: 0007134                         
04-25-08 10:01  vda            Note Added: 0007164                          
04-25-08 10:01  vda            Status                   assigned => closed  
04-25-08 10:01  vda            Note Added: 0007174                          
======================================================================




More information about the busybox-cvs mailing list