http://bugs.winehq.org/show_bug.cgi?id=24101
--- Comment #21 from Guillaume ORTEGA guillaume.ortega@OpenPlug.com 2010-08-31 10:51:30 CDT --- Hello,
I did some new investigations. I tested my project (Bug Zip) on Linux: - Kubuntu 10.04 - Wine 1.2 (auto installed with apt-get) - Dual Core cpu - With a call to ulimit -n 10000
And the test project work. It seems to be a problem with the MacOS Porting part.
My company try to port an IDE to MacOSX with the help of Wine. We only have problems when compiling a big project on MacOSX, the product use GNU make and arm-gcc to compile this project.
The building process create cascaded process : - 1 Process run Gnu Make - 1 Sub make is created with -j3 (problem also with -j1) - 3 Sub makes creates an OP_Gen.exe process that run gcc - 1 and gcc run also cc1, collect ect... - And make also create sub batch (.bat) scripts in all steps
I identify the problem, and it's related to create cascaded process, I create the project in attachement Bug Zip to Debug easyly.
I investigate with traces, I detect 2 part that cause the problems :
- process_poll_events (server/process.c) on the server is called with argument event at 11, before the child process begin (on the fork of create_process (dlls/kernel32/process.c))
- the child start at create_process (dlls/kernel32/process.c) and stop on server_init_thread(dlls/ntdll/server.c) on wine_server_send_fd( reply_pipe[1] );. And on wine_server_send_fd I get the EPIPE error with the sendmsg.
It seems the communication socket (create with socketpair) is closed somewhere else.
We are disposed to debug ourselves the bug and make a patch for the community.
Could someone could help us to investigate the problem? Where in the porting could be the problem?
Best Regards,
Guillaume ORTEGA.