[Nexus 5 Android Development] kenshin33:
rebuild vold to have the files name :

E/Vold ( 217): Error creating imagefile: /mnt/secure/asec/smdl1376243146.tmp.asec (Read-only file system)
E/Vold ( 217): ASEC image file creation failed (Read-only file system)
W/Vold ( 217): Returning OperationFailed - no handler for errno 30
E/PackageHelper( 9000): Failed to create secure container smdl1376243146.tmp
W/DefContainer( 9000): Failed to copy package at /data/local/tmp/com.quoord.tapatalkxda.activity-d87454de315.apk
W/DefContainer( 9000): java.io.IOException: Failed to create container smdl1376243146.tmp
W/DefContainer( 9000): at com.android.defcontainer.DefaultContainerService.copyPackageToContainerInner(DefaultContainerService.java:323)
W/DefContainer( 9000): at com.android.defcontainer.DefaultContainerService.access$000(DefaultContainerService.java:67)
W/DefContainer( 9000): at com.android.defcontainer.DefaultContainerService$1.copyPackageToContainer(DefaultContainerService.java:108)
W/DefContainer( 9000): at com.android.internal.app.IMediaContainerService$Stub.onTransact(IMediaContainerService.java:60)
W/DefContainer( 9000): at android.os.Binder.execTransact(Binder.java:446)
I/ActivityManager( 633): Killing 8377:com.android.email/u0a54 (adj 15): empty #17

# touch test
255|root@hammerhead:/mnt/secure/asec # ls
root@hammerhead:/mnt/secure/asec # cd ..
root@hammerhead:/mnt/secure # ls -l
drwx------ root root 1970-01-16 21:42 asec
drwx------ root root 1970-01-16 21:42 staging
root@hammerhead:/mnt/secure #

the error makes sens '/' is mounted read only.

My head hurts but it seems that something need to be mounted (-o bind) on /mnt/secure/asec (using this call : Volume::mountAsecExternal() -system/vold/Volume.cpp -) my guess is /data/media/0/.android_secure.

for some reason it never gets called.

So:

mount -bind /data/media/0/.android_secure /mnt/secure/asec/

yields this:

D/Finsky ( 2611): [1] 2.onResponse: Verification id=0 response=0
D/Finsky ( 2611): [1] PackageVerificationReceiver.onReceive: Verification requested, id = 0
E/Vold ( 218): Couldn't open internal ASEC dir (Permission denied)
E/Vold ( 218): ASEC file '/mnt/secure/asec/smdl1152847144.tmp.asec' currently exists - destroy it first! (Permission denied)
W/vold ( 321): type=1400 audit(0.0:547): avc: denied { read } for name=".android_secure" dev="mmcblk0p28" ino=301655 scontext=u:r:vold:s0 tcontext=u:object_r:media_rw_data_file:s0 tclass=dir permissive=0
W/Vold ( 218): Returning OperationFailed - no handler for errno 98
E/PackageHelper( 9623): Failed to create secure container smdl1152847144.tmp
W/DefContainer( 9623): Failed to copy package at /data/local/tmp/com.quoord.tapatalkxda.activity-d87454de315.apk
W/DefContainer( 9623): java.io.IOException: Failed to create container smdl1152847144.tmp
W/DefContainer( 9623): at com.android.defcontainer.DefaultContainerService.copyPackageToContainerInner(DefaultContainerService.java:323)
W/DefContainer( 9623): at com.android.defcontainer.DefaultContainerService.access$000(DefaultContainerService.java:67)
W/DefContainer( 9623): at com.android.defcontainer.DefaultContainerService$1.copyPackageToContainer(DefaultContainerService.java:108)
W/DefContainer( 9623): at com.android.internal.app.IMediaContainerService$Stub.onTransact(IMediaContainerService.java:60)
W/DefContainer( 9623): at android.os.Binder.execTransact(Binder.java:446)
I/

disabling selinux (setenfore 0) yields this:

D/Finsky ( 2611): [1] 2.onResponse: Verification id=1 response=0
D/Finsky ( 2611): [1] PackageVerificationReceiver.onReceive: Verification requested, id = 1
I/vold ( 321): type=1400 audit(0.0:549): avc: denied { read } for name=".android_secure" dev="mmcblk0p28" ino=301655 scontext=u:r:vold:s0 tcontext=u:object_r:media_rw_data_file:s0 tclass=dir permissive=1
I/vold ( 321): type=1400 audit(0.0:550): avc: denied { open } for name=".android_secure" dev="mmcblk0p28" ino=301655 scontext=u:r:vold:s0 tcontext=u:object_r:media_rw_data_file:s0 tclass=dir permissive=1
I/vold ( 321): type=1400 audit(0.0:551): avc: denied { search } for name=".android_secure" dev="mmcblk0p28" ino=301655 scontext=u:r:vold:s0 tcontext=u:object_r:media_rw_data_file:s0 tclass=dir permissive=1
I/vold ( 321): type=1400 audit(0.0:552): avc: denied { write } for name=".android_secure" dev="mmcblk0p28" ino=301655 scontext=u:r:vold:s0 tcontext=u:object_r:media_rw_data_file:s0 tclass=dir permissive=1
I/vold ( 321): type=1400 audit(0.0:553): avc: denied { add_name } for name="smdl1769391317.tmp.asec" scontext=u:r:vold:s0 tcontext=u:object_r:media_rw_data_file:s0 tclass=dir permissive=1
I/vold ( 321): type=1400 audit(0.0:554): avc: denied { create } for name="smdl1769391317.tmp.asec" scontext=u:r:vold:s0 tcontext=u:object_r:media_rw_data_file:s0 tclass=file permissive=1
I/vold ( 321): type=1400 audit(0.0:555): avc: denied { write open } for name="smdl1769391317.tmp.asec" dev="mmcblk0p28" ino=301657 scontext=u:r:vold:s0 tcontext=u:object_r:media_rw_data_file:s0 tclass=file permissive=1
I/vold ( 321): type=1400 audit(0.0:556): avc: denied { read } for name="smdl1769391317.tmp.asec" dev="mmcblk0p28" ino=301657 scontext=u:r:vold:s0 tcontext=u:object_r:media_rw_data_file:s0 tclass=file permissive=1
I/make_ext4fs( 218): SELinux: Loaded file_contexts from /file_contexts
I/make_ext4fs( 218): Creating filesystem with parameters:
I/make_ext4fs( 218): Size: 5349376
I/make_ext4fs( 218): Block size: 4096
I/make_ext4fs( 218): Blocks per group: 32768
I/make_ext4fs( 218): Inodes per group: 336
I/make_ext4fs( 218): Inode size: 256
I/make_ext4fs( 218): Journal blocks: 0
I/make_ext4fs( 218): Label:
I/make_ext4fs( 218): Blocks: 1306
I/make_ext4fs( 218): Block groups: 1
I/make_ext4fs( 218): Reserved block group size: 7
I/make_ext4fs( 218): Created filesystem with 11/336 inodes and 35/1306 blocks
I/Vold ( 218): Filesystem (ext4) formatted OK
D/DefContainer( 9623): Copying /data/local/tmp/com.quoord.tapatalkxda.activity-d87454de315.apk to /mnt/asec/smdl1769391317.tmp/base.apk
I/vold ( 321): type=1400 audit(0.0:557): avc: denied { getattr } for path="/mnt/secure/asec/smdl1769391317.tmp.asec" dev="mmcblk0p28" ino=301657 scontext=u:r:vold:s0 tcontext=u:object_r:media_rw_data_file:s0 tclass=file permissive=1
I/art ( 619): Explicit concurrent mark sweep GC freed 12534(624KB) AllocSpace objects, 1(4MB) LOS objects, 33% free, 31MB/47MB, paused 870us total 64.620ms
W/PackageParser( 619): No actions in intent filter at /mnt/asec/smdl1769391317.tmp/base.apk Binary XML file line #42
W/PackageParser( 619): No actions in intent filter at /mnt/asec/smdl1769391317.tmp/base.apk Binary XML file line #118
W/PackageParser( 619): No actions in intent filter at /mnt/asec/smdl1769391317.tmp/base.apk Binary XML file line #136
W/PackageParser( 619): No actions in intent filter at /mnt/asec/smdl1769391317.tmp/base.apk Binary XML file line #149
W/PackageParser( 619): No actions in intent filter at /mnt/asec/smdl1769391317.tmp/base.apk Binary XML file line #161
W/PackageParser( 619): No actions in intent filter at /mnt/asec/smdl1769391317.tmp/base.apk Binary XML file line #202
W/PackageParser( 619): No actions in intent filter at /mnt/asec/smdl1769391317.tmp/base.apk Binary XML file line #212
W/PackageParser( 619): No actions in intent filter at /mnt/asec/smdl1769391317.tmp/base.apk Binary XML file line #222
W/PackageParser( 619): No actions in intent filter at /mnt/asec/smdl1769391317.tmp/base.apk Binary XML file line #232
W/PackageParser( 619): No actions in intent filter at /mnt/asec/smdl1769391317.tmp/base.apk Binary XML file line #242
W/PackageParser( 619): No actions in intent filter at /mnt/asec/smdl1769391317.tmp/base.apk Binary XML file line #252
W/PackageParser( 619): No actions in intent filter at /mnt/asec/smdl1769391317.tmp/base.apk Binary XML file line #262
W/PackageParser( 619): No actions in intent filter at /mnt/asec/smdl1769391317.tmp/base.apk Binary XML file line #272
W/PackageParser( 619): No actions in intent filter at /mnt/asec/smdl1769391317.tmp/base.apk Binary XML file line #282
W/PackageParser( 619): No actions in intent filter at /mnt/asec/smdl1769391317.tmp/base.apk Binary XML file line #292
W/PackageParser( 619): No actions in intent filter at /mnt/asec/smdl1769391317.tmp/base.apk Binary XML file line #302
W/PackageParser( 619): No actions in intent filter at /mnt/asec/smdl1769391317.tmp/base.apk Binary XML file line #312
W/PackageParser( 619): No actions in intent filter at /mnt/asec/smdl1769391317.tmp/base.apk Binary XML file line #322
W/PackageParser( 619): No actions in intent filter at /mnt/asec/smdl1769391317.tmp/base.apk Binary XML file line #335
W/PackageParser( 619): No actions in intent filter at /mnt/asec/smdl1769391317.tmp/base.apk Binary XML file line #343
W/PackageParser( 619): No actions in intent filter at /mnt/asec/smdl1769391317.tmp/base.apk Binary XML file line #351
W/PackageParser( 619): No actions in intent filter at /mnt/asec/smdl1769391317.tmp/base.apk Binary XML file line #359
W/PackageParser( 619): No actions in intent filter at /mnt/asec/smdl1769391317.tmp/base.apk Binary XML file line #393
W/PackageParser( 619): No actions in intent filter at /mnt/asec/smdl1769391317.tmp/base.apk Binary XML file line #407
I/art ( 619): Explicit concurrent mark sweep GC freed 126915(5MB) AllocSpace objects, 24(1512KB) LOS objects, 33% free, 31MB/47MB, paused 1.450ms total 94.514ms
I/vold ( 321): type=1400 audit(0.0:558): avc: denied { remove_name } for name="smdl1769391317.tmp.asec" dev="mmcblk0p28" ino=301657 scontext=u:r:vold:s0 tcontext=u:object_r:media_rw_data_file:s0 tclass=dir permissive=1
I/vold ( 321): type=1400 audit(0.0:559): avc: denied { rename } for name="smdl1769391317.tmp.asec" dev="mmcblk0p28" ino=301657 scontext=u:r:vold:s0 tcontext=u:object_r:media_rw_data_file:s0 tclass=file permissive=1
W/PackageManager( 619): Mounting container com.quoord.tapatalkxda.activity-1
I/PackageManager( 619): Succesfully renamed smdl1769391317.tmp to com.quoord.tapatalkxda.activity-1 at new path: /mnt/asec/com.quoord.tapatalkxda.activity-1
I/art ( 619): DexFile_isDexOptNeeded failed to open oat file '/data/dalvik-cache/arm/mnt@asec@com.quoord.tapatalkxda.activity-1@base.apk@classes.dex' for file location '/mnt/asec/com.quoord.tapatalkxda.activity-1/base.apk': Failed to open oat filename for reading: No such file or directory
I/art ( 619): DexFile_isDexOptNeeded failed to open oat file '/mnt/asec/com.quoord.tapatalkxda.activity-1/arm/base.odex' for file location '/mnt/asec/com.quoord.tapatalkxda.activity-1/base.apk': Failed to open oat filename for reading: No such file or directory
I/PackageManager( 619): Running dexopt on: /mnt/asec/com.quoord.tapatalkxda.activity-1/base.apk pkg=com.quoord.tapatalkxda.activity isa=arm vmSafeMode=false
E/cutils-trace( 9732): Error opening trace file: No such file or directory (2)
I/dex2oat ( 9732): /system/bin/dex2oat --zip-fd=6 --zip-location=/mnt/asec/com.quoord.tapatalkxda.activity-1/base.apk --oat-fd=7 --oat-location=/data/dalvik-cache/arm/mnt@asec@com.quoord.tapatalkxda.activity-1@base.apk@classes.dex --instruction-set=arm --instruction-set-features=div --runtime-arg -Xms64m --runtime-arg -Xmx512m
I/ThermalEngine( 237): Thermal-Server: Thermal received msg override 0
E/ThermalEngine( 237): override_notify : SS mode 0 override -1273795352
I/Thermal-Lib( 1778): Thermal-Lib-Client: Client request sent
I/dex2oat ( 9732): dex2oat took 1.838s (threads: 4)
V/BackupManagerService( 619): restoreAtInstall pkg=com.quoord.tapatalkxda.activity token=2 restoreSet=0
V/BackupManagerService( 619): Finishing install immediately
V/GmsNetworkLocationProvi( 1797): onSetRequest: ProviderRequestUnbundled, reportLocation is true and interval is 86400000
V/GmsNetworkLocationProvi( 1797): SET-REQUEST
V/GmsNetworkLocationProvi( 1797): in Handler: ProviderRequestUnbundled, reportLocation is true and interval is 86400000
I/InputReader( 619): Reconfiguring input devices. changes=0x00000010
I/SELinux ( 238): avc: received setenforce notice (enforcing=0)
I/ActivityManager( 619): Start proc android.process.acore for broadcast com.android.providers.contacts/.PackageIntentReceiver: pid=9765 uid=10003 gids={50003, 9997, 3003, 1028, 1015} abi=armeabi-v7a
D/WifiService( 619): acquireWifiLockLocked: WifiLock{NlpWifiLock type=2 binder=android.os.BinderProxy@2a513e54}
W/Settings( 619): Setting install_non_market_apps has moved from android.provider.Settings.Global to android.provider.Settings.Secure, returning read-only value.
D/PhoneApp( 1423): getPhone phoneId:0
D/PhoneApp( 1423): getPhone phoneId:0
E/native ( 619): do suspend true
E/WifiStateMachine( 619): WifiStateMachine CMD_START_SCAN source 10020 txSuccessRate=0.00 rxSuccessRate=0.00 targetRoamBSSID=c8:d7:19:33:e7:c3 RSSI=-32
I/wpa_supplicant( 1052): wlan0: CTRL-EVENT-SCAN-STARTED
W/ResourceType( 619): ResTable_typeSpec entry count inconsistent: given 1, previously 1426
E/RegisteredServicesCache( 1367): Skipping APDU service ComponentInfo{com.ibm.timhortons.android/com.ibm.timhortons.android.nfc.ClearBridgeNfcService}: it does not require the permission android.permission.NFC
D/BackupManagerService( 619): Received broadcast Intent { act=android.intent.action.PACKAGE_ADDED dat=package:com.quoord.tapatalkxda.activity flg=0x4000010 (has extras) }
D/PhoneApp( 1423): getPhone phoneId:0
W/InputMethodInfo( 619): Duplicated subtype definition found: , voice
W/AccessibilityManagerService( 619): Skipping accessibilty service com.picitup.iOnRoad/.service.NotificationsReader: it does not require the permission android.permission.BIND_ACCESSIBILITY_SERVICE
D/PhoneApp( 1423): getPhone phoneId:0
I/ActivityManager( 619): Start proc com.android.voicedialer for broadcast com.android.voicedialer/.VoiceDialerReceiver: pid=9795 uid=10017 gids={50017, 9997, 3002} abi=armeabi-v7a
I/ActivityManager( 619): Killing 9040:com.bendigi.Mortgage/u0a179 (adj 15): empty #17
I/art ( 619): Explicit concurrent mark sweep GC freed 46642(4MB) AllocSpace objects, 6(96KB) LOS objects, 32% free, 32MB/48MB, paused 2.160ms total 143.317ms
I/ContactLocale( 9765): AddressBook Labels [en-CA]: [, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω, , А, Б, В, Г, Д, Ђ, Е, Є, Ж, З, И, І, Ї, Й, Ј, К, Л, Љ, М, Н, Њ, О, П, Р, С, Т, Ћ, У, Ф, Х, Ц, Ч, Џ, Ш, Щ, Ю, Я, , א, ב, ג, ד, ה, ו, ז, ח, ט, י, כ, ל, מ, נ, ס, ע, פ, צ, ק, ר, ש, ת, , ا, ب, ت, ث, ج, ح, خ, د, ذ, ر, ز, س, ش, ص, ض, ط, ظ, ع, غ, ف, ق, ك, ل, م, ن, ه, و, ي, , ก, ข, ฃ, ค, ฅ, ฆ, ง, จ, ฉ, ช, ซ, ฌ, ญ, ฎ, ฏ, ฐ, ฑ, ฒ, ณ, ด, ต, ถ, ท, ธ, น, บ, ป, ผ, ฝ, พ, ฟ, ภ, ม, ย, ร, ฤ, ล, ฦ, ว, ศ, ษ, ส, ห, ฬ, อ, ฮ, , ㄱ, ㄴ, ㄷ, ㄹ, ㅁ, ㅂ, ㅅ, ㅇ, ㅈ, ㅊ, ㅋ, ㅌ, ㅍ, ㅎ, , あ, か, さ, た, な, は, ま, や, ら, わ, #, ]
D/AndroidRuntime( 9680): Shutting down VM
W/art ( 619): Long monitor contention event with owner method=void com.android.server.AppOpsService.writeState() from AppOpsService.java:1240 waiters=2 for 126ms
W/libprocessgroup( 619): failed to open /acct/uid_10179/pid_9040/cgroup.procs: No such file or directory
I/ActivityManager( 619): Start proc com.google.android.partnersetup for broadcast com.google.android.partnersetup/.RlzPingBroadcastReceiver: pid=9813 uid=10022 gids={50022, 9997, 3003} abi=armeabi-v7a
I/ActivityManager( 619): Killing 9088:com.vonglasow.michael.satstat/u0a132 (adj 15): empty #17
W/libprocessgroup( 619): failed to open /acct/uid_10132/pid_9088/cgroup.procs: No such file or directory
I/Launcher( 1467): Deferring update until onResume
W/ResourcesManager( 1467): Asset path '/system/framework/org.cyanogenmod.hardware.jar' does not exist or contains no resources.
W/ResourcesManager( 1467): Asset path '/system/framework/com.google.android.media.effects.jar' does not exist or contains no resources.
I/ActivityManager( 619): Start proc com.android.gallery3d for broadcast com.android.gallery3d/.app.PackagesMonitor: pid=9835 uid=10051 gids={50051, 9997, 3003, 1028, 1015, 1023, 3002} abi=armeabi-v7a
I/ActivityManager( 619): Killing 8152:com.android.mms/u0a14 (adj 15): empty #17
D/CountryDetector( 619): No listener is left
W/ResourcesManager( 1467): Asset path '/system/framework/com.google.android.maps.jar' does not exist or contains no resources.
I/Launcher( 1467): Deferring update until onResume
W/libprocessgroup( 619): failed to open /acct/uid_10014/pid_8152/cgroup.procs: No such file or directory
W/ResourcesManager( 9835): Asset path '/system/framework/com.google.android.media.effects.jar' does not exist or contains no resources.
I/ActivityManager( 619): Start proc com.svox.pico for broadcast com.svox.pico/.VoiceDataInstallerReceiver: pid=9860 uid=10010 gids={50010, 9997, 1028, 1015} abi=armeabi-v7a
I/ActivityManager( 619): Killing 8286:com.ypg.rfd/u0a138 (adj 15): empty #17
W/libprocessgroup( 619): failed to open /acct/uid_10138/pid_8286/cgroup.procs: No such file or directory
I/ActivityManager( 619): Killing 8666:com.google.android.gms.wearable/u0a20 (adj 15): empty #17
W/libprocessgroup( 619): failed to open /acct/uid_10020/pid_8666/cgroup.procs: No such file or directory
I/ConfigFetchService( 1691): PackageReceiver: Intent { act=android.intent.action.PACKAGE_ADDED dat=package:com.quoord.tapatalkxda.activity flg=0x4000010 cmp=com.google.android.gms/.config.ConfigFetchService$PackageReceiver (has extras) }
I/ConfigService( 1866): onCreate
I/ConfigService( 1866): onBind for Intent { act=com.google.android.gms.config.UPDATE pkg=com.google.android.gms } action com.google.android.gms.config.UPDATE
I/ConfigFetchService( 1691): onStartCommand Intent { act=android.intent.action.PACKAGE_ADDED dat=package:com.quoord.tapatalkxda.activity cmp=com.google.android.gms/.config.ConfigFetchService (has extras) }
I/ConfigFetchService( 1691): launchTask
I/ConfigService( 1866): onBind returning update interface
I/ConfigService( 1866): onBind for Intent { act=com.google.android.gms.config.START pkg=com.google.android.gms } action com.google.android.gms.config.START
I/ConfigService( 1866): onBind returning config service
I/GoogleHttpClient( 1691): Falling back to old SSLCertificateSocketFactory
I/art ( 1866): Explicit concurrent mark sweep GC freed 23424(2MB) AllocSpace objects, 0(0B) LOS objects, 40% free, 18MB/30MB, paused 5.359ms total 147.987ms
I/ActivityManager( 619): Start proc com.abc.resfree for broadcast com.abc.resfree/com.viraltrics.android.service.UpgradeReceiver: pid=9885 uid=10089 gids={50089, 9997, 3003, 1028, 1015} abi=armeabi-v7a
I/art ( 238): Explicit concurrent mark sweep GC freed 703(30KB) AllocSpace objects, 0(0B) LOS objects, 39% free, 15MB/25MB, paused 177us total 22.268ms
I/ConfigFetchService( 1691): service connected
I/ConfigClient( 1691): service connected
I/art ( 238): Explicit concurrent mark sweep GC freed 5(160B) AllocSpace objects, 0(0B) LOS objects, 39% free, 15MB/25MB, paused 174us total 15.314ms
I/art ( 238): Explicit concurrent mark sweep GC freed 5(160B) AllocSpace objects, 0(0B) LOS objects, 39% free, 15MB/25MB, paused 175us total 8.923ms
D/PackageBroadcastService( 1691): Received broadcast action=android.intent.action.PACKAGE_ADDED and uri=com.quoord.tapatalkxda.activity
I/PeopleContactsSync( 1691): CP2 sync disabled
I/ActivityManager( 619): Start proc com.google.android.gms.wearable for service com.google.android.gms/.wearable.service.WearableControlService: pid=9921 uid=10020 gids={50020, 9997, 2001, 3003, 1007, 3006, 3002, 3001, 1028, 1015, 1005, 3007} abi=armeabi-v7a
W/ResourcesManager( 9921): Asset path '/system/framework/com.android.media.remotedisplay.jar' does not exist or contains no resources.
W/ResourcesManager( 9921): Asset path '/system/framework/com.android.location.provider.jar' does not exist or contains no resources.
E/Upgrade Receiver( 9885): Enter Upgrade Receiver
I/MultiDex( 9921): VM with version 2.1.0 has multidex support
I/MultiDex( 9921): install
I/MultiDex( 9921): VM has multidex support, MultiDex support library is disabled.
W/GmsApplication( 1691): Using Auth Proxy for data requests.
W/GmsApplication( 1691): Using Auth Proxy for data requests.
V/Upgrade Receiver( 9885): Extras is NOT null
E/Upgrade Receiver( 9885): intent:Intent { act=android.intent.action.PACKAGE_ADDED dat=package:com.quoord.tapatalkxda.activity flg=0x4000010 cmp=com.abc.resfree/com.viraltrics.android.service.UpgradeReceiver (has extras) } action:android.intent.action.PACKAGE_ADDED

and the package is installed, finally.

To note that when I installed betterbatterystats (download from xda and adb install) I didn;t run into any problem (ie: without all the gymnastics above)