Project

General

Profile

Actions

Bug #171

open

dbus-sharp uses invalid SOCK_STREAM constant

Added by Igor Pashev over 10 years ago. Updated over 10 years ago.

Status:
Feedback
Priority:
Low
Assignee:
-
Start date:
2014-05-22
Due date:
% Done:

90%

Estimated time:

Description

dbus-csharp uses invalid SOCK_STEAM constant. It is set to 1 as on Linux, but on Dyson it is 2. This cause Tomboy to crash.

# grep -rnH SOCK_STREAM 
src/Unix/UnixSocket.cs:50:              // FIXME: SOCK_STREAM is 2 on Solaris
src/Unix/UnixSocket.cs:51:              public const short SOCK_STREAM = 1;
# tomboy

Unhandled Exception:
System.TypeInitializationException: An exception was thrown by the type initializer for DBus.Bus ---> System.Exception: Error 98: Protocol wrong type for socket
  at DBus.Unix.UnixSocket.Connect (System.Byte[] remote_end) [0x00000] in <filename unknown>:0 
  at DBus.Transports.UnixNativeTransport.OpenUnix (System.String path) [0x00000] in <filename unknown>:0 
  at DBus.Transports.UnixNativeTransport.Open (System.String path, Boolean abstract) [0x00000] in <filename unknown>:0 
  at DBus.Transports.UnixTransport.Open (DBus.AddressEntry entry) [0x00000] in <filename unknown>:0 
  at DBus.Transports.Transport.Create (DBus.AddressEntry entry) [0x00000] in <filename unknown>:0 
  at DBus.Connection.OpenPrivate (System.String address) [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at DBus.BusG.Init () [0x00000] in <filename unknown>:0 
  at Tomboy.RemoteControlProxy.get_FirstInstance () [0x00000] in <filename unknown>:0 
  at Tomboy.Tomboy.Main (System.String[] args) [0x00000] in <filename unknown>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: An exception was thrown by the type initializer for DBus.Bus ---> System.Exception: Error 98: Protocol wrong type for socket
  at DBus.Unix.UnixSocket.Connect (System.Byte[] remote_end) [0x00000] in <filename unknown>:0 
  at DBus.Transports.UnixNativeTransport.OpenUnix (System.String path) [0x00000] in <filename unknown>:0 
  at DBus.Transports.UnixNativeTransport.Open (System.String path, Boolean abstract) [0x00000] in <filename unknown>:0 
  at DBus.Transports.UnixTransport.Open (DBus.AddressEntry entry) [0x00000] in <filename unknown>:0 
  at DBus.Transports.Transport.Create (DBus.AddressEntry entry) [0x00000] in <filename unknown>:0 
  at DBus.Connection.OpenPrivate (System.String address) [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at DBus.BusG.Init () [0x00000] in <filename unknown>:0 
  at Tomboy.RemoteControlProxy.get_FirstInstance () [0x00000] in <filename unknown>:0 
  at Tomboy.Tomboy.Main (System.String[] args) [0x00000] in <filename unknown>:0 


3447/1:        so_socket(PF_UNIX, SOCK_DGRAM, 0, 0x00000000, SOV_DEFAULT) = 3
3447/1:        connect(3, 0xFFFFFD7FFD80B3F0, 34, SOV_DEFAULT)    Err#98 EPROTOTYPE
3447/1:        access("/usr/lib/locale/en_US.UTF-8", F_OK)    = 0
Actions #1

Updated by Igor Pashev over 10 years ago

This is how dbus-send works:

dbus-send --session --dest=org.freedesktop.DBus --type=method_call --print-reply /org/freedesktop/DBus org.freedesktop.DBus.ListNames
so_socket(PF_UNIX, SOCK_STREAM, 0, 0x00000000, SOV_XPG4_2) = 3
fcntl(3, F_GETFD, 0x00000000)                   = 0
fcntl(3, F_SETFD, 0x00000001)                   = 0
connect(3, 0xFFFFFD7FFFDFE9E0, 22, SOV_XPG4_2)  = 0
Actions #2

Updated by Igor Pashev over 10 years ago

EPROTOTYPE
              Remote  socket  does not match the local socket type (SOCK_DGRAM
              vs.  SOCK_STREAM)
Actions #3

Updated by Igor Pashev over 10 years ago

# grep -rnH SOCK_STREAM 
src/Unix/UnixSocket.cs:50:              // FIXME: SOCK_STREAM is 2 on Solaris
src/Unix/UnixSocket.cs:51:              public const short SOCK_STREAM = 1;

Actions #4

Updated by Igor Pashev over 10 years ago

  • Subject changed from tomboy fails to start with dbus to dbus-csharp uses invalid SOCK_STEAM constant
  • Description updated (diff)
Actions #5

Updated by Igor Pashev over 10 years ago

  • Subject changed from dbus-csharp uses invalid SOCK_STEAM constant to dbus-sharp uses invalid SOCK_STEAM constant
Actions #6

Updated by Igor Pashev over 10 years ago

  • Subject changed from dbus-sharp uses invalid SOCK_STEAM constant to dbus-sharp uses invalid SOCK_STREAM constant
Actions #8

Updated by Igor Pashev over 10 years ago

  • Status changed from New to Feedback
  • Priority changed from Normal to Low
  • % Done changed from 0 to 90

Resolved by hardcoding 2 :-)

Actions #9

Updated by Igor Pashev over 10 years ago

  • Status changed from Feedback to New
Actions #10

Updated by Igor Pashev over 10 years ago

  • Status changed from New to Feedback
Actions

Also available in: Atom PDF