BusyBox Bug and Patch Tracking
BusyBox
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0003104 [BusyBox] Other crash always 04-25-08 02:55 04-25-08 10:01
Reporter COTTIER Damien View Status public  
Assigned To BusyBox
Priority normal Resolution fixed  
Status closed   Product Version
Summary 0003104: 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.
Additional Information
Attached Files

- Relationships

- Notes
(0007134)
vda
04-25-08 03:44
edited on: 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.

 
(0007164)
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 [^]
 
(0007174)
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
04-25-08 10:01 vda Resolution open => fixed


Copyright © 2000 - 2006 Mantis Group
Powered by Mantis Bugtracker