[Bug 37906] Gecko can't be used from multiple threads (affects Office 365, iLivid, VideoReDo Plus 3.x)

WineHQ Bugzilla wine-bugs at winehq.org
Fri May 28 03:42:04 CDT 2021


https://bugs.winehq.org/show_bug.cgi?id=37906

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Gecko can't be used from    |Gecko can't be used from
                   |multiple threads (affects   |multiple threads (affects
                   |Office 365, iLivid,         |Office 365, iLivid,
                   |VideoReDo)                  |VideoReDo Plus 3.x)
                 CC|                            |focht at gmx.net
           Keywords|                            |download
                URL|                            |https://web.archive.org/web
                   |                            |/20150323155904/http://www.
                   |                            |videoredo.com/en/Download.h
                   |                            |tm?download=plus

--- Comment #6 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

'iLivid' app/installer mentioned here is abandonware.

https://web.archive.org/web/20131012005744/http://download.cdn.ilivid.com/cdn/r/0/iLividSetup-r0-n-bc.exe

The web-boostrapper tries to download the actual installer payload from now
defunct site hence can't be used for reproduce anymore.

Taking the app from bug 33285 ("VideoReDo crashes when saving SECOND file") for
reproducing.

https://web.archive.org/web/20150323155904if_/http://www.videoredo.com/en/Download.htm?download=plus

Example video file (mpeg-2):

https://web.archive.org/web/20080604024319/http://users.wfu.edu/yipcw/atg/vid/katamari-star8-10s.mpg

Copied instructions from https://bugs.winehq.org/show_bug.cgi?id=33285#c0

--- quote ---
- Loading mpg
- Selecting frames from-to
- Save mpg clip
- Getting a ieframe with stats
This works fine for the first time, but the second time it crashes.

Last line in the log before the crash is urlmon.
After that i get:

###!!! ABORT: Main-thread-only object used off the main thread: file
/build/wine-mozilla-1.9/xpcom/base/nsCycleCollector.cpp, line 1151
--- quote ---

'winetricks -q quartz' is needed to work around other insufficiencies. The
reporter didn't bother to mention this. 

--- snip ---
$ pwd
/home/focht/.wine/drive_c/Program Files (x86)/VideoReDoPlus

$ wine ./VRDPlus3.exe
...
0128:fixme:wmvcore:WMSyncReader_Open
(04F4D578)->(L"Z:\\home\\focht\\Downloads\\katamari-star8-10s.mpg"): stub!
0128:fixme:wmvcore:WMSyncReader_Open
(04F4D578)->(L"Z:\\home\\focht\\Downloads\\katamari-star8-10s.mpg"): stub!
0128:fixme:quartz:VMR9MonitorConfig_GetMonitor (0FC699C0/0FC695F0)->(003277FC)
stub
0128:fixme:quartz:VMR9MonitorConfig_GetAvailableMonitors
(0FC699C0/0FC695F0)->(00327804, 16, 00327800) semi-stub
0128:fixme:quartz:VMR9FilterConfig_SetNumberOfStreams iface 0FC699B0, count 1,
stub!
wine: Unhandled page fault on write access to 125C0000 at address 00D1369E
(thread 0230), starting debugger...
--- snip ---

When saving the clip the app crashes when re-muxing. 

--- snip ---
...
0200:fixme:wmvcore:WMSyncReader_Open
(04DDA9A0)->(L"Z:\\home\\focht\\Downloads\\katamari-star8-10s.mpg"): stub!
0024:fixme:wincodecs:jpeg_decoder_get_metadata_blocks stub
0200:fixme:ieframe:PersistStreamInit_InitNew (04194940)
0200:fixme:ieframe:navigate_url Unsupported args (Flags 1988E450 {VT_I4: 0};
TargetFrameName 1988E460 {VT_BSTR: (null)})
wine: Unhandled page fault on write access to 00000000 at address 04F5F7A7
(thread 0200), starting debugger...
--- snip ---

--- snip ---
<xul.__ZN17nsObserverService11AddObserverEP11nsIObserverPKcb at 16>
; /build/wine-gecko-2.47.2/xpcom/ds/nsObserverService.cpp:223

04F5F640 | push ebp                                                             
04F5F641 | push ebx                                                             
04F5F642 | push edi                                                             
04F5F643 | push esi                                                             
04F5F644 | sub esp,1C                                                           
04F5F647 | mov ebx,dword ptr ss:[esp+38]                                        
04F5F64B | mov edi,dword ptr ss:[esp+34]                                        
04F5F64F | mov ecx,<xul.sObserverServiceLog>                                    
04F5F654 | call <xul.__ZN7mozilla13LazyLogModulecvPNS_9LogModuleEEv>            
04F5F659 | push 4                                                               
04F5F65B | push eax                                                             
04F5F65C | call
<xul.__ZN7mozilla6detail8log_testEPKNS_9LogModuleENS_8LogLevelE>     
04F5F661 | add esp,8                                                            
04F5F664 | test al,al                                                           
04F5F666 | je xul.4F5F684                                                       
04F5F668 | mov ecx,<xul.sObserverServiceLog> ;
xpcom/ds/nsObserverService.cpp:224
04F5F66D | call <xul.__ZN7mozilla13LazyLogModulecvPNS_9LogModuleEEv>            
04F5F672 | push ebx                                                             
04F5F673 | push edi                                                             
04F5F674 | push xul.7C1BD30                                                     
04F5F679 | push 4                                                               
04F5F67B | push eax                                                             
04F5F67C | call <xul.__ZN7mozilla6detail9log_printEPKNS_9...
04F5F681 | add esp,14                                                           
04F5F684 | call <xul.__Z15NS_IsMainThreadv> ;
xpcom/ds/nsObserverService.cpp:227
04F5F689 | test al,al                                                           
04F5F68B | je xul.4F5F7A7                                                       
04F5F691 | mov esi,dword ptr ss:[esp+30]                                        
04F5F695 | mov eax,8046001E                                                     
04F5F69A | cmp byte ptr ds:[esi+C],0                                            
04F5F69E | je xul.4F5F6AA                                                       
04F5F6A0 | add esp,1C               ; xpcom/ds/nsObserverService.cpp:249
04F5F6A3 | pop esi                                                              
04F5F6A4 | pop edi                                                              
04F5F6A5 | pop ebx                                                              
04F5F6A6 | pop ebp                                                              
04F5F6A7 | ret 10                                                               
...
04F5F7A7 | mov dword ptr ds:[0],E3  ; xpcom/ds/nsObserverService.cpp:227
04F5F7B1 | call <xul._abort>                                                    
--- snip ---

https://sourceforge.net/p/wine/wine-gecko/ci/master/tree/xpcom/ds/nsObserverService.cpp

--- snip ---
#define NS_ENSURE_VALIDCALL \
    if (!NS_IsMainThread()) {                                     \
        MOZ_CRASH("Using observer service off the main thread!"); \
        return NS_ERROR_UNEXPECTED;                               \
    }                                                             \
    if (mShuttingDown) {                                          \
        NS_ERROR("Using observer service after XPCOM shutdown!"); \
        return NS_ERROR_ILLEGAL_DURING_SHUTDOWN;                  \
    }
--- snip ---

$ sha1sum VideoReDoPlusM-3-10-3-629d.exe 
104f601a50df510bec45e4ec4f0a460ade53286c  VideoReDoPlusM-3-10-3-629d.exe

$ du -sh VideoReDoPlusM-3-10-3-629d.exe 
15M    VideoReDoPlusM-3-10-3-629d.exe

$ wine --version
wine-6.9-148-gce151dd681f

Regards

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.


More information about the wine-bugs mailing list