Skip to content

Instantly share code, notes, and snippets.

@lxdvs
lxdvs / gist:7f1372961a84c2b623d251229ead5056
Created June 7, 2018 23:33
Alexander Davis' Airbnb Pubkey
-----BEGIN PGP PUBLIC KEY BLOCK-----
Comment: GPGTools - https://gpgtools.org
mQINBFZclo0BEADS/oOOC3WkgFXa5mXqBvC5Sz52GuNA6oiRDsft1SI/EhS2LkoJ
rgKX/W4ZozGBURXiRcUPAvaFcQaxW6Zp1MD8/CHLQXC9QP+7Psvz+lM9ZTX9smH5
SUsAa9e2fY9PfQnNhg+n+mTx4VdtFw1NiIF0XX4uN1PUnucUrroDIyQjWWsMFs5W
Bnf85wNND94ESF9NvpL85GgJ2lAxXxVDOw7tQtJnG+9EGhIWSn7GyXv8ILEYC++T
YjEBw8Vqu67DRZZgwAusVg1iW7JA0/KfaeYsIZn722dSkoGeqsHqEehV16jRD5GF
+sz8raLNJa2jYD46/o+ZF5kAUROgbSSLVUgiH7MvrcoTHXnEXxiCJ/esnHPf7uUE
5aR4xQKXe4RmGXaoMq2drv/FLXD9KlGLCQBs49Vb71SauifxYRoWUeN/yuoT0s7S
curl "https://gist.githubusercontent.com/jterenzio/c5e81e6a9ff124987ef7/raw/fbfdd21546225be3b3d591a8be7a4947d9e29e51/users.csv" > ~/input.txt
curl "https://gist.githubusercontent.com/jterenzio/c5e81e6a9ff124987ef7/raw/8dad135d0694f73039b48775771732e4b8069c51/users2.csv" > ~/output.txt
{
"listing": {
"id": 115632,
"city": "Munich",
"picture_url": "https://a2.muscache.com/pictures/2559498/large.jpg",
"thumbnail_url": "https://a2.muscache.com/pictures/2559498/small.jpg",
"medium_url": "https://a2.muscache.com/pictures/2559498/medium.jpg",
"xl_picture_url": "https://a2.muscache.com/pictures/2559498/x_large.jpg",
"user_id": 674144,
"price": 257,
diff --git a/src/com/android/volley/CacheDispatcher.java b/src/com/android/volley/CacheDispatcher.java
index ae9a9b2..3bdbbe7 100644
--- a/src/com/android/volley/CacheDispatcher.java
+++ b/src/com/android/volley/CacheDispatcher.java
@@ -21,6 +21,8 @@ import java.util.concurrent.BlockingQueue;
import android.os.Process;
import android.util.Log;
+import com.android.volley.Request.ReturnStrategy;
+
Process: com.airbnb.android, PID: 4638
E java.lang.RuntimeException: Unable to start activity ComponentInfo{com.airbnb.android/com.airbnb.android.activities.MainActivity}: java.lang.NullPointerEx
ception
E at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
E at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
E at android.app.ActivityThread.access$800(ActivityThread.java:135)
E at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
E at android.os.Handler.dispatchMessage(Handler.java:102)
E at android.os.Looper.loop(Looper.java:136)
E at android.app.ActivityThread.main(ActivityThread.java:5017)
it
TLDR: Good news! The fix for multiupload is on development. Bonus, the fix actually made the entire app snappier. AirbnbRequest now has an override method that fixes the world.
In case I die/forget, I'd like to catalog this multiple request bug, because shit got pretty real.
We observed multiple photo copies being uploaded with a single request, as well as multiple listings being created in listings/create. However, our app logging and Volley-level network debug information indicated that only one request was being sent. Curious!
Thankfully, a few weeks ago we put in the capability to hook our emulated app up to Vagrant. I added some debug logging on the local dev, and did in fact see two incoming requests. Since I trust our server way more than our app, I decided to look harder at the client.
To make a really long story short, I kept debugging ang logging until I finally got down way down into OkHttp (Square's HTTP lib, http://square.github.io/okhttp/) and from there I could step-debug no longer. Okhttp w
@lxdvs
lxdvs / gist:5815774
Created June 19, 2013 16:38
SSL_select_next_proto still faults during GoogleAuthUtil operations using OkHttp
I/LSS-II: ( 2919): proc out:com.google.android.gsf.login,adj=0,i=85
I/LSS-II: ( 2919): proc wait in:com.sec.chaton,adj=11LRU num=86,i=64
F/libc (22262): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 22321 (AsyncTask #2)
I/DEBUG ( 2456): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
D/STATUSBAR-NetworkController( 3128): onReceive() - RSSI_CHANGED_ACTION, WIFI_STATE, NETWORK_STATE
D/STATUSBAR-NetworkController( 3128): refreshSignalCluster: data=-1 bt=false
I/DEBUG ( 2456): Build fingerprint: 'samsung/ja3gub/ja3g:4.2.2/JDQ39/I9500UBUAMDK:user/release-keys'
I/DEBUG ( 2456): Revision: '10'
I/DEBUG ( 2456): pid: 22262, tid: 22321, name: AsyncTask #2 >>> com.airbnb.android <<<
I/DEBUG ( 2456): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000000
String message = getString(R.string.special_offer_format,
nights,
guestCount,
(guestCount == 1 ? "" : "s"),
(new SimpleDateFormat("yyyy-MM-dd")).format(checkinDate),
"$" + String.valueOf(offerPrice));
<string name="special_offer_format">You have been offered a %1$d night stay for %2$d guest%3$s starting %4$s for %5$s.</string>