Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

adding support for getprop and listprop #2

Merged
merged 1 commit into from Mar 11, 2014

Conversation

sledges
Copy link

@sledges sledges commented Mar 7, 2014

this fixes the issue when enabling droid-hal-init breaks pulseaudio

should be merged together with: mer-hybris/android_bionic#1

Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@canonical.com>
Signed-off-by: Sergio Schvezov <sergio.schvezov@canonical.com>
@thp
Copy link

thp commented Mar 10, 2014

LGTM.

sledges added a commit that referenced this pull request Mar 11, 2014
adding support for getprop and listprop
@sledges sledges merged commit a5b3b0e into mer-hybris:hybris-10.1 Mar 11, 2014
@sledges sledges deleted the fix-getprop branch March 11, 2014 11:59
sledges pushed a commit that referenced this pull request Feb 28, 2016
There were crashes when android failed to extract
zip archives due to out of free space on disk, with stacks like:

  #00 pc 00000000000156b0 /system/lib64/libc.so (memcpy+176)
  #1 pc 000000000002e5b8 /system/lib64/libandroidfw.so
  #2 pc 000000000002f488 /system/lib64/libandroidfw.so (ExtractToMemory+328)
  #3 pc 000000000002f5c8 /system/lib64/libandroidfw.so (ExtractEntryToFile+268)
  #4 pc 00000000000287d8 /system/lib64/libandroidfw.so (android::ZipFileRO::\
  uncompressEntry(void*, int) const+12)

Space for the file is now allocated using fallocate rather than
ftruncate, since ftruncate dont actually reserve space on disk. When writes
to the mmaped pointer fails to be realized due to out of space SIGBUS
is the result. With this change we make sure that there is space available
before mmaping the pointer.

Change-Id: Ic5e8c33dbe729edb57919dacff73811b34cc2dc2
rss351 pushed a commit to rss351/android_system_core that referenced this pull request Feb 29, 2016
There were crashes when android failed to extract
zip archives due to out of free space on disk, with stacks like:

  #00 pc 00000000000156b0 /system/lib64/libc.so (memcpy+176)
  mer-hybris#1 pc 000000000002e5b8 /system/lib64/libandroidfw.so
  mer-hybris#2 pc 000000000002f488 /system/lib64/libandroidfw.so (ExtractToMemory+328)
  mer-hybris#3 pc 000000000002f5c8 /system/lib64/libandroidfw.so (ExtractEntryToFile+268)
  mer-hybris#4 pc 00000000000287d8 /system/lib64/libandroidfw.so (android::ZipFileRO::\
  uncompressEntry(void*, int) const+12)

Space for the file is now allocated using fallocate rather than
ftruncate, since ftruncate dont actually reserve space on disk. When writes
to the mmaped pointer fails to be realized due to out of space SIGBUS
is the result. With this change we make sure that there is space available
before mmaping the pointer.

Change-Id: Ic5e8c33dbe729edb57919dacff73811b34cc2dc2
ballock pushed a commit to ballock/android_system_core that referenced this pull request Jul 19, 2016
There were crashes when android failed to extract
zip archives due to out of free space on disk, with stacks like:

  #00 pc 00000000000156b0 /system/lib64/libc.so (memcpy+176)
  mer-hybris#1 pc 000000000002e5b8 /system/lib64/libandroidfw.so
  mer-hybris#2 pc 000000000002f488 /system/lib64/libandroidfw.so (ExtractToMemory+328)
  mer-hybris#3 pc 000000000002f5c8 /system/lib64/libandroidfw.so (ExtractEntryToFile+268)
  mer-hybris#4 pc 00000000000287d8 /system/lib64/libandroidfw.so (android::ZipFileRO::\
  uncompressEntry(void*, int) const+12)

Space for the file is now allocated using fallocate rather than
ftruncate, since ftruncate dont actually reserve space on disk. When writes
to the mmaped pointer fails to be realized due to out of space SIGBUS
is the result. With this change we make sure that there is space available
before mmaping the pointer.

