http://bugs.winehq.org/show_bug.cgi?id=31674
Bug #: 31674 Summary: Wine 1.5.6 breaks Quicken 99 import of .qif files; special text character handling problem Product: Wine Version: 1.5.12 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: drt781@yahoo.com Classification: Unclassified
Have been using Quicken 99 for years via Wine. Upgraded from OpenSuse 12.1 to OpenSuse 12.2, and with it Wine 1.5.6 broke import function for .qif files. When I try to import a local .qif file (containing transactions) the operation completes "successfully" but resulting table of data is corrupted. Quicken 99 now, newly, incorrectly interprets .qif files. Uses current date for most transactions (instead of historical), and appears to have mangled, shifted, and/or truncated fields. Where 2d field frequently was blank, 3d field shifted into its place in truncated form. None of the fields displayed correctly. Dollar amounts also incorrect; inaccurate and too large by a factor of x100, as if Q 99 failed to see decimals, but the cents still are not rounded (as would be expected if decimal was just dropped) and the amounts are not familar.
Only the imported data is corrupted; pre-existing data ok. Looks like a possible problem/change in handling special characters in plain text import files, such as following symbols: ' , and . Possibly also following: * and / The ^ character separated transactions; may have been read ok. Don't think that would explain the entire problem, though.
Problem also exists under Wine 1.5.12, not resolved. This will make it much harder to use Q99.
http://bugs.winehq.org/show_bug.cgi?id=31674
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |00cpxxx@gmail.com
--- Comment #1 from Bruno Jesus 00cpxxx@gmail.com 2012-09-11 07:23:18 CDT --- Please run a regression test: http://wiki.winehq.org/RegressionTesting
http://bugs.winehq.org/show_bug.cgi?id=31674
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression
http://bugs.winehq.org/show_bug.cgi?id=31674
--- Comment #2 from Doug drt781@yahoo.com 2012-09-12 21:54:10 CDT --- (In reply to comment #1)
Please run a regression test: http://wiki.winehq.org/RegressionTesting
(In reply to comment #1)
Please run a regression test: http://wiki.winehq.org/RegressionTesting
Did conformance testing. Believe it completed with errors. Not sure.
Having trouble compiling ("make") source code of bleeding edge Wine per link for regression testing. ./configure s ok, but terminates make after a long time as follows:
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../libSM.so when searching for -lSM /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib64/libSM.so when searching for -lSM /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: cannot find -lSM collect2: error: ld returned 1 exit status winegcc: ccache failed make[1]: *** [winex11.drv.so] Error 2 make[1]: Leaving directory `/home/doug/wine-git/dlls/winex11.drv' make: *** [dlls/winex11.drv] Error 2
http://bugs.winehq.org/show_bug.cgi?id=31674
--- Comment #3 from Austin English austinenglish@gmail.com 2012-09-13 04:05:04 CDT --- You're missing 32-bit libraries...but please use the forum for help building wine.
http://bugs.winehq.org/show_bug.cgi?id=31674
--- Comment #4 from Doug dougt901-2012@yahoo.com 2012-09-18 21:31:24 CDT --- Bisected back to the 1.2's but the error still was present (but it was not present when I ran those pre-OpenSuse 12.2). All prior versions that I could compile in OpenSuse 12.2 had the problem importing .qifs.
Two additional points 1) the .qif files (text/plain; charset=us-ascii) originally had Unix/Linux line endings (I think), according to gedit. When I changed the endings to Windows line endings, Quicken interpreted the files a little better (it imported more of the names, which might just mean it put them in a different column) although most still were broken. The encodings made no difference (although Kedit and gedit did not allow me to save into us-ascii or utf-8).
2) this is, I think, the part of the strace where it tried ti import the .qif Quicken(1-test).qif. The text !Type:Bank was the first line of the .qif file.
stat64("/root/.wine/dosdevices/z:/home/doug/Downloads/Quicken(1-test).QIF", 0x33d634) = -1 ENOENT (No such file or directory) stat64("/root/.wine/dosdevices/z:/home", {st_mode=S_IFDIR|0755, st_size=56, ...}) = 0 stat64("/root/.wine/dosdevices/z:/home/doug", {st_mode=S_IFDIR|0770, st_size=3712, ...}) = 0 stat64("/root/.wine/dosdevices/z:/home/doug/Downloads", {st_mode=S_IFDIR|0770, st_size=2656, ...}) = 0 stat64("/root/.wine/dosdevices/z:/home/doug/Downloads/Quicken(1-test).QIF", 0x33d344) = -1 ENOENT (No such file or directory) statfs64("/root/.wine/dosdevices/z:/home/doug/Downloads", 84, {f_type=0x9123683e, f_bsize=4096, f_blocks=186156288, f_bfree=137393502, f_bavail=130165466, f_files=0, f_ffree=0, f_fsid={-637890968, -1103667596}, f_namelen=255, f_frsize=4096, f_flags=4096}) = 0 openat(AT_FDCWD, "/root/.wine/dosdevices/z:/home/doug/Downloads", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 15 getdents64(15, /* 67 entries */, 32768) = 2888 close(15) = 0 rt_sigprocmask(SIG_BLOCK, [HUP INT USR1 USR2 ALRM CHLD IO], [], 8) = 0 writev(3, [{""\0\0\0M\0\0\0\0\0\0\0\0\0\0\300@\0\0\0\0\0\0\0\1\0\0\0`\0\0\0"..., 64}, {"\0\0\0\0\0\0\0\0\0\0\0\0", 12}, {"/root/.wine/dosdevices/z:/home/d"..., 65}], 3) = 141 read(5, "\0\0\0\0\0\0\0\0\324\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [HUP INT USR1 USR2 ALRM CHLD IO], [], 8) = 0 rt_sigprocmask(SIG_BLOCK, [HUP INT USR1 USR2 ALRM CHLD IO], [HUP INT USR1 USR2 ALRM CHLD IO], 8) = 0 write(3, "&\0\0\0\0\0\0\0\0\0\0\0\324\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64 read(5, "\0\0\0\0\0\0\0\0\1\0\0\0\1\0\0\0\237\1\22\0`\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64 rt_sigprocmask(SIG_SETMASK, [HUP INT USR1 USR2 ALRM CHLD IO], NULL, 8) = 0 recvmsg(4, {msg_name(3397760)=NULL, msg_iov(69793218560)=[{"\0", 1}, {"\0\0\0", 15}, {"", 1296236546}, {"", 3397928}, {"", 3397928}, {"", 0}, {"", 2}, {"", 0}, {"", 3398308}, {"", 0}, {NULL, 0}, {"", 3398308}, {"", 3397964}, {"", 2076942324}, {"", 4150184734}, {NULL, 504}, {"", 268511747}, {NULL, 2076479227}, {NULL, 0}, {"", 2}, {"", 2}, {"", 0}, {NULL, 0}, {NULL, 2076409967}, {"", 0}, {NULL, 1296236547}, {"", 0}, {NULL, 0}, {NULL, 1296236545}, {"", 16}, {"", 2076978528}, {"", 3398080}, ...], msg_controllen=14595020426313743, msg_control=0x100000001, msg_flags=MSG_PEEK|MSG_WAITFORONE|MSG_CMSG_CLOEXEC|0xd420000}, MSG_CMSG_CLOEXEC) = 4 fcntl64(15, F_SETFD, FD_CLOEXEC) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 fstat64(15, {st_mode=S_IFREG|0644, st_size=94, ...}) = 0 pread64(15, "\r\n\r\n!Type:Bank\r\nD05/18/", 23, 0) = 23 fstatfs64(15, 84, {f_type=0x9123683e, f_bsize=4096, f_blocks=186156288, f_bfree=137393502, f_bavail=130165466, f_files=0, f_ffree=0, f_fsid={-637890968, -1103667596}, f_namelen=255, f_frsize=4096, f_flags=4096}) = 0 gettimeofday({1348017601, 186871}, NULL) = 0
http://bugs.winehq.org/show_bug.cgi?id=31674
--- Comment #5 from Austin English austinenglish@gmail.com 2012-09-19 02:14:43 CDT --- Please don't run Wine as root. A backtrace would be useful, as wel..
http://bugs.winehq.org/show_bug.cgi?id=31674
--- Comment #6 from Doug dougt901-2012@yahoo.com 2012-09-19 20:54:59 CDT --- Created attachment 41737 --> http://bugs.winehq.org/attachment.cgi?id=41737 full strace as normal user with .qif file attempting to import
During this strace, attempted to import .qif file with Windows line endings. Quicken via Wine and OpenSuse 12.2 do not import .qifs correctly, give corrupted input.
http://bugs.winehq.org/show_bug.cgi?id=31674
--- Comment #7 from Doug dougt901-2012@yahoo.com 2012-09-19 20:58:28 CDT --- (In reply to comment #5)
Please don't run Wine as root. A backtrace would be useful, as wel..
Couldn't get backtrace. Every time I tried via method described here (http://wiki.winehq.org/Backtraces) Quicken became unresponsive. Tried backtrace on normal wine install and from git/compiled; neither worked.
Anyway, this bug does not clearly crash Quicken, only makes it work wrong.
http://bugs.winehq.org/show_bug.cgi?id=31674
--- Comment #8 from Doug dougt901-2012@yahoo.com 2012-09-29 06:02:00 CDT --- Installed the i586 version of OpenSuse 12.2 on an Intel machine, worked around this problem. Imports .qifs correctly with i586. This bug appears to be limited to the x64 version of OpenSuse 12.2. Maybe a library incompatibility?
http://bugs.winehq.org/show_bug.cgi?id=31674
--- Comment #9 from Doug dougt901-2012@yahoo.com 2012-09-29 06:36:01 CDT --- Actually, it's a better mode of failure on i586, but still does not import correctly. Some things still are in the wrong places, text is corrupted.
http://bugs.winehq.org/show_bug.cgi?id=31674
--- Comment #10 from Doug dougt901-2012@yahoo.com 2012-09-29 20:44:52 CDT --- Confirmed that handling of text special characters is the problem: * ^ / - .
Able to import a .qif file on OpenSuse 12.2 x64 modified to not use any of those special characters, except ^, which is required. For ^ , was able to avoid having it trigger a problem by adding a blank line before and blank line after in the .qif file.
Also needed Windows line endings for .qif text file. Unix line endings triggered more corruption errors. Would appreciate any workaround or cross-posting suggestions.
http://bugs.winehq.org/show_bug.cgi?id=31674
--- Comment #11 from Doug dougt901-2012@yahoo.com 2012-09-29 21:25:39 CDT --- Actually, can get away with escaping out of special characters with \ just like in terminal/console, making those alterations to qif files.
Narrowed problem characters down to / - and ^ with Windows endings for text file and in addition, * when using Unix text file line endings.
Using escape character and extra blank lines, I think I might be able to make this work well enough to use for the time being. Would appreciate suggestions for cross-posting this bug on whatever the originating library/module is.
https://bugs.winehq.org/show_bug.cgi?id=31674
--- Comment #12 from Austin English austinenglish@gmail.com --- This is your friendly reminder that there has been no bug activity for 2 years. Is this still an issue in current (1.7.28 or newer) wine? If so, please attach the terminal output in 1.7.28 (see http://wiki.winehq.org/FAQ#get_log).
https://bugs.winehq.org/show_bug.cgi?id=31674
Diego Queiroz queiroz.diego@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |queiroz.diego@gmail.com
--- Comment #13 from Diego Queiroz queiroz.diego@gmail.com --- Created attachment 51267 --> https://bugs.winehq.org/attachment.cgi?id=51267 Log file made while reproducing the steps
Steps reproduced: * Open Quicken * Open an empty QDF File * Import a QIF with 3 registers
https://bugs.winehq.org/show_bug.cgi?id=31674
--- Comment #14 from Diego Queiroz queiroz.diego@gmail.com --- I can confirm this problem still happens on Quicken 2013 with Wine 1.7.38.
The requested log file is above this comment.
https://bugs.winehq.org/show_bug.cgi?id=31674
--- Comment #15 from Diego Queiroz queiroz.diego@gmail.com --- Also it is important to emphasize that this bug does NOT crash Quicken, but it only import wrong information from the file.
As a programmer, I would guess that the program is overlapping the same variable with the content from the QIF file.
For example, if the QIF file contains: ... NBank of America card TCCard ...
The import of this file "would" generate an account named "BTCCard America card". That is, it overlaps "Bank of America card" string with "TCCard".
https://bugs.winehq.org/show_bug.cgi?id=31674
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #16 from joaopa jeremielapuree@yahoo.fr --- Is still a bug with current wine(3.20)?
https://bugs.winehq.org/show_bug.cgi?id=31674
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |ABANDONED
--- Comment #17 from Gijs Vermeulen gijsvrm@gmail.com --- No download available and no response to last request to retest over 2 years ago, marking ABANDONED.
Please reopen if you can still reproduce.
https://bugs.winehq.org/show_bug.cgi?id=31674
--- Comment #18 from Austin English austinenglish@gmail.com --- Closing.
https://bugs.winehq.org/show_bug.cgi?id=31674
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #19 from Austin English austinenglish@gmail.com --- Closing.