Zip plugin

Rob,

as of now, I have not had a failure today.

Thanks

Dave

We updated the plugin on Friday and then fixed an issue yesterday. I’m just trying to make sure you’re not caught up in those changes. But that fix was pushed earlier in the day yesterday. It sounds more like a file was getting corrupted along it’s upload/download path.

Rob

Got it. Thanks. 

On the plugin, any way to get some error reporting?  ErrorMessage and response are always empty. It would be nice to get something like: corrupted file, no room to expand, missing file, etc.  also, on a success, number of files would be nice in the response table. 

On a failure, knowing why would let us recover gracefully. 

Thanks

Dave

Just tried it out, it’s working for me now too. Thanks.

What version of Corona are you running?

What error are you getting?  

How do you know it’s not working?

Have you tried to look at the console log? You may need to run “adb logcat” to get the error.

Rob

I’m having the exact same issue – I’ve been debugging a crash for the past couple hours and tracked it down to the zip plugin. I just came here to check if anyone else was experiencing it.

The zip plugin had been working fine for me until today. It still works in the simulator, but on Android devices the uncompress() call causes the app to crash. I just get the “Unfortunately, xx has stopped” Android popup. Nothing new is showing up in adb logcat. I’m using Corona v2017.3068.

Hi Rob

I was using coronasdk 2017.3086 … 

I just upgraded ton corona 2017.3114 and it is working again on both simulator and Andrioid (i dont have an iphone) but I work on the mac.

thanks again

Sincerely

TH

HI Rob

seems to have solved the uncompress but not compress with the upgrade

the moment the code hits compress (sometimes, it does have the zip) but it terminates the program.

This does not happen in the simulator, only on the phone (android). 

Sincerely

TH

I tried updating to the latest Corona (2017.3114) and it didn’t help for me – uncompress is still causing it to crash on Android. I don’t know about compress as I don’t use it. I don’t think it’s related to the Corona version as it was working fine for me before today with 2017.3068, which then started failing. I’m guessing the zip plug-in itself was recently updated and a bug was introduced.

Hi
I rebuild my app again and both uncompress n conpress does work anymore…
The app just terminates whenever it hits uncompress or compress.

I beileve it the plugin code as mentioned byzaphod42 that maybe the problem.

Any help would be appreciated

Thks
TH

I’ve asked Engineering to look into it.  Hopefully we will know more tomorrow.

Rob

Hey guys,

I can confirm that zip.compress crashes for me but zip.uncompress looks good.

Could you please create demo project and send it to support AT coronalabs.com?

Corona build 2017.3114

I’ve emailed a demo project as requested. At first I used a zip file containing a simple text file with only a few characters, and that worked fine. I then tried a text file with 200 characters (as in the demo), and that’s failing. So it seems to be size-dependent.

I have trouble with zip from today’s build, too. Source code has not changed anything.

There is no problem with Windows, Mac and iOS devices.

It occurs only on Android devices.

Biuld: 2017.3114

I will attach an error log.

There is no problem with the version already delivered in the store.

The following error will be displayed from what you built today and will crash.


07-31 09:16:50.422  7843  7843 F DEBUG   :     #03 pc 000212d8

/data/app/OUR_PACKAGE_ID/lib/arm/libplugin.zip.so

(_ZN6Corona14ZipTaskExtract7ExecuteEPNS_16CommandInterfaceE+1324)

07-31 09:16:50.422  7843  7843 F DEBUG   :     #04 pc 0001bbdc

/data/app/OUR_PACKAGE_ID/lib/arm/libplugin.zip.so

(_ZN6Corona14AsyncTaskQueue16ExecuteFrontTaskEv+64)

07-31 09:16:52.215  3669  7845 W ActivityManager:   Force finishing

activity OUR_PACKAGE_ID/com.ansca.corona.CoronaActivity

07-31 09:16:52.349  3669  5493 I WindowManager: WIN DEATH: Window{56f36c9d0

u0 OUR_PACKAGE_ID/com.ansca.corona.CoronaActivity}

07-31 09:16:52.349  3669  5493 D WindowManager: disposeInputChannel

mInputChannel: 56f36c9

OUR_PACKAGE_ID/com.ansca.corona.CoronaActivity (server)

07-31 09:16:52.356  3669  5493 I WindowManager_SurfaceController:

Destroying surface