Change-Id: Ic5e8c33dbe729edb57919dacff73811b34cc2dc2
zhxt pushed a commit to zhxt/android_system_core that referenced this pull request Jan 1, 2017
If n > 2 threads all lock the mutex awaiting the clock method to
be set, the 1st thread will first set the method and unlock.  The
2nd thread will then take the mutex, but never unlock because the
clock_method has already been updated by the 1st thread.  This causes
a deadlock for threads 3-n.

Solution is to ensure the calling thread always unlocks the mutex if
it has previously locked it.

Log:

"main" prio=5 tid=1 Native
  | group="main" sCount=1 dsCount=0 obj=0x733313b0 self=0xb4cf6500
  | sysTid=12786 nice=0 cgrp=default sched=0/0 handle=0xb6f86b44
  | state=S schedstat=( 41990410 32985836 80 ) utm=3 stm=1 core=2 HZ=100
  | stack=0xbe5fb000-0xbe5fd000 stackSize=8MB
  | held mutexes=
  native: #00 pc 00017638  /system/lib/libc.so (syscall+28)
  native: mer-hybris#1 pc 0003ffa5  /system/lib/libc.so (_ZL33__pthread_mutex_lock_with_timeoutP24pthread_mutex_internal_tPK8timespeci+504)
  native: mer-hybris#2 pc 000400a9  /system/lib/libc.so (pthread_mutex_lock+26)
  native: mer-hybris#3 pc 0000fa01  /system/lib/libutils.so (_ZN7android19elapsedRealtimeNanoEv+16)
  native: mer-hybris#4 pc 0000fb1f  /system/lib/libutils.so (_ZN7android15elapsedRealtimeEv+2)
  native: mer-hybris#5 pc 00214d1d  /data/dalvik-cache/arm/system@framework@boot.oat (Java_android_os_SystemClock_elapsedRealtime__+72)

"Thread-6372" prio=5 tid=9 Native
  | group="main" sCount=1 dsCount=0 obj=0x32c05120 self=0xacb58100
  | sysTid=12829 nice=10 cgrp=bg_non_interactive sched=0/0 handle=0xb38c3930
  | state=S schedstat=( 869427 8219115 17 ) utm=0 stm=0 core=2 HZ=100
  | stack=0xb37c1000-0xb37c3000 stackSize=1038KB
  | held mutexes=
  native: #00 pc 00017638  /system/lib/libc.so (syscall+28)
  native: mer-hybris#1 pc 0003ffa5  /system/lib/libc.so (_ZL33__pthread_mutex_lock_with_timeoutP24pthread_mutex_internal_tPK8timespeci+504)
  native: mer-hybris#2 pc 000400a9  /system/lib/libc.so (pthread_mutex_lock+26)
  native: mer-hybris#3 pc 0000fa01  /system/lib/libutils.so (_ZN7android19elapsedRealtimeNanoEv+16)
  native: mer-hybris#4 pc 0000fb1f  /system/lib/libutils.so (_ZN7android15elapsedRealtimeEv+2)
  native: mer-hybris#5 pc 00214d1d  /data/dalvik-cache/arm/system@framework@boot.oat (Java_android_os_SystemClock_elapsedRealtime__+72)

HAM-1470
Change-Id: I41874d2b0ea034a35a74da030398231089c15cde
(cherry picked from commit c00328f)
Tofee pushed a commit to Tofee/android_system_core that referenced this pull request Feb 3, 2017
If n > 2 threads all lock the mutex awaiting the clock method to
be set, the 1st thread will first set the method and unlock.  The
2nd thread will then take the mutex, but never unlock because the
clock_method has already been updated by the 1st thread.  This causes
a deadlock for threads 3-n.

Solution is to ensure the calling thread always unlocks the mutex if
it has previously locked it.

Log:

"main" prio=5 tid=1 Native
  | group="main" sCount=1 dsCount=0 obj=0x733313b0 self=0xb4cf6500
  | sysTid=12786 nice=0 cgrp=default sched=0/0 handle=0xb6f86b44
  | state=S schedstat=( 41990410 32985836 80 ) utm=3 stm=1 core=2 HZ=100
  | stack=0xbe5fb000-0xbe5fd000 stackSize=8MB
  | held mutexes=
  native: #00 pc 00017638  /system/lib/libc.so (syscall+28)
  native: mer-hybris#1 pc 0003ffa5  /system/lib/libc.so (_ZL33__pthread_mutex_lock_with_timeoutP24pthread_mutex_internal_tPK8timespeci+504)
  native: mer-hybris#2 pc 000400a9  /system/lib/libc.so (pthread_mutex_lock+26)
  native: mer-hybris#3 pc 0000fa01  /system/lib/libutils.so (_ZN7android19elapsedRealtimeNanoEv+16)
  native: mer-hybris#4 pc 0000fb1f  /system/lib/libutils.so (_ZN7android15elapsedRealtimeEv+2)
  native: mer-hybris#5 pc 00214d1d  /data/dalvik-cache/arm/system@framework@boot.oat (Java_android_os_SystemClock_elapsedRealtime__+72)

"Thread-6372" prio=5 tid=9 Native
  | group="main" sCount=1 dsCount=0 obj=0x32c05120 self=0xacb58100
  | sysTid=12829 nice=10 cgrp=bg_non_interactive sched=0/0 handle=0xb38c3930
  | state=S schedstat=( 869427 8219115 17 ) utm=0 stm=0 core=2 HZ=100
  | stack=0xb37c1000-0xb37c3000 stackSize=1038KB
  | held mutexes=
  native: #00 pc 00017638  /system/lib/libc.so (syscall+28)
  native: mer-hybris#1 pc 0003ffa5  /system/lib/libc.so (_ZL33__pthread_mutex_lock_with_timeoutP24pthread_mutex_internal_tPK8timespeci+504)
  native: mer-hybris#2 pc 000400a9  /system/lib/libc.so (pthread_mutex_lock+26)
  native: mer-hybris#3 pc 0000fa01  /system/lib/libutils.so (_ZN7android19elapsedRealtimeNanoEv+16)
  native: mer-hybris#4 pc 0000fb1f  /system/lib/libutils.so (_ZN7android15elapsedRealtimeEv+2)
  native: mer-hybris#5 pc 00214d1d  /data/dalvik-cache/arm/system@framework@boot.oat (Java_android_os_SystemClock_elapsedRealtime__+72)

HAM-1470
Change-Id: I41874d2b0ea034a35a74da030398231089c15cde
mlehtima referenced this pull request in mlehtima/android_system_core Jul 4, 2017
* Fixes camera for Samsung Exynos devices:

08-30 18:07:03.585  2729  2729 I ExynosCameraFrameFactory: INFO(startThread[1608]):pipeId=0
08-30 18:07:03.585  2729  2729 F libutils.threads: thread name not provided to Thread::run
08-30 18:07:03.586  2729  2729 F libc    : Fatal signal 6 (SIGABRT), code -6 in tid 2729 (cameraserver)
08-30 18:07:03.587  2548  2548 W         : debuggerd: handling request: pid=2729 uid=1047 gid=1005 tid=2729
08-30 18:07:03.656  6489  6489 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
08-30 18:07:03.656  6489  6489 F DEBUG   : Build fingerprint: 'samsung/aosp_gts210ltexx/gts210ltexx:7.0/NYC/chris08292135:userdebug/test-keys'
08-30 18:07:03.656  6489  6489 F DEBUG   : Revision: '0'
08-30 18:07:03.657  6489  6489 F DEBUG   : ABI: 'arm'
08-30 18:07:03.657  6489  6489 F DEBUG   : pid: 2729, tid: 2729, name: cameraserver  >>> /system/bin/cameraserver <<<
08-30 18:07:03.658  6489  6489 F DEBUG   : signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
08-30 18:07:03.673  6489  6489 F DEBUG   : Abort message: 'thread name not provided to Thread::run'
08-30 18:07:03.673  6489  6489 F DEBUG   :     r0 00000000  r1 00000aa9  r2 00000006  r3 00000008
08-30 18:07:03.674  6489  6489 F DEBUG   :     r4 b5a2c58c  r5 00000006  r6 b5a2c534  r7 0000010c
08-30 18:07:03.674  6489  6489 F DEBUG   :     r8 b28b5380  r9 00000000  sl 00000000  fp b2a92800
08-30 18:07:03.674  6489  6489 F DEBUG   :     ip 00000016  sp be90b350  lr b4f7e537  pc b4f80d94  cpsr 200f0010
08-30 18:07:03.694  6489  6489 F DEBUG   :
08-30 18:07:03.694  6489  6489 F DEBUG   : backtrace:
08-30 18:07:03.694  6489  6489 F DEBUG   :     #00 pc 00049d94  /system/lib/libc.so (tgkill+12)
08-30 18:07:03.694  6489  6489 F DEBUG   :     #1 pc 00047533  /system/lib/libc.so (pthread_kill+34)
08-30 18:07:03.694  6489  6489 F DEBUG   :     #2 pc 0001d885  /system/lib/libc.so (raise+10)
08-30 18:07:03.694  6489  6489 F DEBUG   :     mer-hybris#3 pc 000193d1  /system/lib/libc.so (__libc_android_abort+34)
08-30 18:07:03.694  6489  6489 F DEBUG   :     mer-hybris#4 pc 00017014  /system/lib/libc.so (abort+4)
08-30 18:07:03.695  6489  6489 F DEBUG   :     mer-hybris#5 pc 0000bfd5  /system/lib/libcutils.so (__android_log_assert+112)
08-30 18:07:03.695  6489  6489 F DEBUG   :     mer-hybris#6 pc 0000e265  /system/lib/libutils.so (_ZN7android6Thread3runEPKcij+212)
08-30 18:07:03.695  6489  6489 F DEBUG   :     mer-hybris#7 pc 00045903  /system/lib/libexynoscamera.so (_ZN7android16ExynosCameraPipe11startThreadEv+74)
08-30 18:07:03.695  6489  6489 F DEBUG   :     mer-hybris#8 pc 0007b1c3  /system/lib/libexynoscamera.so (_ZN7android24ExynosCameraFrameFactory11startThreadEj+70)
08-30 18:07:03.695  6489  6489 F DEBUG   :     mer-hybris#9 pc 0007bcef  /system/lib/libexynoscamera.so (_ZN7android24ExynosCameraFrameFactory19startInitialThreadsEv+70)
08-30 18:07:03.695  6489  6489 F DEBUG   :     mer-hybris#10 pc 0006231d  /system/lib/libexynoscamera.so (_ZN7android12ExynosCamera22m_startPreviewInternalEv+1140)
08-30 18:07:03.695  6489  6489 F DEBUG   :     mer-hybris#11 pc 0006b897  /system/lib/libexynoscamera.so (_ZN7android12ExynosCamera12startPreviewEv+1666)
08-30 18:07:03.695  6489  6489 F DEBUG   :     mer-hybris#12 pc 000037b1  /system/lib/hw/camera.universal5433.so
08-30 18:07:03.695  6489  6489 F DEBUG   :     mer-hybris#13 pc 0006094f  /system/lib/libcameraservice.so (_ZN7android12CameraClient16startPreviewModeEv+102)
08-30 18:07:03.695  6489  6489 F DEBUG   :     mer-hybris#14 pc 00060825  /system/lib/libcameraservice.so (_ZN7android12CameraClient15startCameraModeENS0_11camera_modeE+68)
08-30 18:07:03.695  6489  6489 F DEBUG   :     mer-hybris#15 pc 000282f9  /system/lib/libcamera_client.so (_ZN7android8hardware8BnCamera10onTransactEjRKNS_6ParcelEPS2_j+724)
08-30 18:07:03.695  6489  6489 F DEBUG   :     mer-hybris#16 pc 000359b3  /system/lib/libbinder.so (_ZN7android7BBinder8transactEjRKNS_6ParcelEPS1_j+70)
08-30 18:07:03.695  6489  6489 F DEBUG   :     mer-hybris#17 pc 0003d159  /system/lib/libbinder.so (_ZN7android14IPCThreadState14executeCommandEi+684)
08-30 18:07:03.695  6489  6489 F DEBUG   :     mer-hybris#18 pc 0003cdb7  /system/lib/libbinder.so (_ZN7android14IPCThreadState20getAndExecuteCommandEv+114)
08-30 18:07:03.695  6489  6489 F DEBUG   :     mer-hybris#19 pc 0003d2bb  /system/lib/libbinder.so (_ZN7android14IPCThreadState14joinThreadPoolEb+46)
08-30 18:07:03.695  6489  6489 F DEBUG   :     mer-hybris#20 pc 00000b4d  /system/bin/cameraserver
08-30 18:07:03.696  6489  6489 F DEBUG   :     mer-hybris#21 pc 00016c2d  /system/lib/libc.so (__libc_init+48)
08-30 18:07:03.696  6489  6489 F DEBUG   :     mer-hybris#22 pc 00000a18  /system/bin/cameraserver

