Unreal Media Server - no way to run in Linux

Open forum for end-user questions about Wine. Before asking questions, check out the Wiki as a first step.
Forum Rules
Locked
vladd
Level 1
Level 1
Posts: 5
Joined: Sat May 03, 2008 11:43 am

Unreal Media Server - no way to run in Linux

Post by vladd »

Hello!

I need this app running in wine badly - http://www.umediaserver.net/umediaserver/index.html - this is a well-written VOD server replacement, which works much better in heavy-loaded networks than VLC. No signs of this application are found in appdb. The application can be freely downloaded from the above link.

It consists of two parts - the configurator (UServerConfig.exe), which works well, and the server itself - UMediaServer.exe, which should run as a regular windows service and listen incoming connections on several TCP ports. But when I try to run it in wine, the following errors occur:

vlad@serv2:~/.wine/drive_c/Program Files/UnrealStreaming/UMediaServer$ /usr/local/bin/wine UMediaServer.exe
fixme:ole:CoInitializeSecurity (0x671198,-1,(nil),(nil),4,3,(nil),0,(nil)) - stub!
err:ole:CoGetClassObject class {88d969c1-f192-11d4-a65f-0040963251e5} not registered
err:ole:CoGetClassObject class {88d969c1-f192-11d4-a65f-0040963251e5} not registered
err:ole:create_server class {88d969c1-f192-11d4-a65f-0040963251e5} not registered
fixme:ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported
err:ole:CoGetClassObject no class object {88d969c1-f192-11d4-a65f-0040963251e5} could be created for context 0x17
err:ole:CoGetClassObject class {f5078f33-c551-11d3-89b9-0000f81fe221} not registered
err:ole:CoGetClassObject class {f5078f33-c551-11d3-89b9-0000f81fe221} not registered
err:ole:create_server class {f5078f33-c551-11d3-89b9-0000f81fe221} not registered
fixme:ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported
err:ole:CoGetClassObject no class object {f5078f33-c551-11d3-89b9-0000f81fe221} could be created for context 0x17
fixme:advapi:RegisterEventSourceW ((null),L"UMediaServer"): stub
fixme:advapi:ReportEventW (0xcafe4242,0x0004,0x0000,0x00000000,(nil),0x0001,0x00000000,0x7e56ea1c,(nil)): stub
fixme:advapi:DeregisterEventSource (0xcafe4242) stub
fixme:ole:CoResumeClassObjects stub
fixme:ntdll:RtlNtStatusToDosErrorNoTeb no mapping for 8000000a
err:service:service_control_dispatcher failed to create pipe for L"UMediaServer", error = 317


I have the latest wine version (0.9.61). This error occurs in previous versions too. Can anyone suggest anything please? Any hopes at all? Maybe some native dlls could help?

Thank you a lot and best regards!
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Re: Unreal Media Server - no way to run in Linux

Post by vitamin »

vladd wrote: and the server itself - UMediaServer.exe, which should run as a regular windows service and listen incoming connections on several TCP ports.
So why are you starting it as a regular windows program? Does it run that way on windows? I don't think so.
Install it properly (so it installs itself as a service) then run it with 'net start <service_name>'. Of course make sure you have some other app running under Wine, like notepad. Or your service will be killed 5 seconds after start.
Timeout
Level 4
Level 4
Posts: 183
Joined: Sat Feb 23, 2008 12:45 pm

Re: Unreal Media Server - no way to run in Linux

Post by Timeout »

vitamin wrote: Or your service will be killed 5 seconds after start.
Interesting (and maybe out of topic). Where do these 5 seconds come from? Is any service started with Wineserver killed after 5 seconds?
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Re: Unreal Media Server - no way to run in Linux

Post by vitamin »

Timeout wrote:
vitamin wrote: Or your service will be killed 5 seconds after start.
Interesting (and maybe out of topic). Where do these 5 seconds come from? Is any service started with Wineserver killed after 5 seconds?
From wineserver. No, only remaining services & drivers without any real program running will be killed.
Timeout
Level 4
Level 4
Posts: 183
Joined: Sat Feb 23, 2008 12:45 pm

Re: Unreal Media Server - no way to run in Linux

Post by Timeout »

vitamin wrote: From wineserver. No, only remaining services & drivers without any real program running will be killed.
This is however not a typical behavior from Windows.

If you take the flexnet licensing server on Windows as service, it's running all the time, whether you are using it or not/using a software or not. It's here to check if the same license is used on the server so it gets pinged once the software opens and probably notices its closing.