Surface(name=OUR_PACKAGE_ID/com.ansca.corona.CoronaActivity) called

by com.android.server.wm.WindowStateAnimator.destroySurface:2905

com.android.server.wm.WindowStateAnimator.destroySurfaceLocked:1119

com.android.server.wm.WindowState.removeLocked:1860

com.android.server.wm.WindowManagerService.removeWindowInnerLocked:2928

com.android.server.wm.WindowManagerService.removeWindowLocked:2859

com.android.server.wm.WindowState$DeathRecipient.binderDied:2340

android.os.BinderProxy.sendDeathNotice:701 <bottom of call stack>

07-31 09:16:52.363  3669 17807 I WindowManager: WIN DEATH: Window{b067ffcd0

u0 SurfaceView - OUR_PACKAGE_ID/com.ansca.corona.CoronaActivity}

07-31 09:16:52.363  3669 17807 I WindowManager_SurfaceController:

Destroying surface Surface(name=SurfaceView -

OUR_PACKAGE_ID/com.ansca.corona.CoronaActivity) called by

com.android.server.wm.WindowStateAnimator.destroySurface:2905

com.android.server.wm.WindowStateAnimator.destroySurfaceLocked:1119

com.android.server.wm.WindowState.removeLocked:1860

com.android.server.wm.WindowManagerService.removeWindowInnerLocked:2928

com.android.server.wm.WindowManagerService.removeWindowLocked:2859

com.android.server.wm.WindowState$DeathRecipient.binderDied:2340

android.os.BinderProxy.sendDeathNotice:701 <bottom of call stack>

I’m running 2017.3068

Code has been running flawlessly for over 6 months.  Starting yesterday (for me) the build crashes on an Android device as soon as uncompress is called.  No information shows on screen or in logcat.

logcat below.

