I have implemented laravel-stripe-webhooks successfully in my Laravel 6 app and on my local dev copy can successfully process the payload back from Stripe Checkout. However, when I commit my app to my Forge production server, I get an invalid signature error and my app repots 500 back to Stripe.
I have checked and re-checked the Stripe live webhook secret key (not the Stripe CLI one) and it matches. The other possible reason I read for this is JSON parsing that changes the payload received and causes a mismatch that fails the signature verification. Since my code works fine on my dev server (using Stripe CLI) I can rule out JSON parsing as the issue, as that would exist also in the dev version and cause the same error there.
Here's the complete error I get from my Forge production app:
[2023-01-27 14:49:26] production.ERROR: The signature is invalid. {"exception":"[object] (Spatie\\WebhookClient\\Exceptions\\WebhookFailed(code: 0): The signature is invalid. at /home/forge/divorcesplit.com/vendor/spatie/laravel-webhook-client/src/Exceptions/WebhookFailed.php:11)
[stacktrace]
#0 /home/forge/mywebsite.com/vendor/spatie/laravel-webhook-client/src/WebhookProcessor.php(44): Spatie\\WebhookClient\\Exceptions\\WebhookFailed::invalidSignature()
#1 /home/forge/mywebsite.com/vendor/spatie/laravel-webhook-client/src/WebhookProcessor.php(28): Spatie\\WebhookClient\\WebhookProcessor->ensureValidSignature()
#2 /home/forge/mywebsite.com/vendor/spatie/laravel-stripe-webhooks/src/StripeWebhooksController.php(27): Spatie\\WebhookClient\\WebhookProcessor->process()
#3 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(48): Spatie\\StripeWebhooks\\StripeWebhooksController->__invoke(Object(Illuminate\\Http\\Request), NULL)
#4 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Routing/Route.php(219): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(Spatie\\StripeWebhooks\\StripeWebhooksController), '__invoke')
#5 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Routing/Route.php(176): Illuminate\\Routing\\Route->runController()
#6 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php(681): Illuminate\\Routing\\Route->run()
#7 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(130): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/forge/mywebsite.com/app/Http/Middleware/VerifyCsrfToken.php(32): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): App\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#13 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Session/Middleware/AuthenticateSession.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Session\\Middleware\\AuthenticateSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#15 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(56): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(105): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php(683): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#25 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php(658): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#26 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php(624): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#27 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php(613): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#28 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(170): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#29 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(130): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/forge/mywebsite.com/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(63): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(105): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(145): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#42 /home/forge/mywebsite.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(110): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#43 /home/forge/mywebsite.com/public/index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#44 {main}
"}
Any suggestions are very welcome because until I fic this I'm dead in the water and my app cannto process Stripe transactions.
Want to improve this post? Provide detailed answers to this question, including citations and an explanation of why your answer is correct. Answers without enough detail may be edited or deleted.
When I try to run my app in an emulator in Android Studio I get the following error. I have to say that it worked before and stopped working after some updates of SDK to v.29. Is there something I have to change now?
I tried to kill and restart adb server and disabling heap protection so far..
Error retrieving device properties for ro.product.cpu.abi:
Launching lib\main.dart on Android SDK built for x86 in debug mode...
Initializing gradle...
Resolving dependencies...
--------- beginning of main
06-05 21:14:13.850 I/GnssLocationProvider( 1898): WakeLock released by handleMessage(REPORT_SV_STATUS, 0, com.android.server.location.GnssLocationProvider$SvStatusInfo#29d78c9)
Unhandled exception:
Exit code -1073740940 from: C:\Users\Viktor\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell -x logcat -v time -t 1
#0 _runWithLoggingSync (package:flutter_tools/src/base/process.dart:360:7)
#1 runCheckedSync (package:flutter_tools/src/base/process.dart:289:10)
#2 AndroidDevice.lastLogcatTimestamp (package:flutter_tools/src/android/android_device.dart:513:27)
#3 _AdbLogReader._start (package:flutter_tools/src/android/android_device.dart:688:41)
#4 _runGuarded (dart:async/stream_controller.dart:805:24)
#5 _BroadcastStreamController._subscribe (dart:async/broadcast_stream_controller.dart:213:7)
#6 _ControllerStream._createSubscription (dart:async/stream_controller.dart:818:19)
#7 _StreamImpl.listen (dart:async/stream_impl.dart:472:9)
#8 FlutterDevice.startEchoingDeviceLog (package:flutter_tools/src/resident_runner.dart:318:71)
#9 FlutterDevice.runHot (package:flutter_tools/src/resident_runner.dart:361:5)
<asynchronous suspension>
#10 HotRunner.run (package:flutter_tools/src/run_hot.dart:253:39)
<asynchronous suspension>
#11 AppDomain.startApp.<anonymous closure> (package:flutter_tools/src/commands/daemon.dart:389:23)
#12 AppDomain.launch.<anonymous closure> (package:flutter_tools/src/commands/daemon.dart:449:26)
<asynchronous suspension>
#13 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:142:29)
<asynchronous suspension>
#14 _rootRun (dart:async/zone.dart:1124:13)
#15 _CustomZone.run (dart:async/zone.dart:1021:19)
#16 _runZoned (dart:async/zone.dart:1516:10)
#17 runZoned (dart:async/zone.dart:1463:12)
#18 AppContext.run (package:flutter_tools/src/base/context.dart:141:18)
<asynchronous suspension>
#19 AppInstance._runInZone (package:flutter_tools/src/commands/daemon.dart:819:20)
#20 AppDomain.launch (package:flutter_tools/src/commands/daemon.dart:447:15)
<asynchronous suspension>
#21 AppDomain.startApp (package:flutter_tools/src/commands/daemon.dart:383:12)
<asynchronous suspension>
#22 RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:301:38)
<asynchronous suspension>
#23 FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:559:18)
#24 _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:77:64)
#25 _rootRunUnary (dart:async/zone.dart:1132:38)
#26 _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#27 _FutureListener.handleValue (dart:async/future_impl.dart:126:18)
#28 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:639:45)
#29 Future._propagateToListeners (dart:async/future_impl.dart:668:32)
#30 Future._complete (dart:async/future_impl.dart:473:7)
#31 _SyncCompleter.complete (dart:async/future_impl.dart:51:12)
#32 _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:28:18)
#33 _completeOnAsyncReturn (dart:async-patch/async_patch.dart:294:13)
#34 RunCommand.usageValues (package:flutter_tools/src/commands/run.dart)
#35 _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:77:64)
#36 _rootRunUnary (dart:async/zone.dart:1132:38)
#37 _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#38 _FutureListener.handleValue (dart:async/future_impl.dart:126:18)
#39 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:639:45)
#40 Future._propagateToListeners (dart:async/future_impl.dart:668:32)
#41 Future._complete (dart:async/future_impl.dart:473:7)
#42 _SyncCompleter.complete (dart:async/future_impl.dart:51:12)
#43 _AsyncAwaitCompleter.complete.<anonymous closure> (dart:async-patch/async_patch.dart:33:20)
#44 _rootRun (dart:async/zone.dart:1124:13)
#45 _CustomZone.run (dart:async/zone.dart:1021:19)
#46 _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:947:23)
#47 _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#48 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
#49 _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:115:13)
#50 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:5)
And here's a picture of the SDK tools. Maybe it's important...
It appears to be an update problem with Platform-Tools version 28, more specific with the ADB tool. There is a temporary fix so you can follow the steps provided in this link https://github.com/flutter/flutter/issues/33938#issuecomment-499250288
PD. If you already installed API 29 version probably you need to downgrade. v.29 --> v.28
Dear stackoverflow team,
I recently compiled paraview from source on ubuntu using the following build instructions, however I get core dumped when opening any *vtk,*exodus file.
#! /bin/bash
export CC=mpicc
export CXX=mpicxx
export FC=mpif90
export F77=mpif77
cmake \
-D CMAKE_INSTALL_PREFIX:PATH=/home/pablo/BuildParaview \
-D BUILD_SHARED_LIBS:BOOL=OFF \
-D BUILD_TESTING:BOOL=ON \
-D PARAVIEW_ENABLE_PYTHON:BOOL=ON \
-D PARAVIEW_USE_MPI:BOOL=ON \
-D CMAKE_BUILD_TYPE:STRING=Debug \
-D PARAVIEW_BUILD_QT_GUI:BOOL=ON \
-D CMAKE_CXX_FLAGS:STRING="-O0 -Wall -std=c++11 -pedantic -Wno-long-long -ftrapv -Wno-deprecated-declarations" \
-D PARAVIEW_ENABLE_CATALYST:BOOL=ON \
-D PARAVIEW_USE_VTKM:BOOL=ON \
-D VTK_DIR:PATH="/home/pablo/BuildParaview/paraview/build/VTK/" \
-D CMAKE_PREFIX_PATH=/home/pablo/BuildParaview/Qt5.9.1/5.9.1/gcc_64/lib/cmake \
../ParaView/
make -j 1
make install
After installing it, and removing the "libqgtk3.so" file, paraview was able to launch, but the problem comes when trying to read any vtk or exodus file, for which I immediately get the following errors: I don't know at this point what to do. My guess is I missed some other command that requires other package to be installed?. Please any help will be gratefully appreciated.
pablo#pabloPavia:~/BuildParaview/bin$ ./paraview [pabloPavia:14797]
* Process received signal [pabloPavia:14797] Signal: Aborted (6) [pabloPavia:14797] Signal code: (-6) [pabloPavia:14797] [ 0]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7f54c40b7390]
[pabloPavia:14797] [ 1]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38)[0x7f54c3d11428]
[pabloPavia:14797] [ 2]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x16a)[0x7f54c3d1302a]
[pabloPavia:14797] [ 3]
/lib/x86_64-linux-gnu/libgcc_s.so.1(+0x3717)[0x7f54c42c6717]
[pabloPavia:14797] [ 4]
./paraview(ZN7vtkJson9OurReader12decodeNumberERNS0_5TokenERNS_5ValueE+0x68)[0xac31ee2]
[pabloPavia:14797] [ 5]
./paraview(_ZN7vtkJson9OurReader12decodeNumberERNS0_5TokenE+0x48)[0xac31d8a]
[pabloPavia:14797] [ 6]
./paraview(_ZN7vtkJson9OurReader9readValueEv+0x220)[0xac2fe5e]
[pabloPavia:14797] [ 7]
./paraview(_ZN7vtkJson9OurReader9readArrayERNS0_5TokenE+0x17f)[0xac31b85]
[pabloPavia:14797] [ 8]
./paraview(_ZN7vtkJson9OurReader9readValueEv+0x1b5)[0xac2fdf3]
[pabloPavia:14797] [ 9]
./paraview(_ZN7vtkJson9OurReader10readObjectERNS0_5TokenE+0x4bb)[0xac316ed]
[pabloPavia:14797] [10]
./paraview(_ZN7vtkJson9OurReader9readValueEv+0x14a)[0xac2fd88]
[pabloPavia:14797] [11]
./paraview(_ZN7vtkJson9OurReader9readArrayERNS0_5TokenE+0x17f)[0xac31b85]
[pabloPavia:14797] [12]
./paraview(_ZN7vtkJson9OurReader9readValueEv+0x1b5)[0xac2fdf3]
[pabloPavia:14797] [13]
./paraview(_ZN7vtkJson9OurReader5parseEPKcS2_RNS_5ValueEb+0x126)[0xac2fa08]
[pabloPavia:14797] [14]
./paraview(_ZN7vtkJson13OurCharReader5parseEPKcS2_PNS_5ValueEPNSt7_cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x56)[0xac42ff8]
[pabloPavia:14797] [15]
./paraview(_ZN28vtkSMTransferFunctionPresets12vtkInternals18LoadBuiltinPresetsEv+0x18a)[0x8e9ffcc]
[pabloPavia:14797] [16]
./paraview(_ZN28vtkSMTransferFunctionPresets12vtkInternals10GetPresetsEv+0x42)[0x8e9f360]
[pabloPavia:14797] [17]
./paraview(_ZN28vtkSMTransferFunctionPresets22GetFirstPresetWithNameEPKc+0xa4)[0x8e9d3b6]
[pabloPavia:14797] [18]
./paraview(_ZN32pqColorAnnotationsPropertyWidget11applyPresetEPKc+0x5c)[0x5e5411a]
[pabloPavia:14797] [19]
./paraview(_ZN32pqColorAnnotationsPropertyWidgetC1EP10vtkSMProxyP18vtkSMPropertyGroupP7QWidget+0x81a)[0x5e53faa]
[pabloPavia:14797] [20]
./paraview(_ZN33pqStandardPropertyWidgetInterface28createWidgetForPropertyGroupEP10vtkSMProxyP18vtkSMPropertyGroup+0x1e0)[0x5e00e56]
[pabloPavia:14797] [21]
./paraview(_ZN13pqProxyWidget21createPropertyWidgetsERK11QStringList+0x4ae)[0x79f861a]
[pabloPavia:14797] [22]
./paraview(_ZN13pqProxyWidget13createWidgetsERK11QStringList+0x3a8)[0x79f7e7e]
[pabloPavia:14797] [23]
./paraview(_ZN13pqProxyWidget11constructorEP10vtkSMProxyRK11QStringListP7QWidget6QFlagsIN2Qt10WindowTypeEE+0x26a)[0x79f6e02]
[pabloPavia:14797] [24]
./paraview(_ZN13pqProxyWidgetC1EP10vtkSMProxyP7QWidget6QFlagsIN2Qt10WindowTypeEE+0x8f)[0x79f6a9f]
[pabloPavia:14797] [25]
./paraview(_ZN16pqColorMapEditor24setColorTransferFunctionEP10vtkSMProxy+0x22c)[0x5dc351a]
[pabloPavia:14797] [26]
./paraview(_ZN16pqColorMapEditor12updateActiveEv+0xd0)[0x5dc309c]
[pabloPavia:14797] [27] ./paraview[0x5e2e094] [pabloPavia:14797] [28]
/home/pablo/BuildParaview/Qt5.9.1/5.9.1/gcc_64/lib/libQt5Core.so.5(_ZN11QMetaObject8activateEP7QObjectiiPPv+0x659)[0x7f54c62a0469]
[pabloPavia:14797] [29]
./paraview(_ZN15pqActiveObjects21representationChangedEP20pqDataRepresentation+0x56)[0x7a77060]
[pabloPavia:14797] End of error message * Aborted (core dumped)
This is what I get when I run backtrace in gdb exactly after paraview aborts when opening a *.vtk file:
Thread 1 "paraview" received signal SIGABRT, Aborted.
0x00007ffff3b87428 in __GI_raise (sig=sig#entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
54 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 0x00007ffff3b87428 in __GI_raise (sig=sig#entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1 0x00007ffff3b8902a in __GI_abort () at abort.c:89
#2 0x00007ffff413c717 in __negvdi2 () from /lib/x86_64-linux-gnu/libgcc_s.so.1
#3 0x000000000ac31ee2 in vtkJson::OurReader::decodeNumber (this=0x163445d0, token=..., decoded=...) at /home/pablo/BuildParaview/paraview/ParaView/VTK/ThirdParty/jsoncpp/vtkjsoncpp/jsoncpp.cpp:1799
#4 0x000000000ac31d8a in vtkJson::OurReader::decodeNumber (this=0x163445d0, token=...) at /home/pablo/BuildParaview/paraview/ParaView/VTK/ThirdParty/jsoncpp/vtkjsoncpp/jsoncpp.cpp:1780
#5 0x000000000ac2fe5e in vtkJson::OurReader::readValue (this=0x163445d0) at /home/pablo/BuildParaview/paraview/ParaView/VTK/ThirdParty/jsoncpp/vtkjsoncpp/jsoncpp.cpp:1337
#6 0x000000000ac31b85 in vtkJson::OurReader::readArray (this=0x163445d0, tokenStart=...) at /home/pablo/BuildParaview/paraview/ParaView/VTK/ThirdParty/jsoncpp/vtkjsoncpp/jsoncpp.cpp:1755
#7 0x000000000ac2fdf3 in vtkJson::OurReader::readValue (this=0x163445d0) at /home/pablo/BuildParaview/paraview/ParaView/VTK/ThirdParty/jsoncpp/vtkjsoncpp/jsoncpp.cpp:1333
#8 0x000000000ac316ed in vtkJson::OurReader::readObject (this=0x163445d0, tokenStart=...) at /home/pablo/BuildParaview/paraview/ParaView/VTK/ThirdParty/jsoncpp/vtkjsoncpp/jsoncpp.cpp:1718
#9 0x000000000ac2fd88 in vtkJson::OurReader::readValue (this=0x163445d0) at /home/pablo/BuildParaview/paraview/ParaView/VTK/ThirdParty/jsoncpp/vtkjsoncpp/jsoncpp.cpp:1329
#10 0x000000000ac31b85 in vtkJson::OurReader::readArray (this=0x163445d0, tokenStart=...) at /home/pablo/BuildParaview/paraview/ParaView/VTK/ThirdParty/jsoncpp/vtkjsoncpp/jsoncpp.cpp:1755
#11 0x000000000ac2fdf3 in vtkJson::OurReader::readValue (this=0x163445d0) at /home/pablo/BuildParaview/paraview/ParaView/VTK/ThirdParty/jsoncpp/vtkjsoncpp/jsoncpp.cpp:1333
#12 0x000000000ac2fa08 in vtkJson::OurReader::parse (this=0x163445d0, beginDoc=0x162f8690 "[\n {\n \"Name\" : \"KAAMS\",\n \"IndexedColors\" : [\n 1.00,\n
1.00,\n 1.00,
\n 1.00,\n 0.00,\n 0.00,\n 0.00,\n 1.00,\n 0.00,\n "..., endDoc=0x163440d5 "", root=..., collectComments=false) at /home/pablo/BuildParaview/paraview
/ParaView/VTK/ThirdParty/jsoncpp/vtkjsoncpp/jsoncpp.cpp:1288
#13 0x000000000ac42ff8 in vtkJson::OurCharReader::parse (this=0x163445c0, beginDoc=0x162f8690 "[\n {\n \"Name\" : \"KAAMS\",\n \"IndexedColors\" : [\n 1.00,\n
1.00,\n 1
.00,\n 1.00,\n 0.00,\n 0.00,\n 0.00,\n 1.00,\n 0.00,\n "..., endDoc=0x163440d5 "", root=0x7fffffffb200, errs=0x7fffffffb280) at /home/pablo/BuildPara
view/paraview/ParaView/VTK/ThirdParty/jsoncpp/vtkjsoncpp/jsoncpp.cpp:2151
#14 0x0000000008e9ffcc in vtkSMTransferFunctionPresets::vtkInternals::LoadBuiltinPresets (this=0x162f7b90) at /home/pablo/BuildParaview/paraview/ParaView/ParaViewCore/ServerManager/Rendering/vtkSMTransfer
FunctionPresets.cxx:188
#15 0x0000000008e9f360 in vtkSMTransferFunctionPresets::vtkInternals::GetPresets (this=0x162f7b90) at /home/pablo/BuildParaview/paraview/ParaView/ParaViewCore/ServerManager/Rendering/vtkSMTransferFunction
Presets.cxx:73
#16 0x0000000008e9d3b6 in vtkSMTransferFunctionPresets::GetFirstPresetWithName (this=0x162f7b30, name=0xd0dd8b5 "KAAMS") at /home/pablo/BuildParaview/paraview/ParaView/ParaViewCore/ServerManager/Rendering
/vtkSMTransferFunctionPresets.cxx:267
#17 0x0000000005e5411a in pqColorAnnotationsPropertyWidget::applyPreset (this=0x162de1a0, presetName=0xd0dd8b5 "KAAMS") at /home/pablo/BuildParaview/paraview/ParaView/Qt/ApplicationComponents/pqColorAnnot
ationsPropertyWidget.cxx:746
#18 0x0000000005e53faa in pqColorAnnotationsPropertyWidget::pqColorAnnotationsPropertyWidget (this=0x162de1a0, smproxy=0x15739420, smgroup=0x15748400, parentObject=0x0) at /home/pablo/BuildParaview/paravi
ew/ParaView/Qt/ApplicationComponents/pqColorAnnotationsPropertyWidget.cxx:731
#19 0x0000000005e00e56 in pqStandardPropertyWidgetInterface::createWidgetForPropertyGroup (this=0x11be5fd0, proxy=0x15739420, group=0x15748400) at /home/pablo/BuildParaview/paraview/ParaView/Qt/Applicatio
nComponents/pqStandardPropertyWidgetInterface.cxx:231
#20 0x00000000079f861a in pqProxyWidget::createPropertyWidgets (this=0x160e2ea0, properties=...) at /home/pablo/BuildParaview/paraview/ParaView/Qt/Components/pqProxyWidget.cxx:818
#21 0x00000000079f7e7e in pqProxyWidget::createWidgets (this=0x160e2ea0, properties=...) at /home/pablo/BuildParaview/paraview/ParaView/Qt/Components/pqProxyWidget.cxx:736
#22 0x00000000079f6e02 in pqProxyWidget::constructor (this=0x160e2ea0, smproxy=0x15739420, properties=..., parentObject=0x11a63930, wflags=...) at /home/pablo/BuildParaview/paraview/ParaView/Qt/Components
/pqProxyWidget.cxx:544
#23 0x00000000079f6a9f in pqProxyWidget::pqProxyWidget (this=0x160e2ea0, smproxy=0x15739420, parentObject=0x11a63930, wflags=...) at /home/pablo/BuildParaview/paraview/ParaView/Qt/Components/pqProxyWidget
.cxx:497
#24 0x0000000005dc351a in pqColorMapEditor::setColorTransferFunction (this=0x11a63930, ctf=0x15739420) at /home/pablo/BuildParaview/paraview/ParaView/Qt/ApplicationComponents/pqColorMapEditor.cxx:255
#25 0x0000000005dc309c in pqColorMapEditor::updateActive (this=0x11a63930) at /home/pablo/BuildParaview/paraview/ParaView/Qt/ApplicationComponents/pqColorMapEditor.cxx:179
#26 0x0000000005e2e094 in pqColorMapEditor::qt_static_metacall (_o=0x11a63930, _c=QMetaObject::InvokeMetaMethod, _id=0,
_a=0x7fffffffbed0) at /home/pablo/BuildParaview/paraview/build/Qt/ApplicationCompone
nts/moc_pqColorMapEditor.cpp:99
#27 0x00007ffff6116469 in QMetaObject::activate(QObject*, int, int, void**) () from /home/pablo/BuildParaview/Qt5.9.1/5.9.1/gcc_64/lib/libQt5Core.so.5
#28 0x0000000007a77060 in pqActiveObjects::representationChanged (this=0x10ed18c0 <pqActiveObjects::instance()::activeObject>,
_t1=0x15732370) at /home/pablo/BuildParaview/paraview/build/Qt/Components/moc
_pqActiveObjects.cpp:308
#29 0x0000000007915fd8 in pqActiveObjects::triggerSignals (this=0x10ed18c0 <pqActiveObjects::instance()::activeObject>) at /home/pablo/BuildParaview/paraview/ParaView/Qt/Components/pqActiveObjects.cxx:127
#30 0x0000000007917226 in pqActiveObjects::updateRepresentation (this=0x10ed18c0 <pqActiveObjects::instance()::activeObject>) at /home/pablo/BuildParaview/paraview/ParaView/Qt/Components/pqActiveObjects.c
xx:522
#31 0x0000000007a76b04 in pqActiveObjects::qt_static_metacall (_o=0x10ed18c0 <pqActiveObjects::instance()::activeObject>,
_c=QMetaObject::InvokeMetaMethod, _id=17, _a=0x7fffffffc0c0) at /home/pablo/BuildP
araview/paraview/build/Qt/Components/moc_pqActiveObjects.cpp:173
#32 0x00007ffff6116469 in QMetaObject::activate(QObject*, int, int, void**) () from /home/pablo/BuildParaview/Qt5.9.1/5.9.1/gcc_64/lib/libQt5Core.so.5
#33 0x0000000007bc031c in pqView::representationAdded (this=0x1401dad0, _t1=0x15732370) at /home/pablo/BuildParaview/paraview/build/Qt/Core/moc_pqView.cpp:364
#34 0x0000000007ba89a5 in pqView::onRepresentationsChanged (this=0x1401dad0) at /home/pablo/BuildParaview/paraview/ParaView/Qt/Core/pqView.cxx:339
#35 0x0000000007bbfd21 in pqView::qt_static_metacall (_o=0x1401dad0, _c=QMetaObject::InvokeMetaMethod, _id=21,
_a=0x7fffffffc390) at /home/pablo/BuildParaview/paraview/build/Qt/Core/moc_pqView.cpp:199
#36 0x00007ffff6116469 in QMetaObject::activate(QObject*, int, int, void**) () from /home/pablo/BuildParaview/Qt5.9.1/5.9.1/gcc_64/lib/libQt5Core.so.5
#37 0x0000000007c1c47a in vtkQtConnection::EmitExecute (this=0x1401cf30, _t1=0x13cd7a30, _t2=33, _t3=0x0, _t4=0x0,
_t5=0x1401d210) at /home/pablo/BuildParaview/paraview/build/VTK/GUISupport/Qt/moc_vtkQtCo
nnection.cpp:141
#38 0x0000000007c13aa1 in vtkQtConnection::Execute (this=0x1401cf30, caller=0x13cd7a30, e=33, call_data=0x0) at /home/pablo/BuildParaview/paraview/ParaView/VTK/GUISupport/Qt/vtkQtConnection.cxx:72
#39 0x0000000007c13a30 in vtkQtConnection::DoCallback (vtk_obj=0x13cd7a30, event=33, client_data=0x1401cf30, call_data=0x0) at /home/pablo/BuildParaview/paraview/ParaView/VTK/GUISupport/Qt/vtkQtConnection
.cxx:62
#40 0x000000000cd96031 in vtkCallbackCommand::Execute (this=0x1401d210, caller=0x13cd7a30, event=33, callData=0x0) at /home/pablo/BuildParaview/paraview/ParaView/VTK/Common/Core/vtkCallbackCommand.cxx:42
#41 0x000000000cfadf03 in vtkSubjectHelper::InvokeEvent (this=0x13cae100, event=33, callData=0x0, self=0x13cd7a30) at /home/pablo/BuildParaview/paraview/ParaView/VTK/Common/Core/vtkObject.cxx:616
#42 0x000000000cfae423 in vtkObject::InvokeEvent (this=0x13cd7a30, event=33, callData=0x0) at /home/pablo/BuildParaview/paraview/ParaView/VTK/Common/Core/vtkObject.cxx:785
#43 0x000000000cfae5ee in vtkObject::Modified (this=0x13cd7a30) at /home/pablo/BuildParaview/paraview/ParaView/VTK/Common/Core/vtkObject.cxx:851
#44 0x0000000006157332 in vtkSMProperty::Modified (this=0x13cd7a30) at /home/pablo/BuildParaview/paraview/ParaView/ParaViewCore/ServerManager/Core/vtkSMProperty.h:481
#45 0x0000000008f73054 in vtkSMProxyProperty::AddProxy (this=0x13cd7a30, proxy=0x14f9a270) at /home/pablo/BuildParaview/paraview/ParaView/ParaViewCore/ServerManager/Core/vtkSMProxyProperty.cxx:79
#46 0x0000000008f412e5 in vtkSMPropertyHelper::Add (this=0x7fffffffc770, value=0x14f9a270, outputport=0) at /home/pablo/BuildParaview/paraview/ParaView/ParaViewCore/ServerManager/Core/vtkSMPropertyHelper.
cxx:823
#47 0x0000000008ec0b9f in vtkSMParaViewPipelineControllerWithRendering::Show (this=0x14f4aa40, producer=0x14e55bf0, outputPort=0, view=0x13cd6070) at /home/pablo/BuildParaview/paraview/ParaView/ParaViewCo
re/ServerManager/Rendering/vtkSMParaViewPipelineControllerWithRendering.cxx:408
#48 0x0000000008ec1906 in vtkSMParaViewPipelineControllerWithRendering::ShowInPreferredView (this=0x14f4aa40, producer=0x14e55bf0, outputPort=0, view=0x13cd6070) at /home/pablo/BuildParaview/paraview/Para
View/ParaViewCore/ServerManager/Rendering/vtkSMParaViewPipelineControllerWithRendering.cxx:559
#49 0x0000000005e3ab4e in pqApplyBehavior::showData (this=0x119767e0, source=0x14cf5550, view=0x1401dad0) at /home/pablo/BuildParaview/paraview/ParaView/Qt/ApplicationComponents/pqApplyBehavior.cxx:284
#50 0x0000000005e39fbb in pqApplyBehavior::applied (this=0x119767e0, pqproxy=0x14cf5550) at /home/pablo/BuildParaview/paraview/ParaView/Qt/ApplicationComponents/pqApplyBehavior.cxx:135
#51 0x0000000005e39eac in pqApplyBehavior::onApplied (this=0x119767e0, proxy=0x14cf5550) at /home/pablo/BuildParaview/paraview/ParaView/Qt/ApplicationComponents/pqApplyBehavior.cxx:107
#52 0x0000000005ec974f in pqApplyBehavior::qt_static_metacall (_o=0x119767e0, _c=QMetaObject::InvokeMetaMethod, _id=2,
_a=0x7fffffffcc20) at /home/pablo/BuildParaview/paraview/build/Qt/ApplicationComponen
ts/moc_pqApplyBehavior.cpp:83
#53 0x00007ffff6116469 in QMetaObject::activate(QObject*, int, int, void**) () from /home/pablo/BuildParaview/Qt5.9.1/5.9.1/gcc_64/lib/libQt5Core.so.5
#54 0x0000000007a82c62 in pqPropertiesPanel::applied (this=0x11a0cab0, _t1=0x14cf5550) at /home/pablo/BuildParaview/paraview/build/Qt/Components/moc_pqPropertiesPanel.cpp:362
#55 0x00000000079dac69 in pqPropertiesPanel::apply (this=0x11a0cab0) at /home/pablo/BuildParaview/paraview/ParaView/Qt/Components/pqPropertiesPanel.cxx:821
#56 0x0000000007a825f1 in pqPropertiesPanel::qt_static_metacall (_o=0x11a0cab0, _c=QMetaObject::InvokeMetaMethod, _id=5,
_a=0x7fffffffce60) at /home/pablo/BuildParaview/paraview/build/Qt/Components/moc_pq
PropertiesPanel.cpp:207
#57 0x00007ffff6116469 in QMetaObject::activate(QObject*, int, int, void**) () from /home/pablo/BuildParaview/Qt5.9.1/5.9.1/gcc_64/lib/libQt5Core.so.5
#58 0x00007ffff73ee342 in QAbstractButton::clicked(bool) () from /home/pablo/BuildParaview/Qt5.9.1/5.9.1/gcc_64/lib/libQt5Widgets.so.5
#59 0x00007ffff73ee544 in ?? () from /home/pablo/BuildParaview/Qt5.9.1/5.9.1/gcc_64/lib/libQt5Widgets.so.5
#60 0x00007ffff73f00de in ?? () from /home/pablo/BuildParaview/Qt5.9.1/5.9.1/gcc_64/lib/libQt5Widgets.so.5
#61 0x00007ffff73f022c in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /home/pablo/BuildParaview/Qt5.9.1/5.9.1/gcc_64/lib/libQt5Widgets.so.5
#62 0x00007ffff727da58 in QWidget::event(QEvent*) () from /home/pablo/BuildParaview/Qt5.9.1/5.9.1/gcc_64/lib/libQt5Widgets.so.5
#63 0x00007ffff723f4bc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/pablo/BuildParaview/Qt5.9.1/5.9.1/gcc_64/lib/libQt5Widgets.so.5
#64 0x00007ffff72472c3 in QApplication::notify(QObject*, QEvent*) () from /home/pablo/BuildParaview/Qt5.9.1/5.9.1/gcc_64/lib/libQt5Widgets.so.5
#65 0x00007ffff60ebeb8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /home/pablo/BuildParaview/Qt5.9.1/5.9.1/gcc_64/lib/libQt5Core.so.5
#66 0x00007ffff7245f2f in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /home/pablo/BuildParaview/Qt5.9.1/5.9.1/gcc_64/lib/li
bQt5Widgets.so.5
#67 0x00007ffff7296ee6 in ?? () from /home/pablo/BuildParaview/Qt5.9.1/5.9.1/gcc_64/lib/libQt5Widgets.so.5
#68 0x00007ffff729983b in ?? () from /home/pablo/BuildParaview/Qt5.9.1/5.9.1/gcc_64/lib/libQt5Widgets.so.5
#69 0x00007ffff723f4bc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/pablo/BuildParaview/Qt5.9.1/5.9.1/gcc_64/lib/libQt5Widgets.so.5
#70 0x00007ffff72468e7 in QApplication::notify(QObject*, QEvent*) () from /home/pablo/BuildParaview/Qt5.9.1/5.9.1/gcc_64/lib/libQt5Widgets.so.5
#71 0x00007ffff60ebeb8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /home/pablo/BuildParaview/Qt5.9.1/5.9.1/gcc_64/lib/libQt5Core.so.5
#72 0x00007ffff6a6b310 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /home/pablo/BuildParaview/Qt5.9.1/5.9.1/gcc_64/lib/libQt5Gui.so.5
#73 0x00007ffff6a6d105 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /home/pablo/BuildParaview/Qt5.9.1/5.9.1/gcc_64/lib/libQt5Gui.so.5
#74 0x00007ffff6a48d7b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/pablo/BuildParaview/Qt5.9.1/5.9.1/gcc_64/lib/libQt5Gui.so.5
#75 0x00007fffecda0f40 in ?? () from /home/pablo/BuildParaview/Qt5.9.1/5.9.1/gcc_64/lib/libQt5XcbQpa.so.5
#76 0x00007ffff123b197 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#77 0x00007ffff123b3f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#78 0x00007ffff123b49c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#79 0x00007ffff613e11f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/pablo/BuildParaview/Qt5.9.1/5.9.1/gcc_64/lib/libQt5Core.so.5
#80 0x00007ffff60ea4aa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/pablo/BuildParaview/Qt5.9.1/5.9.1/gcc_64/lib/libQt5Core.so.5
#81 0x00007ffff60f2d34 in QCoreApplication::exec() () from /home/pablo/BuildParaview/Qt5.9.1/5.9.1/gcc_64/lib/libQt5Core.so.5
#82 0x0000000005db6db3 in main (argc=2, argv=0x7fffffffdbf8) at /home/pablo/BuildParaview/paraview/build/Applications/ParaView/paraview_main.cxx:121
Removed -ftrapv from compile flags
I'm using the Parse package from the asset store to save userdata for my Unity3D mobile game (iOS/Android). Now I've got the problem that the parse queries I make stall my unity mainthread for a long time. I was under the impression that the 'Task' concept of Parse was there to avoid that but somehow it doesn't seem to work. The stalling happens in the Editor as well, only a few seconds compared to up to a minute on mobile. The query.FindAsync().ContinueWith(t => {myContinuationBlock}); method returns immediately and subsequent calls get executed. The Unity3d main thread stalls a few seconds after the query is executed and immediately BEFORE the code in {myContinuationBlock} is executed.
I made a video of the problem. In the video you can also see that only Unity is being stalled, the (native) iAds on the bottom are not affected:
https://www.youtube.com/watch?v=XWaCGk9Hbus (the stall is from 0:07 - 1:07)
Here is my query code (note, this code runs through without problem. The stall happens later, right before the ContinueWith code gets executed):
public static void RetrieveHighScores()
{
DebugLog.Log ("start of RetrieveHighScores() method");
try
{
ParseQuery<ParseUser> query = ParseUser.Query
.WhereGreaterThan (_highScoreKey, 1)
.WhereGreaterThan("updatedAt", DateTime.Now - TimeSpan.FromDays(1))
.OrderByDescending(_score24HoursKey)
.Limit (1000);
DebugLog.Log ("query.FindAsync()");
query.FindAsync().ContinueWith(t =>
{
try
{
if (t.IsFaulted || t.IsCanceled)
{
DebugLog.Log("Retrieving 24 Hours High Scores Failed");
}
else
{
DebugLog.Log("Retrieving 24 Hours High Scores successful! ");
IEnumerable<ParseUser> results = t.Result;
foreach(ParseUser user in results)
{
//doing something with user..
}
DebugLog.Log ("24 Hours High Scores processed. "+_24HourHighScoreList.Count.ToString()+" entries.");
}
}
catch(System.Exception e)
{
DebugLog.Log("Failed to retrieve 24 Hours High Scores. Reason: " + e.Message);
}
});
DebugLog.Log ("FindAsync() returned");
}
catch (System.Exception e)
{
DebugLog.Log("Failed to retrieve 24 Hours High Scores. Reason: " + e.Message);
}
try
{
ParseQuery<ParseUser>query = ParseUser.Query
.WhereGreaterThan (_highScoreKey, 1)
.OrderByDescending(_highScoreKey)
.Limit (1000);
DebugLog.Log ("query.FindAsync()");
query.FindAsync().ContinueWith(t =>
{
DebugLog.Log("Retrieving Alltime High Scores successful! ");
IEnumerable<ParseUser> results = t.Result;
foreach(ParseUser user in results)
{
//doing something with user...
}
DebugLog.Log ("Alltime High Scores processed. "+_allTimeHighScoreList.Count.ToString()+" entries.");
});
DebugLog.Log ("FindAsync() returned");
}
catch (System.Exception e)
{
DebugLog.Log("Failed to retrieve alltime Highscores. Reason: " + e.Message);
}
DebugLog.Log ("end of RetrieveHighScores() method");
}
So, the very next thing I see in the console output after the stall is
"Retrieving Alltime High Scores successful! "
Now, I know that i'm querying 1000 objects here and yes there may be better ways for implementing highscores, but I don't understand why this code is stalling my Unity3D mainthread? Why does it stall sometimes for up to a minute and sometimes it's not noticable at all?
This is a serious problem as my game is released already. It started surfacing only once the user database grew bigger and now I need a quick fix for it.
The stalling does not happen if I don't call the RetrieveHighScores() function so it must be something happening after the parse code received the data from the server and passes it to ContinueWith code.
if I click pause in XCode during the stall, I see the following:
Thread 1, Queue : com.apple.main-thread
#0 0x017eaeb0 in GC_mark_from ()
#1 0x017eb520 in GC_mark_some ()
#2 0x017e5d1c in GC_stopped_mark ()
#3 0x017e6228 in GC_try_to_collect_inner ()
#4 0x017e64f0 in GC_collect_or_expand ()
#5 0x017e6a38 in GC_allocobj ()
#6 0x017e957c in GC_generic_malloc_inner ()
#7 0x017e965c in GC_generic_malloc ()
#8 0x017e9920 in GC_malloc_atomic ()
#9 0x01783814 in mono_array_new_specific ()
#10 0x00c5886c in m_wrapper_managed_to_native_object___icall_wrapper_mono_array_new_specific_intptr_int at /Users/me/myproj/build/device/Libraries/mscorlib.dll.s:187982
#11 0x009ee54c in m_System_Text_RegularExpressions_Interpreter_ResetGroups at /Users/me/myproj/build/device/Libraries/System.dll.s:6462
#12 0x009eb864 in m_System_Text_RegularExpressions_Interpreter_Reset at /Users/me/myproj/build/device/Libraries/System.dll.s:5761
#13 0x009edb6c in m_157 at /Users/me/myproj/build/device/Libraries/System.dll.s:6244
#14 0x009ebc54 in m_155 at /Users/me/myproj/build/device/Libraries/System.dll.s:5813
#15 0x009eb804 in m_System_Text_RegularExpressions_Interpreter_Scan_System_Text_RegularExpressions_Regex_string_int_int at /Users/me/myproj/build/device/Libraries/System.dll.s:5745
#16 0x009f3ce8 in m_System_Text_RegularExpressions_Regex_Match_string_int at /Users/me/myproj/build/device/Libraries/System.dll.s:9106
#17 0x00370204 in m_Parse_Internal_Json_Accept_string_int_System_Text_RegularExpressions_Regex_int__System_Text_RegularExpressions_Match_ at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:3770
#18 0x0036fa80 in m_Parse_Internal_Json_ParseString_string_int_int__object_ at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:3577
#19 0x0036f56c in m_Parse_Internal_Json_ParseMember_string_int_int__object_ at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:3447
#20 0x0036f3b8 in m_Parse_Internal_Json_ParseObject_string_int_int__object_ at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:3413
#21 0x0036f99c in m_Parse_Internal_Json_ParseValue_string_int_int__object_ at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:3553
#22 0x0036f780 in m_Parse_Internal_Json_ParseArray_string_int_int__object_ at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:3500
#23 0x0036f9b8 in m_Parse_Internal_Json_ParseValue_string_int_int__object_ at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:3556
#24 0x0036f5ec in m_Parse_Internal_Json_ParseMember_string_int_int__object_ at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:3457
#25 0x0036f3b8 in m_Parse_Internal_Json_ParseObject_string_int_int__object_ at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:3413
#26 0x0036e920 in m_Parse_Internal_Json_Parse_string at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:3143
#27 0x00383168 in m_Parse_ParseClient_DeserializeJsonString_string at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:13121
#28 0x0038381c in m_Parse_ParseClient__c__DisplayClass8__RequestAsyncb__7_System_Threading_Tasks_Task_1_System_Tuple_2_System_Net_HttpStatusCode_string at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:13363
#29 0x0036de50 in m_Parse_Internal_InternalExtensions__c__DisplayClass1_2__OnSuccessb__0_System_Threading_Tasks_Task at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:2697
#30 0x0036e04c in m_Parse_Internal_InternalExtensions__c__DisplayClass7_1__OnSuccessb__6_System_Threading_Tasks_Task at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:2788
#31 0x003a3a4c in m_System_Threading_Tasks_Task__c__DisplayClass3_1__c__DisplayClass5__ContinueWithb__2 ()
#32 0x003a36b8 in m_System_Threading_Tasks_Task___cctorb__23_System_Action at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31346
#33 0x003a39bc in m_System_Threading_Tasks_Task__c__DisplayClass3_1__ContinueWithb__1_System_Threading_Tasks_Task at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31474
#34 0x003a4140 in m_System_Threading_Tasks_Task_1_RunContinuations at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31766
#35 0x003a4278 in m_System_Threading_Tasks_Task_1_TrySetResult_T at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31801
#36 0x003a4654 in m_System_Threading_Tasks_TaskCompletionSource_1_TrySetResult_T at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31950
#37 0x003a4fa0 in m_3d9 at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:32334
#38 0x003a44b0 in m_System_Threading_Tasks_Task_1__c__DisplayClass1__ContinueWithb__0_System_Threading_Tasks_Task at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31872
#39 0x003a3b3c in m_System_Threading_Tasks_Task__c__DisplayClass8__ContinueWithb__7_System_Threading_Tasks_Task ()
#40 0x00519a84 in m_System_Threading_Tasks_Task__c__DisplayClass3_1__c__DisplayClass5_int__ContinueWithb__2 ()
#41 0x003a36b8 in m_System_Threading_Tasks_Task___cctorb__23_System_Action at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31346
#42 0x004a9548 in m_1ce9 at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:165091
#43 0x003a8dcc in m_System_Threading_Tasks_Task_ContinueWith_int_System_Func_2_System_Threading_Tasks_Task_int_System_Threading_CancellationToken at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:34526
#44 0x003a321c in m_System_Threading_Tasks_Task_ContinueWith_System_Action_1_System_Threading_Tasks_Task_System_Threading_CancellationToken at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31155
#45 0x003a3168 in m_System_Threading_Tasks_Task_ContinueWith_System_Action_1_System_Threading_Tasks_Task at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31129
#46 0x003a3fdc in m_System_Threading_Tasks_Task_1_ContinueWith_System_Action_1_System_Threading_Tasks_Task_1_T at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31721
#47 0x003a4ed4 in m_3d8 at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:32304
#48 0x003a44b0 in m_System_Threading_Tasks_Task_1__c__DisplayClass1__ContinueWithb__0_System_Threading_Tasks_Task at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31872
#49 0x003a3b3c in m_System_Threading_Tasks_Task__c__DisplayClass8__ContinueWithb__7_System_Threading_Tasks_Task ()
#50 0x00519a84 in m_System_Threading_Tasks_Task__c__DisplayClass3_1__c__DisplayClass5_int__ContinueWithb__2 ()
#51 0x003a36b8 in m_System_Threading_Tasks_Task___cctorb__23_System_Action at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31346
#52 0x004a9548 in m_1ce9 at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:165091
#53 0x003a4140 in m_System_Threading_Tasks_Task_1_RunContinuations at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31766
#54 0x003a4278 in m_System_Threading_Tasks_Task_1_TrySetResult_T at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31801
#55 0x003a4654 in m_System_Threading_Tasks_TaskCompletionSource_1_TrySetResult_T at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31950
#56 0x003a3a60 in m_System_Threading_Tasks_Task__c__DisplayClass3_1__c__DisplayClass5__ContinueWithb__2 at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31498
#57 0x003a36b8 in m_System_Threading_Tasks_Task___cctorb__23_System_Action at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31346
#58 0x003a39bc in m_System_Threading_Tasks_Task__c__DisplayClass3_1__ContinueWithb__1_System_Threading_Tasks_Task at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31474
#59 0x003a4140 in m_System_Threading_Tasks_Task_1_RunContinuations at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31766
#60 0x003a4278 in m_System_Threading_Tasks_Task_1_TrySetResult_T at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31801
#61 0x003a4654 in m_System_Threading_Tasks_TaskCompletionSource_1_TrySetResult_T at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31950
#62 0x003a4fa0 in m_3d9 at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:32334
#63 0x003a44b0 in m_System_Threading_Tasks_Task_1__c__DisplayClass1__ContinueWithb__0_System_Threading_Tasks_Task at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31872
#64 0x003a3b3c in m_System_Threading_Tasks_Task__c__DisplayClass8__ContinueWithb__7_System_Threading_Tasks_Task ()
#65 0x00519a84 in m_System_Threading_Tasks_Task__c__DisplayClass3_1__c__DisplayClass5_int__ContinueWithb__2 ()
#66 0x003a36b8 in m_System_Threading_Tasks_Task___cctorb__23_System_Action at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31346
#67 0x004a9548 in m_1ce9 at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:165091
#68 0x003a8dcc in m_System_Threading_Tasks_Task_ContinueWith_int_System_Func_2_System_Threading_Tasks_Task_int_System_Threading_CancellationToken at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:34526
#69 0x003a321c in m_System_Threading_Tasks_Task_ContinueWith_System_Action_1_System_Threading_Tasks_Task_System_Threading_CancellationToken at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31155
#70 0x003a3168 in m_System_Threading_Tasks_Task_ContinueWith_System_Action_1_System_Threading_Tasks_Task at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31129
#71 0x003a3fdc in m_System_Threading_Tasks_Task_1_ContinueWith_System_Action_1_System_Threading_Tasks_Task_1_T at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31721
#72 0x003a4ed4 in m_3d8 at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:32304
#73 0x003a44b0 in m_System_Threading_Tasks_Task_1__c__DisplayClass1__ContinueWithb__0_System_Threading_Tasks_Task at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31872
#74 0x003a3b3c in m_System_Threading_Tasks_Task__c__DisplayClass8__ContinueWithb__7_System_Threading_Tasks_Task ()
#75 0x00519a84 in m_System_Threading_Tasks_Task__c__DisplayClass3_1__c__DisplayClass5_int__ContinueWithb__2 ()
#76 0x003a36b8 in m_System_Threading_Tasks_Task___cctorb__23_System_Action at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31346
#77 0x004a9548 in m_1ce9 at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:165091
#78 0x003a4140 in m_System_Threading_Tasks_Task_1_RunContinuations at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31766
#79 0x003a4278 in m_System_Threading_Tasks_Task_1_TrySetResult_T at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31801
#80 0x003a4654 in m_System_Threading_Tasks_TaskCompletionSource_1_TrySetResult_T at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31950
#81 0x003a3a60 in m_System_Threading_Tasks_Task__c__DisplayClass3_1__c__DisplayClass5__ContinueWithb__2 at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31498
#82 0x003a36b8 in m_System_Threading_Tasks_Task___cctorb__23_System_Action at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31346
#83 0x003a39bc in m_System_Threading_Tasks_Task__c__DisplayClass3_1__ContinueWithb__1_System_Threading_Tasks_Task at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31474
#84 0x003a4140 in m_System_Threading_Tasks_Task_1_RunContinuations at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31766
#85 0x003a4278 in m_System_Threading_Tasks_Task_1_TrySetResult_T at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31801
#86 0x003a4654 in m_System_Threading_Tasks_TaskCompletionSource_1_TrySetResult_T at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:31950
#87 0x003a0848 in m_Parse_PlatformHooks__c__DisplayClass2f__c__DisplayClass35__RequestAsyncb__2a_UnityEngine_WWW at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:29764
#88 0x003a0334 in m_Parse_PlatformHooks__c__DisplayClass20__RegisterNetworkRequestb__1f at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:29572
#89 0x003a0dbc in m_Parse_PlatformHooks__RunDispatcherd__39_MoveNext at /Users/me/myproj/build/device/Libraries/Parse.Unity.dll.s:29915
#90 0x0126ecec in scripting_method_invoke(ScriptingMethod*, MonoObject*, ScriptingArguments&, MonoException**) at /Applications/buildAgent/work/d63dfc6385190b60/Runtime/Scripting/Backend/Mono/ScriptingBackendApi_Mono.cpp:196
#91 0x01309390 in ScriptingInvocation::Invoke(MonoException**, bool) at /Applications/buildAgent/work/d63dfc6385190b60/Runtime/Scripting/Backend/ScriptingInvocation.cpp:128
#92 0x0130935c in ScriptingInvocation::Invoke(MonoException**) at /Applications/buildAgent/work/d63dfc6385190b60/Runtime/Scripting/Backend/ScriptingInvocation.cpp:113
#93 0x01309308 in bool ScriptingInvocation::Invoke<bool>(MonoException**) at /Applications/buildAgent/work/d63dfc6385190b60/Runtime/Scripting/Backend/ScriptingInvocation.cpp:80
#94 0x012df7e4 in Coroutine::InvokeMoveNext(MonoException**) at /Applications/buildAgent/work/d63dfc6385190b60/Runtime/Mono/Coroutine.cpp:196
#95 0x012df57c in Coroutine::Run() at /Applications/buildAgent/work/d63dfc6385190b60/Runtime/Mono/Coroutine.cpp:221
#96 0x012df544 in Coroutine::ContinueCoroutine(Object*, void*) at /Applications/buildAgent/work/d63dfc6385190b60/Runtime/Mono/Coroutine.cpp:78
#97 0x012593c4 in DelayedCallManager::Update(int) at /Applications/buildAgent/work/d63dfc6385190b60/Runtime/GameCode/CallDelayed.cpp:164
#98 0x012d0630 in PlayerLoop(bool, bool, IHookEvent*) at /Applications/buildAgent/work/d63dfc6385190b60/Runtime/Misc/Player.cpp:1880
#99 0x01117878 in UnityPlayerLoop at /Applications/buildAgent/work/d63dfc6385190b60/PlatformDependent/iPhonePlayer/LibEntryPoint.mm:241
#100 0x00d2ff34 in -[UnityAppController(Rendering) repaint] at /Users/me/myproj/build/device/Classes/UnityAppController+Rendering.mm:55
It seems parse's JSON parsing runs on the mainthread, but why?
What's going on here and how can I avoid having the mainthread getting stalled?
//note: occasionally, the stalling does not happen (the query succeeds nevertheless) - as if Parse would sometimes successfully do the parsing on another thread, most of the time however do it on the mainthread.
I'd suggest that if you hook up the Unity profiler to your device, you're going to find that your Linq query is creating immense amounts of garbage - and it's the garbage collection on your device that is stalling your main thread.
Reimplement your leaderboard functionality the hard way and don't use Linq. Linq saves programmers time - not machines, don't use it in your games.
I am using thrift TSimpleServer, and get a core dump :
` (gdb) bt
#0 0x000000302af2e2ed in raise () from /lib64/tls/libc.so.6
#1 0x000000302af2fa3e in abort () from /lib64/tls/libc.so.6
#2 0x000000302af62db1 in __libc_message () from /lib64/tls/libc.so.6
#3 0x000000302af6888e in _int_free () from /lib64/tls/libc.so.6
#4 0x000000302af68bd6 in free () from /lib64/tls/libc.so.6
#5 0x000000302d3ae19e in operator delete(void*) () from /usr/lib64/libstdc++.so.6
#6 0x0000000000443d8a in checked_array_delete<uint8_t> (this=0xb551f0, __in_chrg=<value optimized out>) at /home/work/compile_meta/inf/budw/meta.bak/lib/thrift-0.8.0/../../../../../third-64/boost/include/boost/checked_delete.hpp:41
#7 0x0000000000443d8a in ~scoped_array (this=0xb551f0, __in_chrg=<value optimized out>)
#8 0x0000000000443d8a in apache::thrift::transport::TBufferedTransport::~TBufferedTransport (this=0xb551f0, __in_chrg=<value optimized out>)
#9 0x000000000042077d in ~shared_count (this=0xb56760, __in_chrg=<value optimized out>) at ../../../../third-64/boost/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp:145
#10 0x000000000042077d in ~shared_ptr (this=0xb56760, __in_chrg=<value optimized out>)
#11 0x000000000042077d in ~TProtocol (this=0xb56760, __in_chrg=<value optimized out>)
#12 0x000000000042077d in ~TProtocolDefaults (this=0xb56760, __in_chrg=<value optimized out>)
#13 0x000000000042077d in ~TVirtualProtocol (this=0xb56760, __in_chrg=<value optimized out>)
#14 0x000000000042077d in apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport>::~TBinaryProtocolT (this=0xb56760, __in_chrg=<value optimized out>)
#15 0x0000000000445ab9 in operator= (this=0xa259e0) at /home/work/compile_meta/inf/budw/meta.bak/lib/thrift-0.8.0/../../../../../third-64/boost/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp:145
#16 0x0000000000445ab9 in apache::thrift::server::TSimpleServer::serve (this=0xa259e0)
#17 0x000000000041ac94 in uap::meta::MetaServiceManager::thread_func (arg=0x2cfd) at server/meta_service_manager.cpp:177
#18 0x000000302b80610a in start_thread () from /lib64/tls/libpthread.so.0
#19 0x000000302afc6003 in clone () from /lib64/tls/libc.so.6
#20 0x0000000000000000 in ?? ()`
i am attaching so remotely via thrift, after attach a1.so a2.so then detach a1.so a2.so , when detach more a1.so which does not exist, it core dump as this, but when we attach a1.so detach a1.so detach a1.so , it works well
any clue for this issue or how could i debug since i have add try-catch to this serv func, but no exception throw out, thanks