When I go to the licensing tool of the license server using Wine to check for the status of the server, I get the message that it had been killed immediately after the confirmation that a license exists. If the service gets killed once the license is confirmed, the software does not remember that a license is active and the software immediately goes in demo mode after the confirmation.
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Re: Unreal Media Server - no way to run in Linux

Post by vitamin »

Timeout wrote:
vitamin wrote: From wineserver. No, only remaining services & drivers without any real program running will be killed.
This is however not a typical behavior from Windows.

If you take the flexnet licensing server on Windows as service, it's running all the time, whether you are using it or not/using a software or not. It's here to check if the same license is used on the server so it gets pinged once the software opens and probably notices its closing.

When I go to the licensing tool of the license server using Wine to check for the status of the server, I get the message that it had been killed immediately after the confirmation that a license exists. If the service gets killed once the license is confirmed, the software does not remember that a license is active and the software immediately goes in demo mode after the confirmation.
Maybe in some distant future it would be ok to run Wine in the background all the time. But not now.
For now the only realm where Wine used is user programs. Any services that must run all the time have to have a native Linux version. Request such software from your vendor. Or switch to vendor that provides native Linux versions.
You can always start a separate program such as notepad and keep it running. This will keep your services up and running.
hendrik

Unreal Media Server - no way to run in Linux

Post by hendrik »

On Sat, May 03, 2008 at 03:07:56PM -0500, vitamin wrote:
Maybe in some distant future it would be ok to run Wine in the background all the time. But not now.
For now the only realm where Wine used is user programs. Any services that must run all the time have to have a native Linux version. Request such software from your vendor. Or switch to vendor that provides native Linux versions.
You can always start a separate program such as notepad and keep it running. This will keep your services up and running.
I seem to remember that the server for Unreal Tournament has a Linux
version. I don't know whether that's relevant at all to what you're
asking, though.

-- hendrik
Timeout
Level 4
Level 4
Posts: 183
Joined: Sat Feb 23, 2008 12:45 pm

Re: Unreal Media Server - no way to run in Linux

Post by Timeout »

vitamin wrote:
Maybe in some distant future it would be ok to run Wine in the background all the time. But not now.
For now the only realm where Wine used is user programs. Any services that must run all the time have to have a native Linux version. Request such software from your vendor. Or switch to vendor that provides native Linux versions.
You can always start a separate program such as notepad and keep it running. This will keep your services up and running.
I don't think that I am worrying to much about the fact that it does get killed if inactive. There is always something I launch when using Wineserver.
However, it should not be remotely closed before I have killed/closed all other applications (and would then be launched again through the new booting of Wineserver).
vladd
Level 1
Level 1
Posts: 5
Joined: Sat May 03, 2008 11:43 am

Post by vladd »

I've just tried to run another application to test the server. The best candidate was UServerConfig.exe - a configurator for the server. So, when I run it, the following messages are displayed:

$ wine UServerConfig.exe
fixme:ole:CoInitializeSecurity (0x671198,-1,(nil),(nil),4,3,(nil),0,(nil)) - stub!
err:ole:CoGetClassObject class {88d969c1-f192-11d4-a65f-0040963251e5} not registered
err:ole:CoGetClassObject class {88d969c1-f192-11d4-a65f-0040963251e5} not registered
err:ole:create_server class {88d969c1-f192-11d4-a65f-0040963251e5} not registered
fixme:ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported
err:ole:CoGetClassObject no class object {88d969c1-f192-11d4-a65f-0040963251e5} could be created for context 0x17
err:ole:CoGetClassObject class {f5078f33-c551-11d3-89b9-0000f81fe221} not registered
err:ole:CoGetClassObject class {f5078f33-c551-11d3-89b9-0000f81fe221} not registered
err:ole:create_server class {f5078f33-c551-11d3-89b9-0000f81fe221} not registered
fixme:ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported
err:ole:CoGetClassObject no class object {f5078f33-c551-11d3-89b9-0000f81fe221} could be created for context 0x17
fixme:advapi:RegisterEventSourceW ((null),L"UMediaServer"): stub
fixme:advapi:ReportEventW (0xcafe4242,0x0004,0x0000,0x00000000,(nil),0x0001,0x00000000,0x7e562a1c,(nil)): stub
fixme:advapi:DeregisterEventSource (0xcafe4242) stub
fixme:ole:CoResumeClassObjects stub
fixme:quartz:NullRendererInner_QueryInterface No interface for {37d84f60-42cb-11ce-8135-00aa004bb851}!
fixme:quartz:NullRendererInner_QueryInterface No interface for {37d84f60-42cb-11ce-8135-00aa004bb851}!


As I suppose, UMediaServer gets started - wineserver starts to listen on its tcp port 5119. I was even able to connect to that port, it connects but drops the connection in a few seconds. The following message is displayed in wine session:

fixme:dbghelp:SymGetModuleInfo Wrong size

And that's all - wine stops responding, neither for ^C, nor in the application running in foreground (notepad or UServerConfig.exe). The connections are also not accepted anymore. The only way to stop wine is to kill it and all its processes.

I've also tried native version of dbghelp.dll, it starts but also doesn't accept any connections:

fixme:advapi:RegisterEventSourceW ((null),L"UMediaServer"): stub
fixme:advapi:ReportEventW (0xcafe4242,0x0004,0x0000,0x00000000,(nil),0x0001,0x00000000,0x7e52f0a4,(nil)): stub
fixme:advapi:DeregisterEventSource (0xcafe4242) stub
wine: Unhandled page fault on read access to 0x00000000 at address (nil) (thread 0019), starting debugger...
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x00000000).
Register dump:
CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b
.................
.................
Backtrace:
=>1 0x00000000 in UMediaServer (+0xffc00000) (0x7e52f9e0)
2 0x00413a52 in UMediaServer (+0x13a52) (0x7e52fa28)
3 0x00413bcd in UMediaServer (+0x13bcd) (0x7e52fa60)
4 0x00413ef5 in UMediaServer (+0x13ef5) (0x7e52fab8)
5 0x7efc661e ZwCreateSemaphore+0xefe() in ntdll (0x7e52fac8)
6 0x7efc6cc2 RtlExitUserThread+0x72() in ntdll (0x7e52fb68)
7 0x7efc6edf RtlExitUserThread+0x28f() in ntdll (0x7e530458)
8 0xb7e7e240 (0x7e5304c8)
9 0xb7e1349e (0x00000000)
fixme:advapi:RegisterEventSourceW ((null),L"UMediaServer"): stub
fixme:advapi:ReportEventW (0xcafe4242,0x0004,0x0000,0x00000000,(nil),0x0001,0x00000000,0x7e52f0a4,(nil)): stub
fixme:advapi:DeregisterEventSource (0xcafe4242) stub


Any hopes anymore? Or these results are already too great for wine this time?

Thank you all for your help!
vladd
Level 1
Level 1
Posts: 5
Joined: Sat May 03, 2008 11:43 am

Re: Unreal Media Server - no way to run in Linux

Post by vladd »

vitamin wrote: For now the only realm where Wine used is user programs. Any services that must run all the time have to have a native Linux version. Request such software from your vendor. Or switch to vendor that provides native Linux versions.
Can anybody please recommend a good native linux Video-on-Demand media server, which is codec-independent and supports random seeking while viewing a movie?

VLC can do that, but it works via RTSP, which is UDP and is really not good for heavy-loaded public networks. Unreal media server works with its own TCP-based protocol called UMS. It supports random seeking and works great in all networks.
Dan Kegel

Unreal Media Server - no way to run in Linux

Post by Dan Kegel »

On Sun, May 4, 2008 at 3:19 AM, vladd <[email protected]> wrote:
I've just tried to run another application to test the server.
The best candidate was UServerConfig.exe - a configurator for the server.
So, when I run it, the following messages are displayed:

$ wine UServerConfig.exe

fixme:ole:CoInitializeSecurity (0x671198,-1,(nil),(nil),4,3,(nil),0,(nil)) - stub!
err:ole:CoGetClassObject class {88d969c1-f192-11d4-a65f-0040963251e5} not registered
It seems to want msxml3 or msxml4. Try
wget http://kegel.com/wine
sh winetricks msxml3


fixme:quartz:NullRendererInner_QueryInterface No interface for {37d84f60-42cb-11ce-8135-00aa004bb851}!
That's interesting. Looks like we need to implement the
IPersistPropertyBag for the null renderer in Quartz?
As I suppose, UMediaServer gets started - wineserver starts to
listen on its tcp port 5119.
Heck, you don't have to start UServerConfig for that; starting Notepad
or even cmd will start the service and start listening on port 5119.
I was even able to connect to that
port, it connects but drops the connection in a few seconds.
The following message is displayed in wine session:

