http://bugs.winehq.org/show_bug.cgi?id=16466
Summary: Palm OS Resource Editor crashes Product: Wine Version: 1.1.10 Platform: PC-x86-64 URL: http://www.accessdevnet.com/ OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: comctl32 AssignedTo: wine-bugs@winehq.org ReportedBy: nerv@dawncrow.de
Created an attachment (id=17838) --> (http://bugs.winehq.org/attachment.cgi?id=17838) Backtrace when clicked "new file->XML resource description"
Palm OS Resource Editor crashes on new file or opening file.
http://bugs.winehq.org/show_bug.cgi?id=16466
--- Comment #1 from Austin English austinenglish@gmail.com 2008-12-11 12:04:52 --- Can you get a +comctl log?
http://bugs.winehq.org/show_bug.cgi?id=16466
André H. nerv@dawncrow.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #17838|0 |1 is obsolete| |
--- Comment #2 from André H. nerv@dawncrow.de 2008-12-11 12:11:49 --- Created an attachment (id=17840) --> (http://bugs.winehq.org/attachment.cgi?id=17840) WINEDEBUG=commctrl
Just can do WINEDEBUG=commctrl WINEPREFIX=~/.winepods wine "Palm OS Resource Editor.exe" +comctl does not exist
Program loads until "trace:commctrl:InitCommonControlsEx (0x00008000)" Then i click "new->XML resource description" and then there is the Unhandled page fault
http://bugs.winehq.org/show_bug.cgi?id=16466
--- Comment #3 from Lei Zhang thestig@google.com 2008-12-11 16:17:40 --- It might be easier just to compile you own Wine, which will have debugging symbols so we can easily see where you crashed in comctl32.
http://bugs.winehq.org/show_bug.cgi?id=16466
--- Comment #4 from André H. nerv@dawncrow.de 2008-12-12 09:38:49 --- (In reply to comment #3)
It might be easier just to compile you own Wine, which will have debugging symbols so we can easily see where you crashed in comctl32.
I think so too, i will do that next days
http://bugs.winehq.org/show_bug.cgi?id=16466
--- Comment #5 from André H. nerv@dawncrow.de 2008-12-12 10:57:21 --- mmh, i dont know in which of the comctl32 file i should start or in which function. Does the Backtrace says something about the location?
http://bugs.winehq.org/show_bug.cgi?id=16466
--- Comment #6 from Austin English austinenglish@gmail.com 2008-12-12 11:13:30 --- (In reply to comment #5)
mmh, i dont know in which of the comctl32 file i should start or in which function. Does the Backtrace says something about the location?
What do you mean? Compile wine and run that version of wine, rather than your packaged version. You should then get a backtrace.
http://bugs.winehq.org/show_bug.cgi?id=16466
--- Comment #7 from André H. nerv@dawncrow.de 2008-12-13 07:02:42 --- Created an attachment (id=17892) --> (http://bugs.winehq.org/attachment.cgi?id=17892) WINEDEBUG=relay,commctl
Thats the output with WINEDEBUG=relay,commctl when i click the last button before it crashes
http://bugs.winehq.org/show_bug.cgi?id=16466
Mikolaj Zalewski mikolaj.zalewski@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mikolaj.zalewski@gmail.com
--- Comment #8 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2009-01-10 10:17:48 --- Could you provide a WINEDEBUG=+message log?
http://bugs.winehq.org/show_bug.cgi?id=16466
--- Comment #9 from André H. nerv@dawncrow.de 2009-01-11 07:57:04 --- Created an attachment (id=18641) --> (http://bugs.winehq.org/attachment.cgi?id=18641) WINEDEBUG=+message
Here it is, made with wine-1.1.12-393-ga69c86d
http://bugs.winehq.org/show_bug.cgi?id=16466
--- Comment #10 from André H. nerv@dawncrow.de 2009-01-11 10:00:57 --- Created an attachment (id=18645) --> (http://bugs.winehq.org/attachment.cgi?id=18645) Fixes TREEVIEW_DoSetItemT
found the bug and patched it.
http://bugs.winehq.org/show_bug.cgi?id=16466
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
--- Comment #11 from Austin English austinenglish@gmail.com 2009-01-11 13:56:26 --- Could you send that to wine-patches? A testcase would help. Be sure to put your full name in the patch, not just initials.
http://bugs.winehq.org/show_bug.cgi?id=16466
--- Comment #12 from André H. nerv@dawncrow.de 2009-01-12 12:22:47 --- already sent, waiting for aceptance.
http://bugs.winehq.org/show_bug.cgi?id=16466
--- Comment #13 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2009-01-12 14:59:51 --- Thank you for working on this bug. But are you sure a NULL should mean a callback item? It would be logical if it cleared the string (but, of course, there is no guarantee Windows APIs are logical). The best solution would be to write a testcase for this in dlls/comctl32/tests/toolbar.c.
http://bugs.winehq.org/show_bug.cgi?id=16466
--- Comment #14 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2009-01-12 15:03:50 --- I've forgot one more thing - you should put both your name and your surname when submitting to wine-patches - if not, it can be considered an anonymous submission, and they are not accepted.
http://bugs.winehq.org/show_bug.cgi?id=16466
--- Comment #15 from André H. nerv@dawncrow.de 2009-01-12 15:08:30 --- (In reply to comment #13)
Thank you for working on this bug. But are you sure a NULL should mean a callback item? It would be logical if it cleared the string (but, of course, there is no guarantee Windows APIs are logical). The best solution would be to write a testcase for this in dlls/comctl32/tests/toolbar.c.
I am not sure, and you are right with the testcase, and i guess you mean toolbar.c, but i am the wrong man for writing such a test. if there were a testcase with Textcallback i could change it to test my patch too.
already resent the patch with full name.
Thanks for your Comments
http://bugs.winehq.org/show_bug.cgi?id=16466
--- Comment #16 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2009-01-12 15:37:49 --- I ment dlls/comctl32/tests/treeview.c.
If you are not sure, then you should check it before submitting the patch. It seems there are no text callback tests, but it should be easy to add one. You should add some handling of TVN_GETDISPINFO to MyWndProc to return e.g. "abc". Add an item with LPSTR_CALLBACK and do a TVN_GETITEM to check if it works. Then add another item with a text e.g. "xyz" and do a TVN_SETITEM with TVIF_TEXT and NULL. Use TVN_GETITEM on this second item to check what it returns.
Of course, you should run this test on Windows to make sure the results are correct and then modify Wine so that it also passes it. Your test should be failing before your modifications and passing after them.
http://bugs.winehq.org/show_bug.cgi?id=16466
--- Comment #17 from André H. nerv@dawncrow.de 2009-01-15 12:20:25 --- I am working on that, and its hard if you have to read about what you are doing, but i think after that i know how to write tests ;) and yes, we have to put the "tvItem->pszText != 0" earlier.
http://bugs.winehq.org/show_bug.cgi?id=16466
--- Comment #18 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2009-01-15 15:47:47 --- Everyone will tell you that getting the first patch is hard :)
http://bugs.winehq.org/show_bug.cgi?id=16466
--- Comment #19 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2009-01-18 12:50:16 --- Created an attachment (id=18800) --> (http://bugs.winehq.org/attachment.cgi?id=18800) testcase
I've found it surprising that NULL is a callback item, so I also wrote a test that shows that. If you would like to use it, I attach it.
http://bugs.winehq.org/show_bug.cgi?id=16466
--- Comment #20 from André H. nerv@dawncrow.de 2009-01-19 10:57:48 --- Thanks for the test, but i found out it is not a callback item. The problem was, that the pointer was given to a strlen-function and so it tried to read from 0x00000000 which couses a crash
http://bugs.winehq.org/show_bug.cgi?id=16466
--- Comment #21 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2009-01-19 12:42:03 --- Yes, the crash happens because lstrlenW receives NULL (and lstrlenW used while compiling Wine sources has no exception handler). But the question is what we should do instead of crashing. What you made you think we should not make the item a callback? It was a surprise to me, but I think the test shows that this is the correct (i.e. compatible with Windows) behaviour. But it's possible I missed something. Does you solution pass my test?
http://bugs.winehq.org/show_bug.cgi?id=16466
--- Comment #22 from André H. nerv@dawncrow.de 2009-01-19 12:58:55 --- I tested it under Windows and you(and me with my first guess) are right! Now i am suprised, too. I thought it was a misstake by me. If you agree i would like too compine your testcase with my first solution(which should be right for that case) and send it to wine-patches.
http://bugs.winehq.org/show_bug.cgi?id=16466
--- Comment #23 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2009-01-19 13:26:09 --- Go ahead using my test. In theory, the author in the From: field should much with who actually wrote the code, as this is stored in Git, but I think it will be enough if you write something like "(testcase by Mikołaj Zalewski)" in the subject. I would also add a one-line comment like "undocumented: NULL also means LPSTR_CALLBACK (see tests)" in comctl32/treeview.c, so that someone who will read the code will know that we consciously wrote it a bit different than MSDN would suggest.
http://bugs.winehq.org/show_bug.cgi?id=16466
--- Comment #24 from André H. nerv@dawncrow.de 2009-01-19 14:23:03 --- No, you are right, its better if you send the testcase. so i will send my fix. we just should use a similar Subject. Lets say "Subject: comctl32: fix callback in treeview"
http://bugs.winehq.org/show_bug.cgi?id=16466
--- Comment #25 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2009-01-19 16:34:28 --- I have sent my patch with todo_wine for the tests that are failing in current. Your patch would need to remove the todo_wine when it fixes the code for the tests to pass. I see you have already sent your patch without it. Maybe Alexandre will remove them manually, but in case your patch doesn't get in, wait until my patch is in the Wine Git and them send your patch. Sending two patches by two people that depend on each other is quite confusing.
http://bugs.winehq.org/show_bug.cgi?id=16466
--- Comment #26 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2009-01-20 13:10:26 --- My patch got in. You can send yours, modifying comctl32/treeview.c and comctl32/test/treeview.c (the latter to remove the todo_wine tags - 'make test' in tests should succeed after the patch).
http://bugs.winehq.org/show_bug.cgi?id=16466
--- Comment #27 from André H. nerv@dawncrow.de 2009-01-21 11:46:24 --- Finally my Patch got in, too. Thanks Mikolaj Zalewski for that excellent collaboration!
http://bugs.winehq.org/show_bug.cgi?id=16466
--- Comment #28 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2009-01-21 12:02:44 --- If the current Wine Git has no crash in Palm OS Resource Editor anymore (as fas as I understand, that's the case), then you can resolve the bug to FIXED (see the radio buttons below the edit box).
http://bugs.winehq.org/show_bug.cgi?id=16466
--- Comment #29 from André H. nerv@dawncrow.de 2009-01-21 12:26:47 --- i thought we have to wait for the next dev-release 1.1.14?
http://bugs.winehq.org/show_bug.cgi?id=16466
--- Comment #30 from Austin English austinenglish@gmail.com 2009-01-21 13:12:29 --- (In reply to comment #29)
i thought we have to wait for the next dev-release 1.1.14?
No, mark it fixed if it's fixed. Just don't close the bug.
http://bugs.winehq.org/show_bug.cgi?id=16466
André H. nerv@dawncrow.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #31 from André H. nerv@dawncrow.de 2009-01-22 10:32:38 --- ok, it is fixed
http://bugs.winehq.org/show_bug.cgi?id=16466
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #32 from Alexandre Julliard julliard@winehq.org 2009-01-30 11:04:37 --- Closing bugs fixed in 1.1.14.
https://bugs.winehq.org/show_bug.cgi?id=16466
André H. nerv@dawncrow.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |2ef02afe95f105d0a078e758762 | |5bc3456a34ffc