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
0000136 [BusyBox] Other feature always 03-08-05 11:50 03-10-06 15:29
Reporter dreamworks View Status public  
Assigned To BusyBox
Priority normal Resolution fixed  
Status closed   Product Version 1.00
Summary 0000136: expr get weird results with long numbers
Description hi guys,

i'm trying to use busybox within an ramdisk installer image and expr to do some free disk space calculation... Seems to me that expr just works with ints or at most unsigned ints... please be aware that modern hard drives contain 120 GB which are a lot of bytes... (which can not be divided within expr busybox)

Greetings from Germany



Additional Information
Attached Files

- Relationships

- Notes
(0000740)
landley
12-07-05 22:08

Looking at fixing this, but a reproduction test case would be good.
 
(0000745)
dreamworks
12-08-05 03:20

ok, let's do it with a simple example:

(1) On current RHEL v4
mschoen@debug:/home/hindenburg/msc > expr 2147483647 + 1
2147483648

(2) within busybox
/ # /bin/expr 2147483647 + 1
-2147483648

So the bug is quite simple; the implementation uses unsigend int(32bit) which is not sufficient for modern systems, e.g. take the example mentioned above with size calculations for Installer Images with 120GByte Hard disks.
 
(0000880)
landley
01-08-06 21:12

This is really a feature request, and looking at expr it's fairly intrusive. (All the code has to be changed from int to long long, and that should really have a config option, and that should probably be a larger "use 64 bit math on 32 bit platforms" config option of some kind, and that's a design decision I'm putting off until at least 1.1.1.)
 
(0000881)
landley
01-08-06 21:14

Ok that's really a feature request, one that's pretty intrusive in this case (lots of individual "int" arguments need to be changed to "long long" or a typedef alternating between the two based on a config option, and there's a larger design issue that there should probably be some kind of global config option "use 64 bit math on 32 bit platforms" rather than just one for this app...

And in any case, I'm going to punt this past 1.1.0, which I'm trying to get out tomorrow. Maybe 1.1.1...
 
(0000882)
landley
01-08-06 21:18

I have no idea how to re-categorize a defect. (I really, really hate this bug system.) "expr uses 32 bit math on a 32 bit processor" is not a "severe defect" in an embedded system, it's a feature request for 64 bit math which some people will _not_ want. If I can't figure out how to recategorize, possibly I'll just close it out and either open a new one or more likely just put it on my personal todo list. But I'd rather not...
 
(0000999)
vodz
01-25-06 05:58

Ok. I added this as feature. See revision 13588.
 

- Issue History
Date Modified Username Field Change
03-08-05 11:50 dreamworks New Issue
03-16-05 12:27 andersen Assigned To andersen => BusyBox
12-07-05 22:08 landley Note Added: 0000740
12-07-05 22:08 landley Status assigned => feedback
12-08-05 03:20 dreamworks Note Added: 0000745
01-08-06 21:12 landley Note Added: 0000880
01-08-06 21:14 landley Note Added: 0000881
01-08-06 21:14 landley Status feedback => assigned
01-08-06 21:18 landley Note Added: 0000882
01-25-06 05:58 vodz Note Added: 0000999
01-25-06 05:58 vodz Severity major => feature
01-25-06 05:58 vodz Status assigned => resolved
01-25-06 05:58 vodz Resolution open => fixed
01-25-06 06:07 vodz Issue Monitored: vodz
01-25-06 06:07 vodz Issue End Monitor: vodz
03-10-06 15:29 vapier Status resolved => closed


Copyright © 2000 - 2006 Mantis Group
Powered by Mantis Bugtracker