fixme:dbghelp:SymGetModuleInfo Wrong size
I reproduced this by installing unreal media server, starting notepad,
then doing
mplayer mms://localhost:5119/mediaroot/test.avi
as suggested by http://www.umediaserver.net/umediaserver/faq.html

But you don't even need mplayer; you can even just do
telnet localhost 5119
to trigger that "Wrong size" message.

dbghelp usually means there's been a crash.
To find out more, we usually try getting a log with WINEDEBUG=+relay,+seh
or running in winedbg. In this case, the log just says the crash
happens very soon after the socket is accepted,
and I can't figure out how to use winedbg on a service.

I've filed a bug report with this info, see
http://bugs.winehq.org/show_bug.cgi?id=12970
- Dan
vladd
Level 1
Level 1
Posts: 5
Joined: Sat May 03, 2008 11:43 am

Post by vladd »

I've just tested Unreal Media Server with Wine 1.1.8, and found some improvements. It now doesn't drop a connection immediately, but dies after trying to stream some data:

The following errors occur when I try to connect and watch MediaRoot/test.avi:

fixme:quartz:AVISplitter_first_request Created stream 0 thread 0x0000005a
fixme:quartz:AVISplitter_first_request Created stream 1 thread 0x0000005b
err:quartz:PullPin_Thread_Process Processing error: 8004022e
fixme:quartz:AVISplitter_done_process Waiting for 0 to terminate
err:quartz:AVISplitter_next_request ... 80040211?
fixme:quartz:AVISplitter_thread_reader Thread 0 terminated with hr 80040211!
fixme:quartz:AVISplitter_done_process Waiting for 1 to terminate
err:quartz:AVISplitter_next_request ... 80040211?
fixme:quartz:AVISplitter_thread_reader Thread 1 terminated with hr 80040211!
fixme:quartz:AVISplitter_done_process All threads are now terminated

When I try to connect some more times to the same process, some other errors appear:

err:quartz:PullPin_Thread_Process Processing error: 8004022e
err:quartz:PullPin_Thread_Process Processing error: 8004022e
err:quartz:PullPin_Thread_Process Processing error: 8004022e
....
....

Seems like some funtions of quartz.dll are not implemented. Maybe some native dlls can help? I tried to install native version of quartz.dll, but nothing changes...
austin987
Wine Developer
Wine Developer
Posts: 2383
Joined: Fri Feb 22, 2008 8:19 pm

Unreal Media Server - no way to run in Linux

Post by austin987 »

On Thu, Nov 20, 2008 at 2:36 PM, vladd <[email protected]> wrote:
I've just tested Unreal Media Server with Wine 1.1.8, and found some improvements. It now doesn't drop a connection immediately, but dies after trying to stream some data:

The following errors occur when I try to connect and watch MediaRoot/test.avi:

fixme:quartz:AVISplitter_first_request Created stream 0 thread 0x0000005a
fixme:quartz:AVISplitter_first_request Created stream 1 thread 0x0000005b
err:quartz:PullPin_Thread_Process Processing error: 8004022e
fixme:quartz:AVISplitter_done_process Waiting for 0 to terminate
err:quartz:AVISplitter_next_request ... 80040211?
fixme:quartz:AVISplitter_thread_reader Thread 0 terminated with hr 80040211!
fixme:quartz:AVISplitter_done_process Waiting for 1 to terminate
err:quartz:AVISplitter_next_request ... 80040211?
fixme:quartz:AVISplitter_thread_reader Thread 1 terminated with hr 80040211!
fixme:quartz:AVISplitter_done_process All threads are now terminated

When I try to connect some more times to the same process, some other errors appear:

err:quartz:PullPin_Thread_Process Processing error: 8004022e
err:quartz:PullPin_Thread_Process Processing error: 8004022e
err:quartz:PullPin_Thread_Process Processing error: 8004022e
....
....

Seems like some funtions of quartz.dll are not implemented. Maybe some native dlls can help? I tried to install native version of quartz.dll, but nothing changes...





Did you override it in winecfg?


--
-Austin
vladd
Level 1
Level 1
Posts: 5
Joined: Sat May 03, 2008 11:43 am

Re: Unreal Media Server - no way to run in Linux

Post by vladd »

austin987 wrote:On Thu, Nov 20, 2008 at 2:36 PM, vladd <[email protected]> wrote:
Seems like some funtions of quartz.dll are not implemented. Maybe some native dlls can help? I tried to install native version of quartz.dll, but nothing changes...
Did you override it in winecfg?
--
-Austin
Yes, of course I did.
Locked