unity8 crashed with SIGSEGV in glDeleteTextures() from mir::scene::GLPixelBuffer::~GLPixelBuffer() from mir::scene::ThreadedSnapshotStrategy::~ThreadedSnapshotStrategy()
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mir |
Fix Released
|
Critical
|
Alberto Aguirre | ||
mir (Ubuntu) |
Fix Released
|
Critical
|
Daniel van Vugt | ||
unity8 (Ubuntu) |
Invalid
|
Medium
|
Unassigned |
Bug Description
Crash on shutdown.
ProblemType: Crash
DistroRelease: Ubuntu 14.04
Package: unity8 7.84+14.
Uname: Linux 3.4.0-3-mako armv7l
ApportVersion: 2.12.7-0ubuntu1
Architecture: armhf
CurrentDesktop: Unity
Date: Fri Nov 29 16:02:27 2013
Disassembly: => 0x7ef7f444: Cannot access memory at address 0x7ef7f444
ExecutablePath: /usr/bin/unity8
ExecutableTimes
InstallationDate: Installed on 2013-11-29 (0 days ago)
InstallationMedia: Ubuntu Trusty Tahr (development branch) - armhf (20131129)
ProcCmdline: unity8
ProcCwd: /home/phablet
Signal: 11
SourcePackage: unity8
StacktraceSource:
#0 0x7ef7f444 in ?? ()
#1 0x4176c786 in ?? ()
#2 0x4176c786 in ?? ()
StacktraceTop:
?? ()
?? ()
?? ()
Title: unity8 crashed with SIGSEGV in glDeleteTextures()
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm autopilot cdrom dialout dip nopasswdlogin plugdev sudo tty video
Related branches
- Alexandros Frantzis (community): Approve
- PS Jenkins bot (community): Approve (continuous-integration)
- Kevin DuBois (community): Approve
-
Diff: 45 lines (+17/-0)2 files modifiedsrc/server/scene/gl_pixel_buffer.cpp (+7/-0)
tests/unit-tests/scene/test_gl_pixel_buffer.cpp (+10/-0)
- PS Jenkins bot (community): Approve (continuous-integration)
- Daniel van Vugt: Approve
- kevin gunn (community): Approve
-
Diff: 16448 lines (+6002/-3362)277 files modified3rd_party/android-input/android/CMakeLists.txt (+2/-0)
3rd_party/android-input/android/frameworks/base/services/input/EventHub.cpp (+46/-92)
3rd_party/android-input/android/frameworks/base/services/input/EventHub.h (+6/-5)
CMakeLists.txt (+1/-1)
benchmarks/android-input/CMakeLists.txt (+3/-1)
cmake/MirCommon.cmake (+15/-4)
cmake/src/mir/CMakeLists.txt (+5/-0)
cmake/src/mir/fail_on_success.sh (+8/-0)
cmake/src/mir/mir_discover_gtest_tests.cpp (+15/-2)
debian/changelog (+66/-0)
debian/control (+3/-3)
debian/libmirserver18.install (+1/-1)
deploy-and-test.sh (+21/-0)
examples/demo-shell/demo_renderer.cpp (+271/-0)
examples/demo-shell/demo_renderer.h (+15/-0)
examples/render_overlays.cpp (+9/-7)
examples/render_surfaces.cpp (+19/-7)
include/platform/mir/graphics/display_buffer.h (+2/-3)
include/platform/mir/graphics/gl_config.h (+54/-0)
include/platform/mir/graphics/platform.h (+8/-1)
include/platform/mir/graphics/renderable.h (+20/-13)
include/platform/mir/options/default_configuration.h (+1/-0)
include/platform/mir/shared_library_loader.h (+28/-0)
include/server/mir/compositor/buffer_stream.h (+1/-1)
include/server/mir/compositor/gl_renderer.h (+27/-4)
include/server/mir/compositor/renderer.h (+2/-2)
include/server/mir/compositor/scene.h (+7/-4)
include/server/mir/default_server_configuration.h (+12/-8)
include/server/mir/frontend/display_changer.h (+0/-1)
include/server/mir/frontend/session_authorizer.h (+3/-1)
include/server/mir/input/surface.h (+1/-1)
include/server/mir/scene/surface.h (+59/-0)
include/server/mir/scene/surface_configurator.h (+4/-4)
include/server/mir/scene/surface_coordinator.h (+17/-12)
include/server/mir/scene/surface_event_source.h (+49/-0)
include/server/mir/scene/surface_factory.h (+14/-14)
include/server/mir/scene/surface_observer.h (+45/-0)
include/server/mir/scene/surface_ranker.h (+2/-2)
include/server/mir/shell/surface.h (+1/-3)
include/server/mir/shell/surface_factory.h (+6/-8)
include/shared/mir/geometry/length.h (+102/-0)
include/test/mir_test_doubles/fake_renderable.h (+5/-5)
include/test/mir_test_doubles/mock_buffer_bundle.h (+1/-1)
include/test/mir_test_doubles/mock_buffer_stream.h (+1/-1)
include/test/mir_test_doubles/mock_display_buffer.h (+1/-1)
include/test/mir_test_doubles/mock_display_changer.h (+0/-1)
include/test/mir_test_doubles/mock_display_device.h (+1/-1)
include/test/mir_test_doubles/mock_egl.h (+27/-0)
include/test/mir_test_doubles/mock_gl_config.h (+43/-0)
include/test/mir_test_doubles/mock_hwc_composer_device_1.h (+0/-105)
include/test/mir_test_doubles/mock_hwc_device_wrapper.h (+42/-0)
include/test/mir_test_doubles/mock_input_surface.h (+2/-2)
include/test/mir_test_doubles/mock_renderable.h (+12/-3)
include/test/mir_test_doubles/mock_scene.h (+6/-2)
include/test/mir_test_doubles/mock_surface.h (+14/-12)
include/test/mir_test_doubles/mock_surface_configurator.h (+4/-4)
include/test/mir_test_doubles/mock_surface_factory.h (+4/-3)
include/test/mir_test_doubles/mock_surface_ranker.h (+2/-2)
include/test/mir_test_doubles/null_display_buffer.h (+1/-1)
include/test/mir_test_doubles/null_display_changer.h (+0/-3)
include/test/mir_test_doubles/null_platform.h (+2/-1)
include/test/mir_test_doubles/null_surface_configurator.h (+4/-4)
include/test/mir_test_doubles/stub_buffer_stream.h (+1/-1)
include/test/mir_test_doubles/stub_display_builder.h (+1/-1)
include/test/mir_test_doubles/stub_display_device.h (+1/-1)
include/test/mir_test_doubles/stub_gl_config.h (+43/-0)
include/test/mir_test_doubles/stub_ipc_factory.h (+1/-1)
include/test/mir_test_doubles/stub_renderable.h (+2/-2)
include/test/mir_test_doubles/stub_session_authorizer.h (+4/-0)
include/test/mir_test_doubles/stub_surface_builder.h (+0/-69)
include/test/mir_test_doubles/stub_surface_ranker.h (+0/-44)
include/test/mir_test_framework/declarative_placement_strategy.h (+64/-0)
include/test/mir_test_framework/udev_environment.h (+1/-0)
src/client/default_connection_configuration.cpp (+1/-1)
src/client/lttng/input_receiver_report_tp.h (+1/-0)
src/client/lttng/rpc_report_tp.h (+1/-0)
src/client/mir_client_library.cpp (+11/-2)
src/client/rpc/mir_basic_rpc_channel.cpp (+3/-3)
src/client/rpc/mir_basic_rpc_channel.h (+4/-3)
src/client/rpc/mir_socket_rpc_channel.cpp (+41/-32)
src/client/rpc/mir_socket_rpc_channel.h (+3/-1)
src/platform/CMakeLists.txt (+2/-1)
src/platform/graphics/android/CMakeLists.txt (+4/-0)
src/platform/graphics/android/android_display.cpp (+2/-1)
src/platform/graphics/android/android_display.h (+2/-0)
src/platform/graphics/android/android_platform.cpp (+37/-4)
src/platform/graphics/android/android_platform.h (+2/-1)
src/platform/graphics/android/display_buffer.cpp (+1/-1)
src/platform/graphics/android/display_buffer.h (+1/-1)
src/platform/graphics/android/display_device.h (+1/-1)
src/platform/graphics/android/fb_device.cpp (+1/-1)
src/platform/graphics/android/fb_device.h (+1/-1)
src/platform/graphics/android/gl_context.cpp (+17/-10)
src/platform/graphics/android/gl_context.h (+4/-1)
src/platform/graphics/android/hwc_common_device.cpp (+2/-2)
src/platform/graphics/android/hwc_common_device.h (+2/-1)
src/platform/graphics/android/hwc_device.cpp (+2/-1)
src/platform/graphics/android/hwc_device.h (+2/-15)
src/platform/graphics/android/hwc_fb_device.cpp (+12/-17)
src/platform/graphics/android/hwc_fb_device.h (+5/-1)
src/platform/graphics/android/hwc_formatted_logger.cpp (+177/-0)
src/platform/graphics/android/hwc_formatted_logger.h (+41/-0)
src/platform/graphics/android/hwc_layerlist.cpp (+4/-4)
src/platform/graphics/android/hwc_layerlist.h (+2/-2)
src/platform/graphics/android/hwc_logger.h (+46/-0)
src/platform/graphics/android/hwc_wrapper.h (+47/-0)
src/platform/graphics/android/real_hwc_wrapper.cpp (+11/-2)
src/platform/graphics/android/real_hwc_wrapper.h (+6/-3)
src/platform/graphics/android/resource_factory.cpp (+35/-2)
src/platform/graphics/android/resource_factory.h (+4/-0)
src/platform/graphics/mesa/CMakeLists.txt (+1/-0)
src/platform/graphics/mesa/display.cpp (+13/-3)
src/platform/graphics/mesa/display.h (+5/-2)
src/platform/graphics/mesa/display_buffer.cpp (+3/-1)
src/platform/graphics/mesa/display_buffer.h (+3/-1)
src/platform/graphics/mesa/display_helpers.cpp (+15/-3)
src/platform/graphics/mesa/display_helpers.h (+5/-5)
src/platform/graphics/mesa/platform.cpp (+11/-1)
src/platform/graphics/mesa/platform.h (+2/-1)
src/platform/options/default_configuration.cpp (+32/-3)
src/platform/shared_library_loader.cpp (+38/-0)
src/server/CMakeLists.txt (+1/-1)
src/server/compositor/buffer_bundle.h (+13/-1)
src/server/compositor/buffer_stream_surfaces.cpp (+2/-2)
src/server/compositor/buffer_stream_surfaces.h (+1/-1)
src/server/compositor/bypass.cpp (+6/-1)
src/server/compositor/default_display_buffer_compositor.cpp (+32/-57)
src/server/compositor/default_display_buffer_compositor.h (+1/-2)
src/server/compositor/gl_renderer.cpp (+68/-22)
src/server/compositor/occlusion.cpp (+28/-16)
src/server/compositor/occlusion.h (+2/-24)
src/server/compositor/rendering_operator.cpp (+5/-11)
src/server/compositor/rendering_operator.h (+3/-7)
src/server/compositor/screencast_display_buffer.cpp (+1/-1)
src/server/compositor/screencast_display_buffer.h (+1/-1)
src/server/compositor/switching_bundle.cpp (+6/-3)
src/server/compositor/switching_bundle.h (+3/-4)
src/server/compositor/temporary_buffers.cpp (+2/-2)
src/server/compositor/temporary_buffers.h (+1/-1)
src/server/default_server_configuration.cpp (+11/-6)
src/server/frontend/CMakeLists.txt (+1/-0)
src/server/frontend/default_configuration.cpp (+23/-7)
src/server/frontend/event_sender.cpp (+1/-1)
src/server/frontend/message_receiver.h (+3/-1)
src/server/frontend/message_sender.h (+2/-2)
src/server/frontend/protobuf_ipc_factory.h (+1/-2)
src/server/frontend/protobuf_responder.cpp (+9/-8)
src/server/frontend/protobuf_responder.h (+1/-1)
src/server/frontend/protobuf_session_creator.cpp (+1/-2)
src/server/frontend/session_mediator.cpp (+0/-6)
src/server/frontend/socket_messenger.cpp (+29/-14)
src/server/frontend/socket_messenger.h (+4/-3)
src/server/frontend/socket_session.cpp (+16/-9)
src/server/frontend/socket_session.h (+3/-2)
src/server/frontend/unauthorized_display_changer.cpp (+0/-5)
src/server/frontend/unauthorized_display_changer.h (+0/-2)
src/server/frontend/unauthorized_screencast.cpp (+46/-0)
src/server/frontend/unauthorized_screencast.h (+44/-0)
src/server/graphics/default_configuration.cpp (+20/-21)
src/server/graphics/nested/nested_display.cpp (+11/-4)
src/server/graphics/nested/nested_display.h (+6/-2)
src/server/graphics/nested/nested_output.cpp (+1/-1)
src/server/graphics/nested/nested_output.h (+1/-1)
src/server/graphics/nested/nested_platform.cpp (+5/-2)
src/server/graphics/nested/nested_platform.h (+2/-1)
src/server/graphics/offscreen/display_buffer.cpp (+1/-1)
src/server/graphics/offscreen/display_buffer.h (+1/-1)
src/server/mirserver.pc.in (+1/-1)
src/server/scene/CMakeLists.txt (+1/-2)
src/server/scene/application_session.cpp (+10/-2)
src/server/scene/basic_surface.cpp (+193/-27)
src/server/scene/basic_surface.h (+73/-26)
src/server/scene/default_configuration.cpp (+18/-27)
src/server/scene/gl_pixel_buffer.cpp (+7/-0)
src/server/scene/mediating_display_changer.cpp (+0/-23)
src/server/scene/mediating_display_changer.h (+0/-2)
src/server/scene/mutable_surface_state.h (+0/-52)
src/server/scene/surface_allocator.cpp (+8/-4)
src/server/scene/surface_allocator.h (+8/-4)
src/server/scene/surface_controller.cpp (+23/-13)
src/server/scene/surface_controller.h (+16/-15)
src/server/scene/surface_event_source.cpp (+62/-0)
src/server/scene/surface_impl.cpp (+0/-273)
src/server/scene/surface_impl.h (+0/-114)
src/server/scene/surface_source.cpp (+0/-47)
src/server/scene/surface_source.h (+0/-64)
src/server/scene/surface_stack.cpp (+23/-34)
src/server/scene/surface_stack.h (+19/-19)
src/server/scene/surface_stack_model.h (+13/-6)
src/server/shell/default_configuration.cpp (+1/-1)
src/server/shell/default_focus_mechanism.cpp (+3/-1)
src/server/shell/organising_surface_factory.cpp (+29/-10)
src/server/shell/organising_surface_factory.h (+9/-6)
src/shared/sharedlibrary/CMakeLists.txt (+5/-0)
tests/CMakeLists.txt (+3/-10)
tests/acceptance-tests/test_client_authorization.cpp (+3/-0)
tests/acceptance-tests/test_client_input.cpp (+33/-70)
tests/acceptance-tests/test_client_screencast.cpp (+50/-0)
tests/acceptance-tests/test_display_configuration.cpp (+5/-4)
tests/acceptance-tests/test_protobuf.cpp (+5/-0)
tests/acceptance-tests/test_server_disconnect.cpp (+2/-0)
tests/acceptance-tests/test_shell_control_of_surface_configuration.cpp (+6/-6)
tests/acceptance-tests/test_surfaces_with_output_id.cpp (+7/-1)
tests/integration-tests/compositor/test_buffer_stream.cpp (+21/-21)
tests/integration-tests/compositor/test_swapping_swappers.cpp (+2/-4)
tests/integration-tests/graphics/android/test_display_integration.cpp (+9/-6)
tests/integration-tests/graphics/android/test_internal_client.cpp (+7/-7)
tests/integration-tests/graphics/mesa/test_buffer_integration.cpp (+4/-1)
tests/integration-tests/test_display_info.cpp (+2/-1)
tests/integration-tests/test_session_manager.cpp (+1/-1)
tests/integration-tests/test_surfaceloop.cpp (+4/-2)
tests/integration-tests/test_swapinterval.cpp (+1/-1)
tests/mir_test_framework/CMakeLists.txt (+10/-11)
tests/mir_test_framework/declarative_placement_strategy.cpp (+58/-0)
tests/mir_test_framework/stubbed_server_configuration.cpp (+2/-1)
tests/mir_test_framework/udev_environment.cpp (+22/-2)
tests/mir_test_framework/udev_recordings/bluetooth-magic-trackpad.ioctl (+21/-0)
tests/mir_test_framework/udev_recordings/bluetooth-magic-trackpad.umockdev (+222/-0)
tests/mir_test_framework/udev_recordings/laptop-keyboard.ioctl (+12/-0)
tests/mir_test_framework/udev_recordings/laptop-keyboard.umockdev (+74/-0)
tests/mir_test_framework/udev_recordings/synaptics-touchpad.ioctl (+29/-0)
tests/mir_test_framework/udev_recordings/synaptics-touchpad.umockdev (+65/-0)
tests/mir_test_framework/udev_recordings/usb-keyboard.ioctl (+13/-0)
tests/mir_test_framework/udev_recordings/usb-keyboard.umockdev (+244/-0)
tests/mir_test_framework/udev_recordings/usb-mouse.ioctl (+14/-0)
tests/mir_test_framework/udev_recordings/usb-mouse.umockdev (+240/-0)
tests/mir_test_framework/using_stub_client_platform.cpp (+11/-2)
tests/unit-tests/CMakeLists.txt (+5/-14)
tests/unit-tests/android_input/CMakeLists.txt (+1/-0)
tests/unit-tests/android_input/test_eventhub.cpp (+125/-0)
tests/unit-tests/client/test_mir_connection.cpp (+6/-0)
tests/unit-tests/compositor/test_default_display_buffer_compositor.cpp (+348/-444)
tests/unit-tests/compositor/test_gl_renderer.cpp (+21/-2)
tests/unit-tests/compositor/test_multi_threaded_compositor.cpp (+5/-2)
tests/unit-tests/compositor/test_occlusion.cpp (+123/-81)
tests/unit-tests/compositor/test_rendering_operator.cpp (+15/-15)
tests/unit-tests/compositor/test_switching_bundle.cpp (+69/-51)
tests/unit-tests/frontend/test_event_sender.cpp (+7/-7)
tests/unit-tests/frontend/test_session_mediator.cpp (+4/-5)
tests/unit-tests/frontend/test_socket_session.cpp (+43/-14)
tests/unit-tests/geometry/CMakeLists.txt (+1/-0)
tests/unit-tests/geometry/test-length.cpp (+124/-0)
tests/unit-tests/graphics/android/CMakeLists.txt (+1/-0)
tests/unit-tests/graphics/android/hwc_struct_helpers.h (+8/-0)
tests/unit-tests/graphics/android/test_android_fb.cpp (+64/-31)
tests/unit-tests/graphics/android/test_hwc_common_device.cpp (+3/-1)
tests/unit-tests/graphics/android/test_hwc_device.cpp (+5/-9)
tests/unit-tests/graphics/android/test_hwc_display.cpp (+6/-1)
tests/unit-tests/graphics/android/test_hwc_fb_device.cpp (+44/-74)
tests/unit-tests/graphics/android/test_hwc_logger.cpp (+132/-0)
tests/unit-tests/graphics/android/test_hwc_wrapper.cpp (+28/-7)
tests/unit-tests/graphics/android/test_output_builder.cpp (+4/-1)
tests/unit-tests/graphics/android/test_resource_factory.cpp (+5/-4)
tests/unit-tests/graphics/mesa/test_display.cpp (+41/-8)
tests/unit-tests/graphics/mesa/test_display_buffer.cpp (+12/-0)
tests/unit-tests/graphics/mesa/test_display_configuration.cpp (+4/-2)
tests/unit-tests/graphics/mesa/test_display_multi_monitor.cpp (+7/-4)
tests/unit-tests/graphics/mesa/test_internal_native_display.cpp (+0/-4)
tests/unit-tests/graphics/mesa/test_internal_native_surface.cpp (+0/-3)
tests/unit-tests/graphics/nested/CMakeLists.txt (+1/-0)
tests/unit-tests/graphics/nested/test_nested_display.cpp (+27/-0)
tests/unit-tests/graphics/test_display.cpp (+4/-2)
tests/unit-tests/input/android/test_android_input_application_handle.cpp (+1/-1)
tests/unit-tests/input/android/test_android_input_registrar.cpp (+2/-3)
tests/unit-tests/input/android/test_android_input_window_handle.cpp (+18/-11)
tests/unit-tests/scene/test_application_session.cpp (+12/-14)
tests/unit-tests/scene/test_basic_surface.cpp (+124/-106)
tests/unit-tests/scene/test_default_focus_mechanism.cpp (+23/-40)
tests/unit-tests/scene/test_gl_pixel_buffer.cpp (+10/-0)
tests/unit-tests/scene/test_session_manager.cpp (+19/-17)
tests/unit-tests/scene/test_surface.cpp (+73/-31)
tests/unit-tests/scene/test_surface_controller.cpp (+36/-14)
tests/unit-tests/scene/test_surface_impl.cpp (+117/-209)
tests/unit-tests/scene/test_surface_stack.cpp (+143/-317)
tests/unit-tests/shell/test_organising_surface_factory.cpp (+24/-16)
tools/valgrind_suppressions_armhf (+30/-0)
tools/valgrind_suppressions_generic (+7/-0)
information type: | Private → Public |
summary: |
- unity8 crashed with SIGSEGV in glDeleteTextures() + unity8 crashed with SIGSEGV in glDeleteTextures() from + mir::scene::GLPixelBuffer::~GLPixelBuffer() from + mir::scene::ThreadedSnapshotStrategy::~ThreadedSnapshotStrategy() |
Changed in mir: | |
assignee: | nobody → Alexandros Frantzis (afrantzis) |
importance: | Undecided → Medium |
importance: | Medium → High |
status: | New → Triaged |
Changed in unity8 (Ubuntu): | |
status: | New → Incomplete |
Changed in unity8: | |
status: | New → Incomplete |
Changed in mir: | |
status: | Incomplete → New |
Changed in unity8 (Ubuntu): | |
status: | Incomplete → New |
Changed in unity8: | |
status: | Incomplete → New |
Changed in mir: | |
assignee: | Alexandros Frantzis (afrantzis) → Alberto Aguirre (albaguirre) |
Changed in mir: | |
milestone: | none → 0.1.9 |
status: | Confirmed → In Progress |
Changed in mir (Ubuntu): | |
status: | New → Triaged |
importance: | Undecided → Critical |
Changed in mir (Ubuntu): | |
assignee: | nobody → Daniel van Vugt (vanvugt) |
status: | Triaged → In Progress |
Changed in mir: | |
status: | Fix Committed → Fix Released |
Changed in unity8: | |
status: | New → Invalid |
Changed in unity8 (Ubuntu): | |
status: | Confirmed → Invalid |
no longer affects: | unity8 |
StacktraceTop: :GLPixelBuffer: :~GLPixelBuffer () () from /tmp/apport_ sandbox_ so0491/ usr/lib/ arm-linux- gnueabihf/ libmirserver. so.11 :ThreadedSnapsh otStrategy: :~ThreadedSnaps hotStrategy( ) () from /tmp/apport_ sandbox_ so0491/ usr/lib/ arm-linux- gnueabihf/ libmirserver. so.11 :ApplicationSes sion::~ ApplicationSess ion() () from /tmp/apport_ sandbox_ so0491/ usr/lib/ arm-linux- gnueabihf/ libmirserver. so.11
?? ()
glDeleteTextures (n=1, textures=0x16d8ff0) at glesv2.c:404
mir::scene:
mir::scene:
mir::scene: