http://bugs.winehq.org/show_bug.cgi?id=35780
Bug ID: 35780 Summary: unhandled exception; qcap; while running cura.py Product: Wine Version: 1.6.1 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: blocker Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: jluscher@gmail.com
Created attachment 47775 --> http://bugs.winehq.org/attachment.cgi?id=47775 backtrace file from wine at crash
Running Cura (for 3D printing - developed in Python).
Cura is running very well under wine 1.6; manipulating models in 3D, slicing the models into GCode, saving the GCode to disk, etc.
Linux detects the attachment of the USB cable to the printer controller (Marlin) at 'ttyUSB0', and Cura also acknowledges the connection has been made - it changes a button of the GUI from 'slice' to 'print'.
When I click on 'print' a window is opened and at the same time another is opened from wine reporting a crash (backtrace attached).
I have searched for something called 'qcap' which, to me, appears to be the last code being run - but I can find nothing on it.
I am running Cura 14.01 from website: http://software.ultimaker.com/
James Luscher
http://bugs.winehq.org/show_bug.cgi?id=35780
--- Comment #1 from James Luscher jluscher@gmail.com --- More research indicated that the crash was related to accessing the webcam.
I have an image (.png) of the details here: http://ubuntuone.com/26EJrLnsjM9NxS4FbbrJIq
The developer has responded that the next revision of Cura (14.02) is going to remove access to the webcam.
I will try the new version ASAP, which will hopefully, let me proceed with running the program - though it doesn't mean that any problem has been fixed :-(
James
https://bugs.winehq.org/show_bug.cgi?id=35780
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download URL| |software.ultimaker.com Severity|blocker |normal
--- Comment #2 from Austin English austinenglish@gmail.com --- Not a blocker. Please retry in 1.7.14.
http://bugs.winehq.org/show_bug.cgi?id=35780
--- Comment #3 from James Luscher jluscher@gmail.com --- Further research shows Cura makes use of a Python VideoCapture module for windows documented at: http://videocapture.sourceforge.net/
The comments for videocapture refer to this Windows tech:
"The low-level module uses DirectShow which is already included in DirectX 8.0 and higher."
(perhaps this is useful?)
https://bugs.winehq.org/show_bug.cgi?id=35780
Michael Stefaniuc mstefani@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mstefani@redhat.com Component|-unknown |quartz
https://bugs.winehq.org/show_bug.cgi?id=35780
Alex Henrie alexhenrie24@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |alexhenrie24@gmail.com Keywords| |hardware
https://bugs.winehq.org/show_bug.cgi?id=35780
Damjan Jovanovic damjan.jov@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |damjan.jov@gmail.com
--- Comment #4 from Damjan Jovanovic damjan.jov@gmail.com --- There are problems in Python's VideoCapture module (http://videocapture.sourceforge.net/).
It attempts to use the camera as the initial filter and a sample grabber as the intermediate filter, and expects the sample grabber to connect to the default renderer:
hr = self->ob_pBuilder->RenderStream( &PIN_CATEGORY_CAPTURE, // changed from ..._PREVIEW to ..._CAPTURE &MEDIATYPE_Video, self->ob_pSrc, // src pF, // via NULL // dest ; or pNullRenderer ); if (FAILED(hr)) { PyErr_SetString(VidcapError, "Capture Graph could not be created."); cleanup(self); return FALSE; }
(self->ob_pSrc = camera, pF = sample grabber)
This fails on Wine, in all 3 of the examples that come with VideoCapture-0.9.5. That error is printed out:
Traceback (most recent call last): File "exa1_snapshot.py", line 3, in <module> cam = Device() File "C:\Python27\lib\VideoCapture.py", line 49, in __init__ self.dev = vidcap.new_Dev(devnum, showVideoWindow) vidcap.Error: Capture Graph could not be created.
https://bugs.winehq.org/show_bug.cgi?id=35780
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com
--- Comment #5 from Zebediah Figura z.figura12@gmail.com --- (In reply to Damjan Jovanovic from comment #4)
There are problems in Python's VideoCapture module (http://videocapture.sourceforge.net/).
It attempts to use the camera as the initial filter and a sample grabber as the intermediate filter, and expects the sample grabber to connect to the default renderer:
It should be able to; I accidentally broke the sample grabber in some ways recently. I have some patches.
https://bugs.winehq.org/show_bug.cgi?id=35780
--- Comment #6 from Damjan Jovanovic damjan.jov@gmail.com --- It works now.
Installation process:
1. Download python-2.7.17.msi and install it. 2. Download PIL-1.1.7.win32-py2.7.exe from https://www.pythonware.com/products/pil/ and run/install it. 3. Download VideoCapture-0.9-5.zip from http://videocapture.sourceforge.net 3.1 Unzip it 3.2 cd Python27/ 3.3 cp Lib/* ~/.wine-py-vidcap/drive_c/Python27/Lib/ 3.4 cp DLLs/vidcap.pyd ~/.wine-py-vidcap/drive_c/Python27/DLLs/ 3.5 cd ../Examples 3.6 wine python exa1_snapshot.py (working) 3.7 wine python exa2_show-possibilities.py (working) 3.8 wine python exa3_observer.py (broken)
The exa3_observer.py fails because it tries to get property pages which Wine doesn't support:
0009:fixme:qcap:fnCaptureGraphBuilder2_RenderStream (0x5d5f78/0x5d5f78)->({fb6c4281-0353-11d1-905f-0000c0cc16ba}, {73646976-0000-0010-8000-00aa00389b71}, 0x5d7d30, 0x5d8008, 0x0) semi-stub! 0009:fixme:qcap:KSP_Get () Not adding a pin with PIN_CATEGORY_PREVIEW 0009:fixme:qcap:KSP_Get () Not adding a pin with PIN_CATEGORY_PREVIEW 0009:fixme:qcap:capture_query_accept (0x5d875c) stub 0009:fixme:qcap:fnCaptureGraphBuilder2_FindInterface (0x5d5f78/0x5d5f78)->({fb6c4281-0353-11d1-905f-0000c0cc16ba}, {73766169-0000-0010-8000-00aa00389b71}, 0x5d7d30, {c6e13340-30ac-11d0-a18c-00a0c9118956}, 0x40fba0) - workaround stub! 0009:fixme:qcap:fnCaptureGraphBuilder2_FindInterface (0x5d5f78/0x5d5f78)->({fb6c4281-0353-11d1-905f-0000c0cc16ba}, {73646976-0000-0010-8000-00aa00389b71}, 0x5d7d30, {c6e13340-30ac-11d0-a18c-00a0c9118956}, 0x40fba0) - workaround stub! Traceback (most recent call last): File "exa3_observer.py", line 16, in <module> cam.displayCapturePinProperties() File "C:\Python27\lib\VideoCapture.py", line 82, in displayCapturePinProperties self.dev.displaycapturepinproperties() vidcap.Error: Querying the capture pin for its property pages failed.
But that's not a crash. We cannot reproduce the originally reported bug with the example code.
https://bugs.winehq.org/show_bug.cgi?id=35780
--- Comment #7 from Damjan Jovanovic damjan.jov@gmail.com --- Cura is open-source (AGPLv3), and the source code can be downloaded from: https://github.com/Ultimaker/Cura/archive/14.01.zip To build it, however, is a mission.
Can you please test whether this is still an issue with Wine 5.0-rc2 or later?