Summary: | dbus-daemon crashes under wine 1.4: segfault in RtlReAllocateHeap() | ||
---|---|---|---|
Product: | dbus | Reporter: | Simon McVittie <smcv> |
Component: | core | Assignee: | Havoc Pennington <hp> |
Status: | RESOLVED NOTOURBUG | QA Contact: | |
Severity: | minor | ||
Priority: | low | CC: | ralf.habacker |
Version: | unspecified | ||
Hardware: | Other | ||
OS: | Windows (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Bug Depends on: | 68506 | ||
Bug Blocks: | |||
Attachments: | Use TEST_LISTEN in incoming-listen.conf.in |
Description
Simon McVittie
2013-09-02 17:00:40 UTC
If I patch get_pid_from_tcp_ex_table() so it's just "return 0" and recompile, I get this instead: Program received signal SIGSEGV, Segmentation fault. 0x7ead1ba1 in CryptAcquireContextW () from /usr/lib/i386-linux-gnu/wine/advapi32.dll.so Wine-gdb> bt #0 0x7ead1ba1 in CryptAcquireContextW () from /usr/lib/i386-linux-gnu/wine/advapi32.dll.so #1 0x7ead1f4d in CryptAcquireContextA () from /usr/lib/i386-linux-gnu/wine/advapi32.dll.so #2 0x0042ffdf in ?? () (In reply to comment #0) > Here's the best I can get from winedbg (I am really not a Windows or Wine > expert). Any ideas? This is with my patches from Bug #68852 and Bug #68610. > > Next step: see whether this executable works in Windows... ... > fixme:iphlpapi:GetExtendedTcpTable ulAf = 2, TableClass = 5 not supportted > fixme:iphlpapi:GetExtendedTcpTable ulAf = 2, TableClass = 5 not supportted ... >Program received signal SIGSEGV, Segmentation fault. >0x7bc4b2c5 in RtlReAllocateHeap () no problems here, checked on opensuse 12.2 and wine (32bit) 1.5.6, 1.6.0 and 1.7.1 did run %winedbg --gdb bus/dbus-daemon.exe --nofork --print-address=1 --config-file=test/data/valid-config-files/session.conf got tcp:host=localhost,port=12765,family=ipv4,guid=b24bbb5bc3940fd6b868a9df52251284 (In reply to comment #2) > did run > > %winedbg --gdb bus/dbus-daemon.exe --nofork --print-address=1 > --config-file=test/data/valid-config-files/session.conf Sorry, I should have said: the other part of this test was to run the test-dbus-daemon test, pointing it to that dbus-daemon: DBUS_TEST_DAEMON_ADDRESS=tcp:host=localhost,port=22960 wine ~/build/dbus/mingw/test/test-dbus-daemon.exe (adjust paths, port as needed). If that works OK on "real Windows" (and preferably also on newer Wine), then we can consider this to be NOTOURBUG. (In reply to comment #3) > the other part of this test was to run the > test-dbus-daemon test, pointing it to that dbus-daemon ... which requires Attachment #85077 [details]. (In reply to comment #4) > (In reply to comment #3) > > the other part of this test was to run the > > test-dbus-daemon test, pointing it to that dbus-daemon > > ... which requires Attachment #85077 [details]. ..:~/src/dbus-cross-cmake-build> DBUS_TEST_DAEMON=bin/dbus-daemon.exe DBUS_TEST_DATA=z:$PWD/test/data wine bin/test-dbus-daemon.exe /creds: ** Message: bin/dbus-daemon.exe --config-file=z:/home/ralf/src/dbus-cross-cmake-build/test/data/valid-config-files/session.conf ** Message: ProcessID of this process is 8 OK /echo/session: ** Message: bin/dbus-daemon.exe --config-file=z:/home/ralf/src/dbus-cross-cmake-build/test/data/valid-config-files/session.conf OK /echo/limited: ** Message: bin/dbus-daemon.exe --config-file=z:/home/ralf/src/dbus-cross-cmake-build/test/data/valid-config-files/incoming-limit.conf Failed to start message bus: Unknown address type 'unix' Changing listen statement in incoming-limit.conf to 'autolaunch:' let the last test run successfully: /echo/limited: ** Message: bin/dbus-daemon.exe --config-file=z:/home/ralf/src/dbus-cross-cmake-build/test/data/valid-config-files/incoming-limit.conf OK I tested this with wine-1.5.6 (In reply to comment #5) > Failed to start message bus: Unknown address type 'unix' Yeah, I should make that #ifdef DBUS_UNIX. It looks as though testing autolaunch would interfere with a "real" autolaunched bus, so we should avoid that? dropping severity since it isn't really our bug (In reply to comment #6) > (In reply to comment #5) > > Failed to start message bus: Unknown address type 'unix' > > Yeah, I should make that #ifdef DBUS_UNIX. > > It looks as though testing autolaunch would interfere with a "real" > autolaunched bus, so we should avoid that? The problem is a <listen>unix:tmpdir=/tmp</listen> in the related bus daemon config file. /echo/limited: ** Message: starting dbus daemon: bin/dbus-daemon.exe --config-file=z:/home/ralf/src/dbus-cross-cmake-build/test/data/valid-config-files/incoming-limit.conf It is required to use a variable for the listen statement in this config file, which is filled out by the configure process. Created attachment 87363 [details] [review] Use TEST_LISTEN in incoming-listen.conf.in (In reply to comment #9) > Created attachment 87363 [details] [review] [review] > Use TEST_LISTEN in incoming-listen.conf.in works now with this patch xxxx@yyyy:~/src/dbus-cross-cmake-build> DBUS_SESSION_BUS_ADDRESS= DBUS_TEST_DAEMON=bin/dbus-daemon.exe DBUS_TEST_DATA=z:$PWD/test/data wine bin/test-dbus-daemon.exe /creds: ** Message: starting dbus daemon: bin/dbus-daemon.exe --config-file=z:/home/ralf/src/dbus-cross-cmake-build/test/data/valid-config-files/session.conf ** Message: ProcessID of this process is 8 OK /echo/session: ** Message: starting dbus daemon: bin/dbus-daemon.exe --config-file=z:/home/ralf/src/dbus-cross-cmake-build/test/data/valid-config-files/session.conf OK /echo/limited: ** Message: starting dbus daemon: bin/dbus-daemon.exe --config-file=z:/home/ralf/src/dbus-cross-cmake-build/test/data/valid-config-files/incoming-limit.conf OK Comment on attachment 87363 [details] [review] Use TEST_LISTEN in incoming-listen.conf.in moved patch to bug 68506 stable wine version is 1.6 and dbus-daemon is known to work with at least wine 1.5.6. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.