FS#50048 - [smalltalk] arithmetic error since update to 3.2.91

Attached to Project: Community Packages
Opened by Robert Kuszinger (kuszinger) - Friday, 15 July 2016, 07:52 GMT
Last edited by Alexander F. Rødseth (xyproto) - Monday, 08 August 2016, 15:38 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Alexander F. Rødseth (xyproto)
Architecture x86_64
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

Since the latest upgrade of smalltalk (GNU Smalltalk) there are some issues on X86_64 (29th June, 2016)
It affects numerical calculations (of arbitrary precision arithmetic in smalltalk
provided by gmp). Other users on other Linux boxes were not able to reproduce yet.

I have no chance to test on i686.

Additional info:
* smalltalk-3.2.91-1-x86_64
* Linux kuszidell 4.6.3-1-ARCH #1 SMP PREEMPT Fri Jun 24 21:19:13 CEST 2016 x86_64 GNU/Linux


Steps to reproduce:

# start gst
# Enter the following: 2 raisedToInteger: -67

Result is:

st> 2 raisedToInteger: -67
Object: 1 error: The program attempted to divide a number by zero
ZeroDivide(Exception)>>signal (ExcHandling.st:254)
SmallInteger(Number)>>zeroDivide (SysExcept.st:1386)
Fraction>>setNumerator:setDenominator: (Fraction.st:485)
Fraction class>>numerator:denominator: (Fraction.st:66)
Fraction>>raisedToInteger: (Fraction.st:510)
SmallInteger(Number)>>raisedToInteger: (Number.st:922)
UndefinedObject>>executeStatements (a String:1)

Test on earlier version works fine (smalltalk-3.2.5-3-x86_64). Developers of GNU Smalltalk were not able to reproduce on their Linux boxes yet.

Workaround: stay with smalltalk-3.2.5-3-x86_64. Latest gmp also work with smalltalk 3.2.5 so error is not gmp version specific.

I also contacted smalltalk developers. They need git bisect tests on soruce/compile to identify if it came with a commit.
They have no Arch linux box to play it through (and also not working with makepkg).
I'd make it myself but I cannot make it (I'm not a C but Smalltalk developer, mostly...). Anyway, with some help or
guidelines I'd make it happily (git bisect on local repo copy and makepkg on each versions, if I understand it right... and test
when it gone bad)


Robert
This task depends upon

Closed by  Alexander F. Rødseth (xyproto)
Monday, 08 August 2016, 15:38 GMT
Reason for closing:  Fixed
Additional comments about closing:  Using later commit instead of release tag.
Comment by Alexander F. Rødseth (xyproto) - Sunday, 24 July 2016, 09:47 GMT
Hi, thanks for reporting. I'll look into this.
Comment by Alexander F. Rødseth (xyproto) - Sunday, 24 July 2016, 14:58 GMT
Reported the issue upstream to the Smalltalk developers.
Comment by Alexander F. Rødseth (xyproto) - Sunday, 31 July 2016, 23:41 GMT
Will see if I can find the occasion to run git bisect.
Comment by Alexander F. Rødseth (xyproto) - Monday, 08 August 2016, 15:38 GMT
Ran git bisect. Discovered that this has been fixed in one of the very latest revisions (after the 3.2.91 tag). The updated package will appear in [community] shortly. The steps to reproduce the issue no longer fails here.

Cheers!

Loading...