Comments (22)
Looks like memory corruption.
hash_table=<error reading variable: Cannot access memory at address 0x752d73616d656893>0x752d73616d656863
from dleyna-renderer.
I can't reproduce, tbh.
from dleyna-renderer.
https://retrace.fedoraproject.org/faf/reports/383250/
from dleyna-renderer.
Thanks, report is appreciated. I'm not sure if the "cannot access memory" for the hash_table is definitely the core problem: I've seen gdb claim that for things that are just fine... But e.g. some pointers in frame 8 look like worth checking.
from dleyna-renderer.
https://bugzilla.redhat.com/show_bug.cgi?id=1134904
from dleyna-renderer.
See more info there. backtrace and ..
from dleyna-renderer.
(gdb) up
#1 g_hash_table_lookup (hash_table=<error reading variable: Cannot access memory at address 0x752d73616d656893>0x752d73616d656863, key=key@entry=0x1546980) at ghash.c:1092
1092 node_index = g_hash_table_lookup_node (hash_table, key, &node_hash);
(gdb) up
#2 0x0000003e4c20faeb in prv_server_available_cb (cp=<optimized out>, proxy=0x15402b0 [GUPnPDeviceProxy], user_data=0x15164f0) at upnp.c:174
174 device = g_hash_table_lookup(upnp->server_udn_map, udn);
(gdb) p upnp
$1 = (dlr_upnp_t *) 0x15164f0
(gdb) p upnp->server_udn_map
$2 = <error reading variable: Cannot access memory at address 0x752d73616d656893>(GHashTable *) <error reading variable: Cannot access memory at address 0x752d73616d656893>0x752d73616d656863
from dleyna-renderer.
https://github.com/01org/dleyna-renderer/blob/master/libdleyna/renderer/upnp.c#L377
from dleyna-renderer.
because I can't reproduce I think I can't debug more
from dleyna-renderer.
https://retrace.fedoraproject.org/faf/reports/383250/
seems many people expecting this bug.
from dleyna-renderer.
Can you provide any more details on how to reproduce it?
from dleyna-renderer.
Unfortunately I don't have reproducer. It's crashing when I'm using desktop. switching apps, chating, etc.
from dleyna-renderer.
We have not been able to reproduce either. If get more information on how to reproduce we will be able to address it.
from dleyna-renderer.
-- Logs begin at Thu 2014-10-16 00:21:32 MSK, end at Thu 2014-11-20 00:39:14 MSK. --
Nov 20 00:33:13 x1carbon.localdomain org.gnome.seahorse.Application[1740]: (seahorse:11880): GLib-GObject-WARNING **: The property GtkWidget:margin-left is deprecated and shouldn't be used anymore. It will be removed in a future version.
Nov 20 00:33:13 x1carbon.localdomain org.gnome.seahorse.Application[1740]: (seahorse:11880): GLib-GObject-WARNING **: The property GtkWidget:margin-right is deprecated and shouldn't be used anymore. It will be removed in a future version.
Nov 20 00:33:13 x1carbon.localdomain org.gnome.seahorse.Application[1740]: (seahorse:11880): GLib-GObject-WARNING **: The property GtkTreeView:rules-hint is deprecated and shouldn't be used anymore. It will be removed in a future version.
Nov 20 00:33:13 x1carbon.localdomain org.gnome.seahorse.Application[1740]: (seahorse:11880): GLib-GObject-WARNING **: The property GtkAlignment:xalign is deprecated and shouldn't be used anymore. It will be removed in a future version.
Nov 20 00:33:13 x1carbon.localdomain org.gnome.seahorse.Application[1740]: (seahorse:11880): GLib-GObject-WARNING **: The property GtkAlignment:yscale is deprecated and shouldn't be used anymore. It will be removed in a future version.
Nov 20 00:33:13 x1carbon.localdomain org.gnome.seahorse.Application[1740]: (seahorse:11880): GLib-GObject-WARNING **: The property GtkMisc:xpad is deprecated and shouldn't be used anymore. It will be removed in a future version.
Nov 20 00:33:13 x1carbon.localdomain org.gnome.seahorse.Application[1740]: (seahorse:11880): GLib-GObject-WARNING **: The property GtkButton:use-stock is deprecated and shouldn't be used anymore. It will be removed in a future version.
Nov 20 00:33:13 x1carbon.localdomain org.gnome.seahorse.Application[1740]: (seahorse:11880): GLib-GObject-WARNING **: The property GtkSettings:gtk-button-images is deprecated and shouldn't be used anymore. It will be removed in a future version.
Nov 20 00:33:13 x1carbon.localdomain org.gnome.seahorse.Application[1740]: (seahorse:11880): GLib-GObject-WARNING **: The property GtkAlignment:xscale is deprecated and shouldn't be used anymore. It will be removed in a future version.
Nov 20 00:33:13 x1carbon.localdomain org.gnome.seahorse.Application[1740]: (seahorse:11880): GLib-GObject-WARNING **: The property GtkImage:stock is deprecated and shouldn't be used anymore. It will be removed in a future version.
Nov 20 00:33:13 x1carbon.localdomain org.gnome.seahorse.Application[1740]: (seahorse:11880): GLib-GObject-WARNING **: The property GtkSettings:gtk-menu-images is deprecated and shouldn't be used anymore. It will be removed in a future version.
Nov 20 00:33:13 x1carbon.localdomain org.gnome.Caribou.Daemon[1740]: ** (caribou:1939): WARNING **: AT-SPI: Error in GetItems, sender=org.freedesktop.DBus, error=The name :1.264 was not provided by any .service files
Nov 20 00:33:13 x1carbon.localdomain org.gnome.Bijiben.SearchProvider[1740]: (bijiben-shell-search-provider:11878): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
Nov 20 00:33:13 x1carbon.localdomain PackageKit[1424]: resolve transaction /1101_dbeaaaee from uid 1000 finished with success after 574ms
Nov 20 00:33:13 x1carbon.localdomain org.gnome.OnlineMiners.GData[1740]: Gom-Message: Setting scheduler policy to SCHED_IDLE
Nov 20 00:33:13 x1carbon.localdomain PackageKit[1424]: get-details transaction /1102_ececebab from uid 1000 finished with success after 37ms
Nov 20 00:33:13 x1carbon.localdomain org.gnome.Bijiben.SearchProvider[1740]: (bijiben-shell-search-provider:11878): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
Nov 20 00:33:13 x1carbon.localdomain PackageKit[1424]: get-details transaction /1103_cbabadad from uid 1000 finished with success after 34ms
Nov 20 00:33:13 x1carbon.localdomain org.gnome.OnlineMiners.MediaServer[1740]: Gom-Message: Setting scheduler policy to SCHED_IDLE
Nov 20 00:33:13 x1carbon.localdomain org.gnome.OnlineMiners.Owncloud[1740]: Gom-Message: Setting scheduler policy to SCHED_IDLE
Nov 20 00:33:13 x1carbon.localdomain org.gnome.OnlineMiners.MediaServer[1740]: (org.gnome.OnlineMiners.MediaServer:11982): Gom-WARNING **: Unable to Call GetServers : GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name com.intel.dleyna-server was not provided by any .service files
Nov 20 00:33:13 x1carbon.localdomain org.gnome.OnlineMiners.Flickr[1740]: Gom-Message: Setting scheduler policy to SCHED_IDLE
Nov 20 00:33:13 x1carbon.localdomain org.gnome.OnlineMiners.Zpj[1740]: Gom-Message: Setting scheduler policy to SCHED_IDLE
Nov 20 00:33:13 x1carbon.localdomain org.gnome.OnlineMiners.Facebook[1740]: Gom-Message: Setting scheduler policy to SCHED_IDLE
Nov 20 00:33:13 x1carbon.localdomain dleyna-renderer-service[12009]: dLeyna core version 0.4.0
Nov 20 00:33:13 x1carbon.localdomain dleyna-renderer-service[12009]: dleyna-renderer-service version 0.4.0
Nov 20 00:33:13 x1carbon.localdomain dleyna-renderer-service[12009]: Type[0] Level[0x13] Mask[0x4C] Flags[0x4F]
Nov 20 00:33:13 x1carbon.localdomain dleyna-renderer-service[12009]: Load file [/home/brain/.config/dleyna-renderer-service.conf]
Nov 20 00:33:13 x1carbon.localdomain dleyna-renderer-service[12009]: [General settings]
Nov 20 00:33:13 x1carbon.localdomain dleyna-renderer-service[12009]: Never Quit: F
Nov 20 00:33:13 x1carbon.localdomain dleyna-renderer-service[12009]: Connector Name: dbus
Nov 20 00:33:13 x1carbon.localdomain dleyna-renderer-service[12009]: [Logging settings]
Nov 20 00:33:13 x1carbon.localdomain dleyna-renderer-service[12009]: Log Type : 0
Nov 20 00:33:13 x1carbon.localdomain dleyna-renderer-service[12009]: Log Level: 0x13
Nov 20 00:33:13 x1carbon.localdomain dleyna-renderer-service[12009]: [Network filtering settings]
Nov 20 00:33:13 x1carbon.localdomain dleyna-renderer-service[12009]: Enabled : F
Nov 20 00:33:13 x1carbon.localdomain dleyna-renderer-service[12009]: Entries: (null)
Nov 20 00:33:13 x1carbon.localdomain dleyna-renderer-service[12009]: Calling GetRenderers method
Nov 20 00:33:13 x1carbon.localdomain org.gnome.Contacts.SearchProvider[1740]: (org.gnome.Contacts.SearchProvider:11889): Gtk-CRITICAL **: gtk_list_store_insert_before: assertion 'iter_is_valid (sibling, list_store)' failed
Nov 20 00:33:13 x1carbon.localdomain org.gnome.Contacts.SearchProvider[1740]: (org.gnome.Contacts.SearchProvider:11889): Gtk-CRITICAL **: gtk_list_store_set_valist: assertion 'iter_is_valid (iter, list_store)' failed
Nov 20 00:33:13 x1carbon.localdomain org.gnome.Contacts.SearchProvider[1740]: (org.gnome.Contacts.SearchProvider:11889): Gtk-CRITICAL **: gtk_list_store_insert_before: assertion 'iter_is_valid (sibling, list_store)' failed
Nov 20 00:33:13 x1carbon.localdomain org.gnome.Contacts.SearchProvider[1740]: (org.gnome.Contacts.SearchProvider:11889): Gtk-CRITICAL **: gtk_list_store_set_valist: assertion 'iter_is_valid (iter, list_store)' failed
Nov 20 00:33:13 x1carbon.localdomain org.gnome.Contacts.SearchProvider[1740]: (org.gnome.Contacts.SearchProvider:11889): Gtk-CRITICAL **: gtk_list_store_insert_before: assertion 'iter_is_valid (sibling, list_store)' failed
Nov 20 00:33:13 x1carbon.localdomain org.gnome.Contacts.SearchProvider[1740]: (org.gnome.Contacts.SearchProvider:11889): Gtk-CRITICAL **: gtk_list_store_set_valist: assertion 'iter_is_valid (iter, list_store)' failed
Nov 20 00:33:14 x1carbon.localdomain org.gnome.Contacts.SearchProvider[1740]: (org.gnome.Contacts.SearchProvider:11889): Gtk-CRITICAL **: gtk_list_store_insert_before: assertion 'iter_is_valid (sibling, list_store)' failed
Nov 20 00:33:14 x1carbon.localdomain org.gnome.Contacts.SearchProvider[1740]: (org.gnome.Contacts.SearchProvider:11889): Gtk-CRITICAL **: gtk_list_store_set_valist: assertion 'iter_is_valid (iter, list_store)' failed
Nov 20 00:33:14 x1carbon.localdomain dleyna-renderer-service[12009]: Client :1.685 lost
Nov 20 00:33:14 x1carbon.localdomain kernel: dleyna-renderer[12009]: segfault at 21446f0 ip 00000000021446f0 sp 00007fff9cbe4a08 error 15
from dleyna-renderer.
Hi Igor,
Could you give me more information about the issue you are facing, in terms of series of activities that leads to this failure. Also, the version of dleyna used.
Thanks,
Rasika
from dleyna-renderer.
I don't think you need to reproduce it. You have the traceback from a debugger that tells exactly where in the code the crash happens - that's usually enough information for a developer to figure out where and how things go wrong in the code and come up with a fix.
from dleyna-renderer.
Actually, scratch the message I wrote above, that was too hasty. The traceback by itself is not quite enough because all it says that a renderer is discovered, but the hash table where renderers are stored is corrupted or deallocated. It's also needed to know the circumstances (how is dleyna-renderer set up and started on the system where the crash happens, and what happens just prior to crash). Fortunately, the log snippet above gives enough information about it.
It indicates that:
- the version of dleyna is 0.4.0 (visible in log)
- the issue happens when dleyna is started on-demand by dbus, and GetRenderers is immediately called on it (also visible in log - there is no pause between startup and method call)
- then the dbus client (that sent GetRenderers and got a reply) immediately disconnects, so dleyna starts the exit procedure (this is how dleyna behaves by default)
- also at least one renderer must be present on the network - the traceback happens when that renderer is discovered by dleyna. At that point the exit procedure is underway and the hash table is no longer allocated, so a memory access error occurs (visible from traceback and additional debugging done in Aug 28 message) .
I tried to reproduce it by calling
dbus-send --session --print-reply --dest=com.intel.dleyna-renderer /com/intel/dLeynaRenderer com.intel.dLeynaRenderer.Manager.GetRenderers
and indeed that produces a similar error in /var/log/messages - but not always. Sometimes dleyna-renderer exits gracefullly, sometimes it crashes.
So what this all means is that there is a race issue somewhere between dleyna-renderer's shutdown sequence, and renderer discovery. A renderer is discovered when the hash table that stores them has already been deleted. I'll dig more later.
from dleyna-renderer.
There seems to be a circular reference bug in gupnp's GUPnPNetworkManager class. It is never deleted, so the objects it owns are also never deleted, and continue to emit signals beyond the point where the recipients of those signals are deallocated. This is only visible on distributions where gupnp is configured at built time to use NetworkManager, such as Fedora or OpenSUSE. Not sure what Ubuntu is using these days.
I looked at some suspicious commits in gupnp commit history, and indeed this is the one that introduced the issue, and reverting it fixed the problem for me:
https://bugzilla.gnome.org/show_bug.cgi?id=694454#c5
I'll let them know about it.
Igor, can you rebuild gupnp locally with that commit reverted, and confirm that it helps?
from dleyna-renderer.
I filed a separate bug for this here: https://bugzilla.gnome.org/show_bug.cgi?id=741257
from dleyna-renderer.
I believe that the necessary fixes for this have been merged into dleyna-renderer, dleyna-connector-dbus and gupnp.
from dleyna-renderer.
Patch - Pulls have been merged...
intel/dleyna-core#48
intel/dleyna-core#49
#160
from dleyna-renderer.
the last changes in GUPnP relating to dLeyna that I remember are
https://git.gnome.org/browse/gupnp/commit/?id=d2e0dc2a8fdb104950f01f153ff60eb663de7a88
https://git.gnome.org/browse/gupnp/commit/?id=ed009b4d497e748f43887e91f4f777c6cdb5e43d
And those were part of GUPnP 0.20.15 which should be available.
from dleyna-renderer.
Related Issues (20)
- Move code to GUPnP
- Changes to properties such as CanPlay, CanPause are not notified HOT 1
- org.mpris.MediaPlayer2.Player.Rate change should change playspeed
- Dleyna Renderer doesnt notify when the DMR properties changes HOT 5
- rendererconsole.py does not handle errors when calling dbus methods
- Don't use deprecated gupnp_context_get_host_ip
- crash in dlr_host_service_lost_client() HOT 5
- Failed to access the hosted files when they are big
- Unresponsiveness/crash when name is queried on a newly found renderer HOT 3
- No way to access album art or thumbnails HOT 4
- Renderer sends empty xsesam:artist or xsesam:albumArtist
- Please fix use of gupnp_service_info_get_introspection HOT 1
- Uninitialized argument value in prv_open_uri_cb HOT 2
- dleyna-renderer crash very often HOT 2
- Not shutting down on SIGTERM HOT 27
- possible memory leak on function dlr_device_construct, libdleyna/renderer/device.c HOT 6
- 0.6.0: does not build against gupnp 1.2 HOT 5
- Is one-to-one communication supported? HOT 1
- Missing TLS certificate verification
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dleyna-renderer.