http://bugs.winehq.org/show_bug.cgi?id=34573
Bug #: 34573 Summary: IPHLPAPI.DLL - NotifyIpInterfaceChange not impemented Product: Wine Version: 1.7.2 Platform: x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: iphlpapi AssignedTo: wine-bugs@winehq.org ReportedBy: steveamigauk@yahoo.co.uk Classification: Unclassified
Created attachment 46026 --> http://bugs.winehq.org/attachment.cgi?id=46026 Back trace
Cinema 4D V15 installation fails with
Unhandled exception: unimplemented function IPHLPAPI.DLL.NotifyIpInterfaceChange called in 64-bit code
Back trace is attached
http://bugs.winehq.org/show_bug.cgi?id=34573
steveamigauk@yahoo.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |steveamigauk@yahoo.co.uk
http://bugs.winehq.org/show_bug.cgi?id=34573
Ronny Schmatzler schmatzler@googlemail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |schmatzler@googlemail.com
--- Comment #1 from Ronny Schmatzler schmatzler@googlemail.com --- Bug is still present on Wine 1.7.20 when trying to install Cinema 4D R15.
http://bugs.winehq.org/show_bug.cgi?id=34573
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |focht@gmx.net Summary|IPHLPAPI.DLL - |Cinema 4D R15 crashes on |NotifyIpInterfaceChange not |unimplemented function |impemented |IPHLPAPI.DLL.NotifyIpInterf | |aceChange Ever confirmed|0 |1
--- Comment #2 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming and refining summary.
Regards
https://bugs.winehq.org/show_bug.cgi?id=34573
upezs@vomoto.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |upezs@vomoto.com
--- Comment #3 from upezs@vomoto.com --- Hi, will this bug ever be fixed, or is it something that's too complex?
I have just tried the demo of Cinema 4D R16 (the new version) and it's the same error as with R15.
Unhandled exception: unimplemented function IPHLPAPI.DLL.NotifyIpInterfaceChange called in 64-bit code.
https://bugs.winehq.org/show_bug.cgi?id=34573
Yann Leretaille yleretaille@googlemail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |yleretaille@googlemail.com
--- Comment #4 from Yann Leretaille yleretaille@googlemail.com --- I can confirm that the bug is still present in R16 with wine 1.7.25. I looked at how the other notify functions are implemented in iphlpapi_main.c and it seems they are all stubs. Shouldn't it be enough to just add another stub for NotifyIpInterfaceChange to fix this bug?
https://bugs.winehq.org/show_bug.cgi?id=34573
--- Comment #5 from Yann Leretaille yleretaille@googlemail.com --- Created attachment 49569 --> https://bugs.winehq.org/attachment.cgi?id=49569 rough patch that implements NotifyIpInterfaceChange & CancelMibChangeNotify2
https://bugs.winehq.org/show_bug.cgi?id=34573
--- Comment #6 from Yann Leretaille yleretaille@googlemail.com --- Created attachment 49570 --> https://bugs.winehq.org/attachment.cgi?id=49570 picture of c4d running on ubuntu with a patched wine 1.7.26
https://bugs.winehq.org/show_bug.cgi?id=34573
--- Comment #7 from Yann Leretaille yleretaille@googlemail.com --- (In reply to Yann Leretaille from comment #4)
I can confirm that the bug is still present in R16 with wine 1.7.25. I looked at how the other notify functions are implemented in iphlpapi_main.c and it seems they are all stubs. Shouldn't it be enough to just add another stub for NotifyIpInterfaceChange to fix this bug?
It really annoyed me that C4D wouldn't run anymore in wine considering the previous versions ran great. I added stubs for NotifyIpInterfaceChange & CancelMibChangeNotify2 and that was really all I had to change to get the installer and the program itself working again! I never developed anything for wine before so I'm pretty sure that at least half of the new code is in the wrong files and that I didn't follow the right conventions, but it should easy to fix for a real wine dev.
I attached the patch and a picture of C4D running on Ubuntu with my modified wine.
https://bugs.winehq.org/show_bug.cgi?id=34573
--- Comment #8 from steveamigauk@yahoo.co.uk --- Nice work, Yann
I haven't tested the patch (I will later), but have you submitted it to the devs?
http://wiki.winehq.org/SubmittingPatches#head-482a2014efe397680a482a0548c55e...
https://bugs.winehq.org/show_bug.cgi?id=34573
--- Comment #9 from steveamigauk@yahoo.co.uk --- OK, Finally got around to testing, and I can confirm that the patches work. Had to jump through a couple of hoops to amend the PKGBUILD (Arch Linux), and rebuilt no less than four time because I forgot to run in my newly created 64 Bit prefix (so it tried to run in my default 32 Bit prefix) but that was just me being dumb.
https://bugs.winehq.org/show_bug.cgi?id=34573
--- Comment #10 from Yann Leretaille yleretaille@googlemail.com --- Steve, thanks for testing the patch and confirming that it works! I really don't think this patch is in a such a state that it would pass the submission criteria, though. Does anybody know how to get a dev who is familiar with this dll to look at it?
https://bugs.winehq.org/show_bug.cgi?id=34573
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |leslie_alistair@hotmail.com
--- Comment #11 from Alistair Leslie-Hughes leslie_alistair@hotmail.com --- Hi Yan,
(In reply to Yann Leretaille from comment #10)
Steve, thanks for testing the patch and confirming that it works! I really don't think this patch is in a such a state that it would pass the submission criteria, though. Does anybody know how to get a dev who is familiar with this dll to look at it?
The code overall looks good, but the things that stand out are 1. Mixing of Spaces and Tabs, look at the struct's for examples (use spaces). 2. Split the patch into two, one for CancelMibChangeNotify2, and the other for NotifyIpInterfaceChange. 3. The functions lines are a little too long, split the parameters over multiple lines.
Alistair
https://bugs.winehq.org/show_bug.cgi?id=34573
trevd trevd1234@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |trevd1234@gmail.com
--- Comment #12 from trevd trevd1234@gmail.com --- Hi Folks
Did anyone actually submit a split patch as suggested. I'm guessing not because I still need to patch the current source.
Thanks
https://bugs.winehq.org/show_bug.cgi?id=34573
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sebastian@fds-team.de
--- Comment #13 from Sebastian Lackner sebastian@fds-team.de --- I have added some stub patches to the compholio tree. Please note that the original patchset used wrong datatypes at some places. Also there is no need to add all the structures, when they are not used anywhere.
https://github.com/wine-compholio/wine-staging/tree/master/patches/iphlpapi-...
https://bugs.winehq.org/show_bug.cgi?id=34573
--- Comment #14 from Sebastian Lackner sebastian@fds-team.de --- The stubs got upstream today:
http://source.winehq.org/git/wine.git/commit/2eded57ffe511029e5423a9a588fc2d... http://source.winehq.org/git/wine.git/commit/7796661b4ce8d25049839dbe20f96b2...
https://bugs.winehq.org/show_bug.cgi?id=34573
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |7796661b4ce8d25049839dbe20f | |96b258d9e42e4 Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #15 from Anastasius Focht focht@gmx.net --- Hello folks,
this is fixed by commit http://source.winehq.org/git/wine.git/commit/7796661b4ce8d25049839dbe20f96b2...
Thanks Sebastian
--- snip --- $ pwd /home/focht/wineprefix64/drive_c/Program Files/MAXON/CINEMA 4D R15
$ WINEDEBUG=+tid,+seh,+relay wine ./CINEMA\ 4D\ 64\ Bit.exe >>log.txt 2>&1 ... 0033:Call ws2_32.WSAStartup(00000002,0023d3f0) ret=140fad32f 0033:Ret ws2_32.WSAStartup() retval=00000000 ret=140fad32f 0033:Call iphlpapi.NotifyIpInterfaceChange(00000000,140fa0ec0,00000000,00000000,0023d588) ret=140fad361 0033:fixme:iphlpapi:NotifyIpInterfaceChange (family 0, callback 0x140fa0ec0, context (nil), init_notify 0, handle 0x23d588): stub 0033:Ret iphlpapi.NotifyIpInterfaceChange() retval=00000032 ret=140fad361 ... --- snip ---
Regards
https://bugs.winehq.org/show_bug.cgi?id=34573
--- Comment #16 from trevd trevd1234@gmail.com --- @Sebastian Thanks for your work in upstreaming this.
Compiling is certainly an "interesting" exercise. I just manually download and extract 32 bit based deb pkgs on ubuntu as this meant I can (cross)compile without abusing an lxc container and could get it built with one less pass. Obviously not having to do any of that is always more preferable for drive by testing!
https://bugs.winehq.org/show_bug.cgi?id=34573
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #17 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.7.31.