Dear Marc-André,

I'm sorry for not responding, but I was distracted for the major part of the 
day (&& night) by some smartcard issues, that current git HEAD suffers from.

In order to not endanger my vital functions, I fixed it with backporting my 
patches to 1.0.2 hopefully (my users need both, smartcard and multi monitor 
support, and are quite explicit about it). Will find out tomorrow (oh well, 
later today..). Definitely.

FWIW, here's a rather strange BT of such a crash, that happens quickly after 
getting the SC into use of some apps (financial transaction safeguarding):

1.1.0-0.git20130424.4.1:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb74b5b90 (LWP 24189)]
0xb791c906 in memcpy () from /lib/libc.so.6
(gdb) bt full
#0  0xb791c906 in memcpy () from /lib/libc.so.6
No symbol table info available.
#1  0x00000034 in ?? ()
No symbol table info available.
#2  0xb7e79f90 in freerdp_image_convert (srcData=0xbba02dd8 '?' <repeats 200 
times>..., 
    dstData=0x0, width=64, height=52, srcBpp=0, dstBpp=32, clrconv=0x80a9190)
    at /usr/src/debug/freerdp-1.1.0.0.git20130424/libfreerdp/codec/color.c:771
        _p_freerdp_image_convert = (p_freerdp_image_convert) 0x100
#3  0xb7f942fd in xf_Bitmap_New (context=0x809f228, bitmap=0xbb906d50)
    at /usr/src/debug/freerdp-1.1.0.0.git20130424/client/X11/xf_graphics.c:56
        data = (BYTE *) 0x80a03b8 "?\004\b(?t\b(?t\b\230?t\b0?004\b?\005\b "
        pixmap = 50333666
        image = <value optimized out>
        xfi = (xfInfo *) 0x80a03b8
#4  0xb7f08110 in update_gdi_cache_bitmap_v2 (context=0x809f228, 
cache_bitmap_v2=0x8069ed4)
    at 
/usr/src/debug/freerdp-1.1.0.0.git20130424/libfreerdp/cache/bitmap.c:119
        bitmap = (rdpBitmap *) 0xbb906d50
        prevBitmap = <value optimized out>
        cache = (rdpCache *) 0x80a8cd8
#5  0xb7ec69d1 in update_recv_secondary_order (update=0x8067650, s=0x805b2f8, 
flags=3 '\003')
    at 
/usr/src/debug/freerdp-1.1.0.0.git20130424/libfreerdp/core/orders.c:1964
        orderType = <value optimized out>
        extraFlags = <value optimized out>
        context = (rdpContext *) 0x809f228
        secondary = (rdpSecondaryUpdate *) 0x8069e28
#6  0xb7ecda1b in update_recv_order (update=0x8067650, s=0x805b2f8)
    at 
/usr/src/debug/freerdp-1.1.0.0.git20130424/libfreerdp/core/orders.c:2122
        controlFlags = 0 '\0'
#7  0xb7edc45f in fastpath_recv_updates (fastpath=0x806dfd8, s=0x805b2f8)
    at 
/usr/src/debug/freerdp-1.1.0.0.git20130424/libfreerdp/core/fastpath.c:158
        status = <value optimized out>
        update = (rdpUpdate *) 0x8067650
#8  0xb7eda7a9 in rdp_recv_pdu (rdp=0x804e720, s=0x805b2f8)
    at /usr/src/debug/freerdp-1.1.0.0.git20130424/libfreerdp/core/rdp.c:865
No locals.


What's strange is, that the crash happens in some bitmapping code paths, while 
it is related to SC. When driving without SC, my tiny framework code will 
detect that, and run xfreerdp without SC arguments, which appeared to be 
stable (today). Points to some sorts of memory corruption. I also noticed (in 
gdb), that SC provoke rather excessive threading action. Hmmm.


To cut the long story short, I couldn't find time to even think about your 
reply. Will do so soon. Please bear with me.


Cheers,
Pete

On Sonntag, 28. April 2013 16:41:43 Marc-André Moreau wrote:
> Hi Hans-Peter,
> 
> Thanks for your contribution. I've started integrating bits from it, and
> I'm trying to think of the best way to get this done cleanly. From the code
> I have working here, you've modified the multimon detection logic and
> extended the size option to get a desktop position.
> 
> Here's what I'd like to do to:
> 
> Add an option to list detected screens, and provide a command for passing
> in an array of displays to use.
> 
> Let's say we could list the monitors like this (the following config
> matches my dual full-hd monitor setup)
> 
> /monitor-list
> [0] 1920x1080 +0+0 *
> [1] 1920x1080 +1920+0
> 
> We could then specify monitor settings like this:
> 
> /monitors:0,1
> /monitors:1920x1080+0+0,1920x1080+1920+0
> 
> /monitors:1
> /monitors:1920x1080+1920+0
> 
> By default fullscreen shouldn't take all screens like it currently does, it
> is very annoying. We should enable it with /multimon for true multimon, and
> also support /span for the span mode. With the following suggestions we'd
> be able to get complex multi-monitor setups working well. When going
> fullscreen without /multimon we can simply default to going fullscreen on
> the current screen, not all of them.
> 
> What do you think?
> 
> On Sat, Apr 27, 2013 at 11:01 AM, Hans-Peter Jansen <h...@urpla.net> wrote:
> > On Freitag, 26. April 2013 18:11:57 Hans-Peter Jansen wrote:
> > > Dear Marc-Andre, dear RDP-People,
> > > 
> > > this is an astonishing project, with so much high quality code, a nice
> > 
> > build
> > 
> > > environment, impressing progress, where I wonder, why it is so silent on
> > > any communication channel. Hmm.
> > > 
> > > Anyway, here's a proposed contribution to your project.
> > > 
> > > A few words on my environment: I'm responsible for a diskless linux
> > 
> > desktop
> > 
> > > setup (fat clients) in a transportation firm. All relevant desktops run
> > 
> > on
> > 
> > > 24" screens (1920x1200), with up to three of them resulting in a
> > 
> > 5760x1200
> > 
> > > desktop, exhausting the horizontal RDP limit of 4096... Oh, well. Let's
> > > wait for RDP 8.0 in Windows 9, raising it to .. 8192, I bet(!).
> > 
> > Okay, this is not correct. It looks like only rdesktop does suffer from
> > this
> > limitation, but not xfreedrp:
> > 
> > DBG_X11 xf_detect_monitors (96): desktop: 5760x1200+0+0 (max: 5760x1200)
> > DBG_X11 xf_detect_monitors (137): vscreen[0]: 1920x1200+0+0 (primary)
> > DBG_X11 xf_detect_monitors (137): vscreen[1]: 1920x1200+1920+0
> > DBG_X11 xf_detect_monitors (137): vscreen[2]: 1920x1200+3840+0
> > DBG_X11 xf_detect_monitors (146): area: 5760x1200+0+0
> > DBG_X11 xf_detect_monitors (179): monitor[0]: 1920x1200+0+0 (primary)
> > DBG_X11 xf_detect_monitors (179): monitor[1]: 1920x1200+1920+0
> > DBG_X11 xf_detect_monitors (179): monitor[2]: 1920x1200+3840+0
> > 
> > as well as /workarea:
> > 
> > DBG_X11 xf_detect_monitors (96): desktop: 5760x1153+0+0 (max: 5760x1153)
> > DBG_X11 xf_detect_monitors (137): vscreen[0]: 1920x1200+0+0 (primary)
> > DBG_X11 xf_detect_monitors (137): vscreen[1]: 1920x1200+1920+0
> > DBG_X11 xf_detect_monitors (137): vscreen[2]: 1920x1200+3840+0
> > DBG_X11 xf_detect_monitors (146): area: 5760x1153+0+0
> > DBG_X11 xf_detect_monitors (179): monitor[0]: 1920x1153+0+0 (primary)
> > DBG_X11 xf_detect_monitors (179): monitor[1]: 1920x1153+1920+0
> > DBG_X11 xf_detect_monitors (179): monitor[2]: 1920x1153+3840+0
> > 
> > I'm really sorry about spreading silly FUD here. Please beg my pardon.
> > 
> > FWIW, the current git incl. my patches is readily available for openSUSE
> > 
> > here:
> >   http://download.opensuse.org/repositories/home:/frispete:/RemoteDesktop
> > 
> > Package: FreeRDP
> > 
> > Let me know, if you miss a SUSE distribution here. Get an overview here:
> > 
> > 
> > https://build.opensuse.org/project/monitor?project=home%3Afrispete%3ARemot
> > eDesktop
> > 
> > Comments, flames, etc. welcome.
> > 
> > Cheers,
> > Pete
> > 
> > 
> > --------------------------------------------------------------------------
> > ---- Try New Relic Now & We'll Send You this Cool Shirt
> > New Relic is the only SaaS-based application performance monitoring
> > service
> > that delivers powerful full stack analytics. Optimize and monitor your
> > browser, app, & servers with just a few lines of code. Try New Relic
> > and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
> > _______________________________________________
> > Freerdp-devel mailing list
> > Freerdp-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/freerdp-devel

------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
_______________________________________________
Freerdp-devel mailing list
Freerdp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freerdp-devel

Reply via email to