Change-Id: Ib6234260a5fc5798eea580e0ac594313650de933
mlehtima pushed a commit that referenced this pull request Jun 8, 2018
* Fixes camera for Samsung Exynos devices:

08-30 18:07:03.585  2729  2729 I ExynosCameraFrameFactory: INFO(startThread[1608]):pipeId=0
08-30 18:07:03.585  2729  2729 F libutils.threads: thread name not provided to Thread::run
08-30 18:07:03.586  2729  2729 F libc    : Fatal signal 6 (SIGABRT), code -6 in tid 2729 (cameraserver)
08-30 18:07:03.587  2548  2548 W         : debuggerd: handling request: pid=2729 uid=1047 gid=1005 tid=2729
08-30 18:07:03.656  6489  6489 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
08-30 18:07:03.656  6489  6489 F DEBUG   : Build fingerprint: 'samsung/aosp_gts210ltexx/gts210ltexx:7.0/NYC/chris08292135:userdebug/test-keys'
08-30 18:07:03.656  6489  6489 F DEBUG   : Revision: '0'
08-30 18:07:03.657  6489  6489 F DEBUG   : ABI: 'arm'
08-30 18:07:03.657  6489  6489 F DEBUG   : pid: 2729, tid: 2729, name: cameraserver  >>> /system/bin/cameraserver <<<
08-30 18:07:03.658  6489  6489 F DEBUG   : signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
08-30 18:07:03.673  6489  6489 F DEBUG   : Abort message: 'thread name not provided to Thread::run'
08-30 18:07:03.673  6489  6489 F DEBUG   :     r0 00000000  r1 00000aa9  r2 00000006  r3 00000008
08-30 18:07:03.674  6489  6489 F DEBUG   :     r4 b5a2c58c  r5 00000006  r6 b5a2c534  r7 0000010c
08-30 18:07:03.674  6489  6489 F DEBUG   :     r8 b28b5380  r9 00000000  sl 00000000  fp b2a92800
08-30 18:07:03.674  6489  6489 F DEBUG   :     ip 00000016  sp be90b350  lr b4f7e537  pc b4f80d94  cpsr 200f0010
08-30 18:07:03.694  6489  6489 F DEBUG   :
08-30 18:07:03.694  6489  6489 F DEBUG   : backtrace:
08-30 18:07:03.694  6489  6489 F DEBUG   :     #00 pc 00049d94  /system/lib/libc.so (tgkill+12)
08-30 18:07:03.694  6489  6489 F DEBUG   :     #1 pc 00047533  /system/lib/libc.so (pthread_kill+34)
08-30 18:07:03.694  6489  6489 F DEBUG   :     #2 pc 0001d885  /system/lib/libc.so (raise+10)
08-30 18:07:03.694  6489  6489 F DEBUG   :     #3 pc 000193d1  /system/lib/libc.so (__libc_android_abort+34)
08-30 18:07:03.694  6489  6489 F DEBUG   :     #4 pc 00017014  /system/lib/libc.so (abort+4)
08-30 18:07:03.695  6489  6489 F DEBUG   :     #5 pc 0000bfd5  /system/lib/libcutils.so (__android_log_assert+112)
08-30 18:07:03.695  6489  6489 F DEBUG   :     #6 pc 0000e265  /system/lib/libutils.so (_ZN7android6Thread3runEPKcij+212)
08-30 18:07:03.695  6489  6489 F DEBUG   :     #7 pc 00045903  /system/lib/libexynoscamera.so (_ZN7android16ExynosCameraPipe11startThreadEv+74)
08-30 18:07:03.695  6489  6489 F DEBUG   :     #8 pc 0007b1c3  /system/lib/libexynoscamera.so (_ZN7android24ExynosCameraFrameFactory11startThreadEj+70)
08-30 18:07:03.695  6489  6489 F DEBUG   :     #9 pc 0007bcef  /system/lib/libexynoscamera.so (_ZN7android24ExynosCameraFrameFactory19startInitialThreadsEv+70)
08-30 18:07:03.695  6489  6489 F DEBUG   :     #10 pc 0006231d  /system/lib/libexynoscamera.so (_ZN7android12ExynosCamera22m_startPreviewInternalEv+1140)
08-30 18:07:03.695  6489  6489 F DEBUG   :     #11 pc 0006b897  /system/lib/libexynoscamera.so (_ZN7android12ExynosCamera12startPreviewEv+1666)
08-30 18:07:03.695  6489  6489 F DEBUG   :     #12 pc 000037b1  /system/lib/hw/camera.universal5433.so
08-30 18:07:03.695  6489  6489 F DEBUG   :     #13 pc 0006094f  /system/lib/libcameraservice.so (_ZN7android12CameraClient16startPreviewModeEv+102)
08-30 18:07:03.695  6489  6489 F DEBUG   :     #14 pc 00060825  /system/lib/libcameraservice.so (_ZN7android12CameraClient15startCameraModeENS0_11camera_modeE+68)
08-30 18:07:03.695  6489  6489 F DEBUG   :     #15 pc 000282f9  /system/lib/libcamera_client.so (_ZN7android8hardware8BnCamera10onTransactEjRKNS_6ParcelEPS2_j+724)
08-30 18:07:03.695  6489  6489 F DEBUG   :     #16 pc 000359b3  /system/lib/libbinder.so (_ZN7android7BBinder8transactEjRKNS_6ParcelEPS1_j+70)
08-30 18:07:03.695  6489  6489 F DEBUG   :     #17 pc 0003d159  /system/lib/libbinder.so (_ZN7android14IPCThreadState14executeCommandEi+684)
08-30 18:07:03.695  6489  6489 F DEBUG   :     #18 pc 0003cdb7  /system/lib/libbinder.so (_ZN7android14IPCThreadState20getAndExecuteCommandEv+114)
08-30 18:07:03.695  6489  6489 F DEBUG   :     #19 pc 0003d2bb  /system/lib/libbinder.so (_ZN7android14IPCThreadState14joinThreadPoolEb+46)
08-30 18:07:03.695  6489  6489 F DEBUG   :     #20 pc 00000b4d  /system/bin/cameraserver
08-30 18:07:03.696  6489  6489 F DEBUG   :     #21 pc 00016c2d  /system/lib/libc.so (__libc_init+48)
08-30 18:07:03.696  6489  6489 F DEBUG   :     #22 pc 00000a18  /system/bin/cameraserver

Change-Id: Ib6234260a5fc5798eea580e0ac594313650de933
NotKit pushed a commit to NotKit/android_system_core that referenced this pull request Aug 3, 2018
Merge los/cm-14.1 into halium-7.1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants