Apache OpenOffice (AOO) Bugzilla – Issue 10875
Unrecoverable error producing chart with cubic splines from two columns, each containing 5000 numbers
Last modified: 2013-02-24 21:20:44 UTC
The V1.0.2 spreadsheet can fail (produce an unrecoverable error) when attempting to create a chart using cubic splines. How can I send you the spreadsheet file with which I can produce the failure? It's a 153 KB .sxc file, and I'll be glad to email it as soon as I know where to send it. [I would have attached it to this report had I been able to determine how to do so.] Procedure to reproduce the failure: Open the file, 2B48_Data_20030121_160749.sxc (5004 rows, 4 columns) Select B4:B5003 and D4:D5003 [$Sheet1.$B$4:$B$5003;$Sheet1.$D$4:$D$5003] Click on Insert/Chart Under “Chart results in worksheet” select “- new sheet –“ Press Next Click on “XY Chart” Press Next Under the heading “Choose a variant” click on “Cubic Spline” Under the heading “Grid lines” Click on “X axis” Press Next Under the heading “Chart Title” enter “2B48” Press Create After a few seconds, a message box appears: OpenOffice.org 1.0.2 An unrecoverable error has occurred. All modified files have been saved and can probably be recovered at program restart. OR another message box appears: Soffice.exe – Application Error The instruction at “0x1d15b525” referenced memory at “0x0558ec2c”. The memory could not be “written”. Click on OK to terminate the application Click on CANCEL to debug the application. Press “Cancel” Microsoft Visual C++ opens and pops up a window declaring Unhandled exception in soffice.exe (SCH641MI.DLL): 0xC0000005: Access Violation. Disassembly in the area of the exception, sch641mi.dll 0x1D15B525: 1D15B505 fmul st,st(1) 1D15B507 fadd qword ptr [esp+58h] 1D15B50B call 1D1BA570 1D15B510 mov edx,dword ptr [esp+20h] 1D15B514 mov ecx,dword ptr [ebp+14h] 1D15B517 push edx 1D15B518 mov ebx,eax 1D15B51A fstp st(0) 1D15B51C call 1D1B8FAE 1D15B521 fld qword ptr [esp+40h] 1D15B525 mov dword ptr [eax+4],ebx 1D15B528 call 1D1BA570 1D15B52D mov ecx,dword ptr [ebp+14h] 1D15B530 mov ebx,eax 1D15B532 mov eax,dword ptr [esp+20h] 1D15B536 push eax 1D15B537 call 1D1B8FAE 1D15B53C fld qword ptr [esp+40h] 1D15B540 fadd qword ptr [esp+60h] 1D15B544 mov ecx,dword ptr [esp+20h] 1D15B548 mov dword ptr [eax],ebx 1D15B54A mov eax,dword ptr [esp+2Ch] 1D15B54E inc ecx 1D15B54F dec eax 1D15B550 mov dword ptr [esp+20h],ecx 1D15B554 fstp qword ptr [esp+40h] 1D15B558 mov dword ptr [esp+2Ch],eax 1D15B55C jne 1D15B4E7 1D15B55E mov ebx,dword ptr [esp+30h] Module List sch641mi.dll 0x1D100000 – 0x1D1E8FFF E:\OpenOffice.org1.0.2\program\sch641mi.dll sw641mi.dll 0x1E000000 – 0x1E5E4FFF E:\OpenOffice.org1.0.2\program\sw641mi.dll NTDLL.DLL 0x77F60000 – 0x77FBDFFF C:\WINNT\System32\NTDLL.DLL soffice.exe 0x01100000 – 0x0114CFFF E:\OpenOffice.org1.0.2\program\soffice.exe [and so forth] Call Stack SCH641MI! 1d15b525() SCH641MI! 1d166e27() SCH641MI! 1d13dee3() Registers EAX = 0558EC28 EBX = 00000000 ECX = 0000FFF1 EDX = 0550A3A0 ESI = 0012D35C EDI = 00000CCC EIP = 1D15B525 ESP = 0012CD88 EBP = 0012CDF4 EFL = 00000206 CS = 001B DS = 0023 ES = 0023 SS = 0023 FS = 003B GS = 0000 OV=0 UP=0 EI=1 PL=0 ZR=0 AC=0 PE=1 CY=0 0558EC2C = ???????? ST0 = +4.61700000000000000e+0003 ST1 = +4.61700000000000000e+0003 ST2 = +0.00000000000000000e+0000 ST3 = +0.00000000000000000e+0000 ST4 = +5.00000000000000111e-0001 ST5 = +0.00000000000000000e+0000 ST6 = +2.35000000000000000e+0001 ST7 = 1#IND CTRL = 027F STAT = 3125 TAGS = 0FFF EIP = 1D15B521 CS = 001B DS = 0023 EDO = 0012CDC8 My PC: Hewlett-Packard HP Vectra PC x86 Family 6 Model 8 Stepping 1 AT/AT COMPATIBLE 261,492 KB RAM Microsoft Windows NT 4.00.1381 Service Pack 6
Created attachment 4411 [details] Produces spreadsheet failure on attempt to create chart.
Hi, it's the wrong component. SCH641MI.DLL is the Chart DLL. I set the flags. Frank
Hi Bjoern, one for you. tk
The problem is the XPolygon which may only hold 65,536 points which is already exceeded with 3,500 points with a resolution of 20 (which is the default). I changed this, such that the points are spread over as many XPolygons as needed. The number of points is now bound by the XPolyPolygon, which holds no more than 65,536 XPolygons, thus the point limit is at about 4 billion. Fixed in CWS bm2.
Have to send to QA
please verify. Note: painting is really slow!
srx644 bm2
verified
Tested and closed.