I/Corona (16528): downloadAppIcon: going unzip: options= I/Corona (16528): table: 0x9fb41920 { I/Corona (16528): [zipFile] =\> "Md6-597e7dfa/Md6-597e7dfa.zip" I/Corona (16528): [dstBaseDir] =\> userdata: 0xa411078d I/Corona (16528): [listener] =\> function: 0x9fb418a0 I/Corona (16528): [zipBaseDir] =\> userdata: 0xa411078d I/Corona (16528): } I/Corona (16528): going uncompress F/libc (16528): Fatal signal 11 (SIGSEGV), code 1, fault addr 0x15 in tid 16565 (GLThread 1119) I/libc (16528): Suppressing debuggerd output because prctl(PR\_GET\_DUMPABLE)==0 I/BufferQueueProducer( 149): [com.sinsepdesigns.sdzAdmin/com.ansca.corona.CoronaActivity](this:0xb5c5ec00,id:116,api:1,p:-1,c:149) disconnect(P): api 1 I/BufferQueueConsumer( 149): [com.sinsepdesigns.sdzAdmin/com.ansca.corona.CoronaActivity](this:0xb5c5ec00,id:116,api:1,p:-1,c:149) getReleasedBuffers: returning mask 0xffffffffffffffff D/GraphicBuffer( 149): free, handle(0xb54305c0) (w:976 h:600 s:976 f:0x1 u:0x000f02) I/WindowState( 571): WIN DEATH: Window{dad1ca8 u0 com.sinsepdesigns.sdzAdmin/com.ansca.corona.CoronaActivity} D/GraphicBuffer( 149): free, handle(0xb5430550) (w:976 h:600 s:976 f:0x1 u:0x000f02) D/DisplayManagerService( 571): Display listener for pid 16528 died. D/GraphicBuffer( 149): free, handle(0xb5d8c320) (w:976 h:600 s:976 f:0x1 u:0x000f02) I/SurfaceFlinger( 149): EventThread Client Pid (16528) disconnected by (149) I/SurfaceFlinger( 149): EventThread Client Pid (16528) disconnected by (149) W/WindowManager( 571): Force-removing child win Window{569e766 u0 SurfaceView} from container Window{dad1ca8 u0 com.sinsepdesigns.sdzAdmin/com.ansca.corona.CoronaActivity} D/SensorService( 571): ~SensorEventConnection(0x96086f20) D/SensorService( 571): 1 active sensors D/SensorService( 571): 0: disabling handle=0x00000001 D/SensorService( 571): SensorDevice::activate: ident=0x96086f20, handle=0x00000001, enabled=0, count=1 I/BufferQueueProducer( 149): [SurfaceView](this:0xb5c58000,id:117,api:1,p:-1,c:149) disconnect(P): api 1 D/SensorService( 571): disable index=0 D/SensorService( 571): \>\>\> actuating h/w activate handle=1 enabled=0 D/Sensors ( 571): activate handle =0, enable = 0 E/Sensors ( 571): handleToDriver handle(0) D/Sensors ( 571): use new sensor index=2, mSensors[index](b45c9000) D/Accel ( 571): ACC enable: handle:0, en:0 D/Accel ( 571): path:/sys/class/misc/m\_acc\_misc/accactive I/BufferQueueConsumer( 149): [SurfaceView](this:0xb5c58000,id:117,api:1,p:-1,c:149) getReleasedBuffers: returning mask 0xffffffffffffffff D/GraphicBuffer( 149): free, handle(0xb5c72f90) (w:976 h:600 s:976 f:0x1 u:0x000f02) D/GraphicBuffer( 149): free, handle(0xb5c71cc0) (w:976 h:600 s:976 f:0x1 u:0x000f02) D/GraphicBuffer( 149): free, handle(0xb5d8c400) (w:976 h:600 s:976 f:0x1 u:0x000f02) D/GuiExt ( 176): [GuiExtS] binder of dump tunnel(RB-0xb46e6948) died D/Accel ( 571): ACC enable(0) done D/SensorService( 571): removing connection 0x96086f20 for sensor[0].handle=0x00000001 D/SensorService( 571): ... and it was the last connection I/Zygote ( 190): Process 16528 exited due to signal (11) I/BufferQueueConsumer( 149): [SurfaceView](this:0xb5c58000,id:117,api:1,p:-1,c:-1) disconnect(C) I/ActivityManager( 571): Process com.sinsepdesigns.sdzAdmin (pid 16528) has died D/ActivityManager( 571): SVC-handleAppDiedLocked: app = ProcessRecord{32a6c0ec 16528:com.sinsepdesigns.sdzAdmin/u0a163}, app.pid = 16528 D/GraphicBuffer( 149): free, handle(0xb5d8c390) (w:976 h:600 s:976 f:0x1 u:0x000f02) W/ActivityManager( 571): Scheduling restart of crashed service com.sinsepdesigns.sdzAdmin/shared.google.play.services.base.PackageStateChangedService in 1000ms W/ActivityManager( 571): Scheduling restart of crashed service com.sinsepdesigns.sdzAdmin/com.onesignal.SyncService in 10999ms D/ActivityManager( 571): removeDyingProviderLocked: cpr=ContentProviderRecord{1201cf6 u0 com.sinsepdesigns.sdzAdmin/com.ansca.corona.storage.FileContentProvider} always=false inLaunching=false

In case anyone’s interested, the following will reproduce it, assuming the zip file is large enough. I emailed this code to Corona support, with foo.zip containing a 200 byte text file:

local zip = require("plugin.zip") local txt local function zipListener(event) if (event.isError) then txt.text = "unzip error" else txt.text = "unzip success" end end local function main() txt = display.newText({text = "unzip test", x = 100, y = 100, fontSize = 30}) local options = { zipFile = "foo.zip", zipBaseDir = system.ResourceDirectory, dstBaseDir = system.DocumentsDirectory, listener = zipListener, } zip.uncompress(options) end main()

This succeeds in the simulator but crashes on Android.

Hi everybody,

there was something wrong with Android build. It should work now.

Thank you, yes it is working for both compress and uncompress. Just testing a couple times.

I was getting clean uncompresses earlier today.  This evening, I am getting consistent unzip errors - however when printing out the event variable, other than the isError event variable being set to true,  errorMessage is blank, and response is a table with no entries.

I/Corona  ( 3725): event=

I/Corona  ( 3725): table: 0x9fd6ab60 {

I/Corona  ( 3725):   [type] => “uncompress”

I/Corona  ( 3725):   [name] => “zip”

I/Corona  ( 3725):   [errorMessage] => “”

I/Corona  ( 3725):   [isError] => true

I/Corona  ( 3725):   [response] => table: 0x9fd6ab60 {

I/Corona  ( 3725):                 }

I/Corona  ( 3725): }

zip files are between 1.2m and 1.5m.