I found out that in a 'healthy' ppc32_op_gen_page the variable b->patch_table is not NULL in the
"Apply patches and free opcodes" section, where it crashes.
In the stack traces we have a NULL b->patch_table so something clearly went wrong with it.
Inspecting further, it's NULL before the "
Generate JIT opcodes" section, and not NULL after leaving that section.
The only place that changes the value of b->patch_table in that section is ppc32_jit_tcb_record_patch.
A few runs and changes later I got this nice crash: (doesn't crash applying the first patch, which is rare)
Code:
before malloc: block=0x80435c90, block->patch_table=0x0
after malloc: block->patch_table=0x82971c90
Block 0x80630000: recording patch [JIT:0x80241ea2->ppc:0x8063026c], MTP=9
Block 0x80630000: recording patch [JIT:0x8021860a->ppc:0x80630280], MTP=12
Block 0x80630000: recording patch [JIT:0x8023ce82->ppc:0x80630424], MTP=19
Block 0x80630000: recording patch [JIT:0x80245cb2->ppc:0x80630424], MTP=21
Block 0x80630000: recording patch [JIT:0x8020eb5a->ppc:0x806300e0], MTP=28
Block 0x80630000: recording patch [JIT:0x8022127a->ppc:0x80630088], MTP=30
Block 0x80630000: recording patch [JIT:0x80230f3a->ppc:0x806301c8], MTP=33
Block 0x80630000: recording patch [JIT:0x80442fda->ppc:0x806301c8], MTP=42
Block 0x80630000: recording patch [JIT:0x802473f2->ppc:0x806301c8], MTP=45
Block 0x80630000: recording patch [JIT:0x802632aa->ppc:0x8063016c], MTP=48
Block 0x80630000: recording patch [JIT:0x8026d14a->ppc:0x806301c8], MTP=51
Block 0x80630000: recording patch [JIT:0x802114da->ppc:0x806300b8], MTP=54
Block 0x80630000: recording patch [JIT:0x80218c70->ppc:0x806301c8], MTP=55
Block 0x80630000: recording patch [JIT:0x8026b49a->ppc:0x80630174], MTP=57
Block 0x80630000: recording patch [JIT:0x8026345a->ppc:0x806301c8], MTP=61
Block 0x80630000: recording patch [JIT:0x8023a1e8->ppc:0x80630130], MTP=71
Block 0x80630000: recording patch [JIT:0x8026f66a->ppc:0x8063016c], MTP=74
Block 0x80630000: recording patch [JIT:0x8026ec4a->ppc:0x80630158], MTP=77
Block 0x80630000: recording patch [JIT:0x8021feda->ppc:0x80630158], MTP=80
Block 0x80630000: recording patch [JIT:0x8021aa6a->ppc:0x8063012c], MTP=82
Block 0x80630000: recording patch [JIT:0x804440ba->ppc:0x80630120], MTP=85
Block 0x80630000: recording patch [JIT:0x8026e07a->ppc:0x806300fc], MTP=89
Block 0x80630000: recording patch [JIT:0x80231f80->ppc:0x806301c8], MTP=90
Block 0x80630000: recording patch [JIT:0x8023a0b8->ppc:0x806301cc], MTP=92
Block 0x80630000: recording patch [JIT:0x80216f70->ppc:0x806301a0], MTP=99
Block 0x80630000: recording patch [JIT:0x8021226a->ppc:0x8063016c], MTP=102
Block 0x80630000: recording patch [JIT:0x8023ccd2->ppc:0x806301c8], MTP=105
Block 0x80630000: recording patch [JIT:0x8025b882->ppc:0x806301c8], MTP=108
Block 0x80630000: recording patch [JIT:0x8026c3ca->ppc:0x8063019c], MTP=110
Block 0x80630000: recording patch [JIT:0x8021b10a->ppc:0x80630190], MTP=113
Block 0x80630000: recording patch [JIT:0x8022292a->ppc:0x80630288], MTP=116
Block 0x80630000: recording patch [JIT:0x8021bdba->ppc:0x806301f8], MTP=122
before malloc: block=0x80435c90, block->patch_table=0x82971c90
after malloc: block->patch_table=0x82975d68
Block 0x80630000: recording patch [JIT:0x8023dcb2->ppc:0x80630200], MTP=125
Block 0x80630000: recording patch [JIT:0x8023aef8->ppc:0x80630204], MTP=127
Block 0x80630000: recording patch [JIT:0x80227b5a->ppc:0x80630430], MTP=136
Block 0x80630000: recording patch [JIT:0x80265e8a->ppc:0x80630274], MTP=147
Block 0x80630000: recording patch [JIT:0x802507b2->ppc:0x8063026c], MTP=149
Block 0x80630000: recording patch [JIT:0x802587a2->ppc:0x80630430], MTP=154
Block 0x80630000: recording patch [JIT:0x805d1648->ppc:0x80630430], MTP=156
Block 0x80630000: recording patch [JIT:0x802538a2->ppc:0x80630288], MTP=159
Block 0x80630000: recording patch [JIT:0x80240988->ppc:0x80630430], MTP=161
Block 0x80630000: recording patch [JIT:0x80220f1a->ppc:0x80630424], MTP=163
Block 0x80630000: recording patch [JIT:0x8022bcba->ppc:0x80630360], MTP=175
Block 0x80630000: recording patch [JIT:0x8021f61a->ppc:0x806303cc], MTP=181
Block 0x80630000: recording patch [JIT:0x8021f7ca->ppc:0x806303b0], MTP=184
Block 0x80630000: recording patch [JIT:0x8026b2ea->ppc:0x80630350], MTP=189
Block 0x80630000: recording patch [JIT:0x80251482->ppc:0x80630350], MTP=191
Block 0x80630000: recording patch [JIT:0x80304418->ppc:0x80630328], MTP=197
Block 0x80630000: recording patch [JIT:0x801fedf2->ppc:0x806303c8], MTP=200
Block 0x80630000: recording patch [JIT:0x8026360a->ppc:0x80630350], MTP=203
Block 0x80630000: recording patch [JIT:0x8020f0da->ppc:0x80630350], MTP=206
Block 0x80630000: recording patch [JIT:0x8023222a->ppc:0x80630324], MTP=208
Block 0x80630000: recording patch [JIT:0x80242d62->ppc:0x80630318], MTP=211
Block 0x80630000: recording patch [JIT:0x8022a82a->ppc:0x806302e4], MTP=214
Block 0x80630000: recording patch [JIT:0x80220770->ppc:0x806303b0], MTP=215
Block 0x80630000: recording patch [JIT:0x80219670->ppc:0x80630388], MTP=221
Block 0x80630000: recording patch [JIT:0x8021117a->ppc:0x806303c8], MTP=224
Block 0x80630000: recording patch [JIT:0x80262d9a->ppc:0x806303b0], MTP=227
Block 0x80630000: recording patch [JIT:0x802119ea->ppc:0x806303b0], MTP=230
Block 0x80630000: recording patch [JIT:0x80ae8502->ppc:0x80630384], MTP=232
Block 0x80630000: recording patch [JIT:0x8022cd5a->ppc:0x80630378], MTP=235
Block 0x80630000: recording patch [JIT:0x802646ea->ppc:0x806303c4], MTP=237
Block 0x80630000: recording patch [JIT:0x8021de30->ppc:0x806303c8], MTP=240
Block 0x80630000: recording patch [JIT:0x80214c2a->ppc:0x80630424], MTP=244
before malloc: block=0x80435c90, block->patch_table=0x82975d68
after malloc: block->patch_table=0x8297f9e8
Block 0x80630000: recording patch [JIT:0x8026db6a->ppc:0x80630424], MTP=252
Block 0x80630000: recording patch [JIT:0x8026f15a->ppc:0x80630488], MTP=286
Block 0x80630000: recording patch [JIT:0x8023a448->ppc:0x806304c4], MTP=287
Block 0x80630000: recording patch [JIT:0x8023a7d8->ppc:0x806304c8], MTP=289
Block 0x80630000: recording patch [JIT:0x8023a6a8->ppc:0x806304b0], MTP=295
Block 0x80630000: recording patch [JIT:0x8022c85a->ppc:0x80630480], MTP=298
Block 0x80630000: recording patch [JIT:0x80211d4a->ppc:0x806304c4], MTP=301
Block 0x80630000: recording patch [JIT:0x8022d35a->ppc:0x806304a0], MTP=304
Block 0x80630000: recording patch [JIT:0x80215e1a->ppc:0x806305fc], MTP=307
Block 0x80630000: recording patch [JIT:0x80246a42->ppc:0x80630588], MTP=314
Block 0x80630000: recording patch [JIT:0x8026396a->ppc:0x806305fc], MTP=319
Block 0x80630000: recording patch [JIT:0x80ae350a->ppc:0x806305d8], MTP=322
Block 0x80630000: recording patch [JIT:0x802427b2->ppc:0x80630578], MTP=327
Block 0x80630000: recording patch [JIT:0x8022562a->ppc:0x80630578], MTP=329
Block 0x80630000: recording patch [JIT:0x80239d28->ppc:0x80630550], MTP=335
Block 0x80630000: recording patch [JIT:0x8026e3da->ppc:0x806305ec], MTP=338
Block 0x80630000: recording patch [JIT:0x802220ea->ppc:0x80630578], MTP=341
Block 0x80630000: recording patch [JIT:0x8022d76a->ppc:0x80630578], MTP=344
Block 0x80630000: recording patch [JIT:0x8098d022->ppc:0x8063054c], MTP=346
Block 0x80630000: recording patch [JIT:0x802281da->ppc:0x80630540], MTP=349
Block 0x80630000: recording patch [JIT:0x8023243a->ppc:0x8063050c], MTP=352
Block 0x80630000: recording patch [JIT:0x8028a718->ppc:0x806305d8], MTP=353
Block 0x80630000: recording patch [JIT:0x80227020->ppc:0x806305b0], MTP=359
Block 0x80630000: recording patch [JIT:0x8026c21a->ppc:0x806305ec], MTP=362
Block 0x80630000: recording patch [JIT:0x80ae7ff2->ppc:0x806305d8], MTP=365
Block 0x80630000: recording patch [JIT:0x801ff662->ppc:0x806305d8], MTP=368
Block 0x80630000: recording patch [JIT:0x8022feca->ppc:0x806305ac], MTP=370
Block 0x80630000: recording patch [JIT:0x80257392->ppc:0x806305a0], MTP=373
Block 0x80630000: recording patch [JIT:0x8098d2c2->ppc:0x806305f4], MTP=375
Block 0x80630000: recording patch [JIT:0x80241368->ppc:0x806305f8], MTP=378
Block 0x80630000: recording patch [JIT:0x80226de0->ppc:0x806305fc], MTP=380
Block 0x80630000: recording patch [JIT:0x80442aca->ppc:0x80630804], MTP=384
before malloc: block=0x80435c90, block->patch_table=0x8297f9e8
after malloc: block->patch_table=0x82987d68
Block 0x80630000: recording patch [JIT:0x8098d4d2->ppc:0x80630634], MTP=387
Block 0x80630000: recording patch [JIT:0x80214e4a->ppc:0x806307d4], MTP=395
Block 0x80630000: recording patch [JIT:0x805c7900->ppc:0x80630808], MTP=396
Block 0x80630000: recording patch [JIT:0x80263e7a->ppc:0x8063069c], MTP=400
Block 0x80630000: recording patch [JIT:0x8023d4c2->ppc:0x80630784], MTP=409
Block 0x80630000: recording patch [JIT:0x8022255a->ppc:0x80630784], MTP=412
Block 0x80630000: recording patch [JIT:0x802467d2->ppc:0x80630728], MTP=415
Block 0x80630000: recording patch [JIT:0x8026d4aa->ppc:0x80630784], MTP=418
Block 0x80630000: recording patch [JIT:0x8024c1a2->ppc:0x80630674], MTP=421
Block 0x80630000: recording patch [JIT:0x80227450->ppc:0x80630784], MTP=422
Block 0x80630000: recording patch [JIT:0x8022189a->ppc:0x80630730], MTP=424
Block 0x80630000: recording patch [JIT:0x8026beba->ppc:0x80630784], MTP=428
Block 0x80630000: recording patch [JIT:0x80229220->ppc:0x806306ec], MTP=438
Block 0x80630000: recording patch [JIT:0x8024e4c2->ppc:0x80630728], MTP=441
Block 0x80630000: recording patch [JIT:0x8023edc2->ppc:0x80630714], MTP=444
Block 0x80630000: recording patch [JIT:0x8021d6da->ppc:0x80630714], MTP=447
Block 0x80630000: recording patch [JIT:0x80246082->ppc:0x806306e8], MTP=449
Block 0x80630000: recording patch [JIT:0x80252442->ppc:0x806306dc], MTP=452
Block 0x80630000: recording patch [JIT:0x80442e2a->ppc:0x806306b8], MTP=456
Block 0x80630000: recording patch [JIT:0x80289a08->ppc:0x80630784], MTP=457
Block 0x80630000: recording patch [JIT:0x8022e6f0->ppc:0x80630788], MTP=459
Block 0x80630000: recording patch [JIT:0x805d3058->ppc:0x8063075c], MTP=466
Block 0x80630000: recording patch [JIT:0x80252652->ppc:0x80630728], MTP=469
Block 0x80630000: recording patch [JIT:0x8021b32a->ppc:0x80630784], MTP=472
Block 0x80630000: recording patch [JIT:0x802666fa->ppc:0x80630784], MTP=475
Block 0x80630000: recording patch [JIT:0x80267b3a->ppc:0x80630758], MTP=477
Block 0x80630000: recording patch [JIT:0x80242602->ppc:0x8063074c], MTP=480
Block 0x80630000: recording patch [JIT:0x802657ca->ppc:0x806307d0], MTP=483
Block 0x80630000: recording patch [JIT:0x8026603a->ppc:0x80630804], MTP=488
Block 0x80630000: recording patch [JIT:0x8021246a->ppc:0x80630804], MTP=491
Block 0x80630000: recording patch [JIT:0x80243c12->ppc:0x80630808], MTP=499
Block 0x80630000: recording patch [JIT:0x8026aa7a->ppc:0x80630804], MTP=504
before malloc: block=0x80435c90, block->patch_table=0x82987d68
after malloc: block->patch_table=0x82990e50
Block 0x80630000: recording patch [JIT:0x8021528a->ppc:0x80630804], MTP=506
Block 0x80630000: recording patch [JIT:0x80240d78->ppc:0x80630808], MTP=512
Block 0x80630000: recording patch [JIT:0x801d8442->ppc:0x80630908], MTP=527
Block 0x80630000: recording patch [JIT:0x8020f4aa->ppc:0x80630858], MTP=529
Block 0x80630000: recording patch [JIT:0x802197aa->ppc:0x806308f0], MTP=533
Block 0x80630000: recording patch [JIT:0x80249122->ppc:0x806308f0], MTP=536
Block 0x80630000: recording patch [JIT:0x8023b8e2->ppc:0x806308a4], MTP=540
Block 0x80630000: recording patch [JIT:0x80444a4a->ppc:0x806308f0], MTP=550
Block 0x80630000: recording patch [JIT:0x8023d668->ppc:0x806308f4], MTP=552
Block 0x80630000: recording patch [JIT:0x80252972->ppc:0x806308f0], MTP=555
Block 0x80630000: recording patch [JIT:0x8023f122->ppc:0x806308cc], MTP=560
Block 0x80630000: recording patch [JIT:0x8023b7a8->ppc:0x806308dc], MTP=562
Block 0x80630000: recording patch [JIT:0x802248ba->ppc:0x806308f0], MTP=568
Block 0x80630000: recording patch [JIT:0x8022c48a->ppc:0x80630834], MTP=571
Block 0x80630000: recording patch [JIT:0x802404b2->ppc:0x80630ab0], MTP=585
Block 0x80630000: recording patch [JIT:0x8023e652->ppc:0x80630940], MTP=589
Block 0x80630000: recording patch [JIT:0x802697ea->ppc:0x80630a60], MTP=591
Block 0x80630000: recording patch [JIT:0x802234fa->ppc:0x80630a0c], MTP=602
Block 0x80630000: recording patch [JIT:0x8024ea22->ppc:0x80630c38], MTP=608
Block 0x80630000: recording patch [JIT:0x802105ba->ppc:0x80630c34], MTP=611
Block 0x80630000: recording patch [JIT:0x8021e32a->ppc:0x806309fc], MTP=616
Block 0x80630000: recording patch [JIT:0x80264daa->ppc:0x806309fc], MTP=618
Block 0x80630000: recording patch [JIT:0x803e4668->ppc:0x806309d4], MTP=624
Block 0x80630000: recording patch [JIT:0x8023bf22->ppc:0x80630bdc], MTP=627
Block 0x80630000: recording patch [JIT:0x802681fa->ppc:0x806309fc], MTP=630
Block 0x80630000: recording patch [JIT:0x80243a12->ppc:0x806309fc], MTP=633
Block 0x80630000: recording patch [JIT:0x8022334a->ppc:0x806309d0], MTP=635
Block 0x80630000: recording patch [JIT:0x80217baa->ppc:0x806309c4], MTP=638
Block 0x80630000: recording patch [JIT:0x8026711a->ppc:0x80630990], MTP=641
Block 0x80630000: recording patch [JIT:0x80226a10->ppc:0x80630c34], MTP=642
Block 0x80630000: recording patch [JIT:0x8021dcb0->ppc:0x80630a34], MTP=648
Block 0x80630000: recording patch [JIT:0x8021039a->ppc:0x80630bdc], MTP=651
before malloc: block=0x80435c90, block->patch_table=0x82990e50
after malloc: block->patch_table=0x82990fe0
Block 0x80630000: recording patch [JIT:0x8022e00a->ppc:0x80630c34], MTP=654
Block 0x80630000: recording patch [JIT:0x8023c3b2->ppc:0x80630c34], MTP=657
Block 0x80630000: recording patch [JIT:0x80230b2a->ppc:0x80630a30], MTP=659
Block 0x80630000: recording patch [JIT:0x80262a3a->ppc:0x80630a24], MTP=662
Block 0x80630000: recording patch [JIT:0x80256718->ppc:0x80630c34], MTP=663
Block 0x80630000: recording patch [JIT:0x8021630a->ppc:0x80630c34], MTP=667
Block 0x80630000: recording patch [JIT:0x80224be0->ppc:0x80630a98], MTP=673
Block 0x80630000: recording patch [JIT:0x80245902->ppc:0x80630bdc], MTP=676
Block 0x80630000: recording patch [JIT:0x802637ba->ppc:0x80630c34], MTP=679
Block 0x80630000: recording patch [JIT:0x80ae31aa->ppc:0x80630a88], MTP=682
Block 0x80630000: recording patch [JIT:0x802160a0->ppc:0x80630c34], MTP=683
Block 0x80630000: recording patch [JIT:0x802131ea->ppc:0x80630acc], MTP=687
Block 0x80630000: recording patch [JIT:0x805beee8->ppc:0x80630b08], MTP=688
Block 0x80630000: recording patch [JIT:0x802315f0->ppc:0x80630b0c], MTP=690
Block 0x80630000: recording patch [JIT:0x80229940->ppc:0x80630af4], MTP=696
Block 0x80630000: recording patch [JIT:0x80252be2->ppc:0x80630ac4], MTP=699
Block 0x80630000: recording patch [JIT:0x8021d4ba->ppc:0x80630b08], MTP=702
Block 0x80630000: recording patch [JIT:0x8026762a->ppc:0x80630ae4], MTP=705
Block 0x80630000: recording patch [JIT:0x8026855a->ppc:0x80630c38], MTP=708
Block 0x80630000: recording patch [JIT:0x8023d7a2->ppc:0x80630be4], MTP=719
Block 0x80630000: recording patch [JIT:0x8021c94a->ppc:0x80630c38], MTP=724
Block 0x80630000: recording patch [JIT:0x802589b2->ppc:0x80630c34], MTP=727
Block 0x80630000: recording patch [JIT:0x8021c72a->ppc:0x80630bcc], MTP=732
Block 0x80630000: recording patch [JIT:0x8024c9b2->ppc:0x80630bcc], MTP=734
Block 0x80630000: recording patch [JIT:0x8023a908->ppc:0x80630ba4], MTP=740
Block 0x80630000: recording patch [JIT:0x8026b9aa->ppc:0x80630bdc], MTP=743
Block 0x80630000: recording patch [JIT:0x80216cea->ppc:0x80630bcc], MTP=746
Block 0x80630000: recording patch [JIT:0x8026deca->ppc:0x80630bcc], MTP=749
Block 0x80630000: recording patch [JIT:0x8026546a->ppc:0x80630ba0], MTP=751
Block 0x80630000: recording patch [JIT:0x8022b4ea->ppc:0x80630b94], MTP=754
Block 0x80630000: recording patch [JIT:0x80244012->ppc:0x80630b60], MTP=757
Block 0x80630000: recording patch [JIT:0x80240858->ppc:0x80630c34], MTP=758
before malloc: block=0x80435c90, block->patch_table=0x82990fe0
after malloc: block->patch_table=0x82991170
Block 0x80630000: recording patch [JIT:0x805d19d8->ppc:0x80630c38], MTP=760
Block 0x80630000: recording patch [JIT:0x8023b1b8->ppc:0x80630c0c], MTP=766
Block 0x80630000: recording patch [JIT:0x8021506a->ppc:0x80630bdc], MTP=769
Block 0x80630000: recording patch [JIT:0x8024a372->ppc:0x80630c34], MTP=772
Block 0x80630000: recording patch [JIT:0x80240182->ppc:0x80630c34], MTP=775
Block 0x80630000: recording patch [JIT:0x8026cc3a->ppc:0x80630c08], MTP=777
Block 0x80630000: recording patch [JIT:0x8021168a->ppc:0x80630bfc], MTP=780
Block 0x80630000: recording patch [JIT:0x8024d302->ppc:0x80630c54], MTP=783
Block 0x80630000: recording patch [JIT:0x8023f2d2->ppc:0x80630f14], MTP=785
Block 0x80630000: recording patch [JIT:0x805d4b70->ppc:0x80630f48], MTP=788
Block 0x80630000: recording patch [JIT:0x80245ab2->ppc:0x80630f1c], MTP=791
Block 0x80630000: recording patch [JIT:0x80259922->ppc:0x80630cdc], MTP=795
Block 0x80630000: recording patch [JIT:0x8021a2ea->ppc:0x80630c84], MTP=797
Block 0x80630000: recording patch [JIT:0x8022e48a->ppc:0x80630dc4], MTP=800
Block 0x80630000: recording patch [JIT:0x80212fea->ppc:0x80630dc4], MTP=809
Block 0x80630000: recording patch [JIT:0x8021c3ca->ppc:0x80630dc4], MTP=812
Block 0x80630000: recording patch [JIT:0x80219b7a->ppc:0x80630d68], MTP=815
Block 0x80630000: recording patch [JIT:0x80242252->ppc:0x80630dc4], MTP=818
Block 0x80630000: recording patch [JIT:0x80226c3a->ppc:0x80630cb4], MTP=821
Block 0x80630000: recording patch [JIT:0x8023bc38->ppc:0x80630dc4], MTP=822
Block 0x80630000: recording patch [JIT:0x80257602->ppc:0x80630d70], MTP=824
Block 0x80630000: recording patch [JIT:0x802683aa->ppc:0x80630dc4], MTP=828
Block 0x80630000: recording patch [JIT:0x80219170->ppc:0x80630d2c], MTP=838
Block 0x80630000: recording patch [JIT:0x8024e252->ppc:0x80630d68], MTP=841
Block 0x80630000: recording patch [JIT:0x8026963a->ppc:0x80630d54], MTP=844
Block 0x80630000: recording patch [JIT:0x8022f98a->ppc:0x80630d54], MTP=847
Block 0x80630000: recording patch [JIT:0x8024f8d2->ppc:0x80630d28], MTP=849
Block 0x80630000: recording patch [JIT:0x8021fd2a->ppc:0x80630d1c], MTP=852
Block 0x80630000: recording patch [JIT:0x80ae36ba->ppc:0x80630cf8], MTP=856
Block 0x80630000: recording patch [JIT:0x80240ea8->ppc:0x80630dc4], MTP=857
Block 0x80630000: recording patch [JIT:0x80219f90->ppc:0x80630dc8], MTP=859
Block 0x80630000: recording patch [JIT:0x80238ee8->ppc:0x80630d9c], MTP=866
before malloc: block=0x80435c90, block->patch_table=0x82991170
after malloc: block->patch_table=0x82991bd0
Block 0x80630000: recording patch [JIT:0x8024b8f2->ppc:0x80630d68], MTP=869
Block 0x80630000: recording patch [JIT:0x8024cf72->ppc:0x80630dc4], MTP=872
Block 0x80630000: recording patch [JIT:0x8026c8da->ppc:0x80630dc4], MTP=875
Block 0x80630000: recording patch [JIT:0x801fff72->ppc:0x80630d98], MTP=877
Block 0x80630000: recording patch [JIT:0x80a00dda->ppc:0x80630d8c], MTP=880
Block 0x80630000: recording patch [JIT:0x80250c32->ppc:0x80630f1c], MTP=883
Block 0x80630000: recording patch [JIT:0x80212c3a->ppc:0x80630f3c], MTP=887
Block 0x80630000: recording patch [JIT:0x80443f0a->ppc:0x80630eb0], MTP=898
Block 0x80630000: recording patch [JIT:0x8020f28a->ppc:0x80630f04], MTP=903
Block 0x80630000: recording patch [JIT:0x8022dc4a->ppc:0x80630f00], MTP=906
Block 0x80630000: recording patch [JIT:0x802194ca->ppc:0x80630e98], MTP=911
Block 0x80630000: recording patch [JIT:0x8023e1c2->ppc:0x80630e98], MTP=913
Block 0x80630000: recording patch [JIT:0x80224ec0->ppc:0x80630e70], MTP=919
Block 0x80630000: recording patch [JIT:0x8021b80a->ppc:0x80630ea8], MTP=922
Block 0x80630000: recording patch [JIT:0x80259612->ppc:0x80630e98], MTP=925
Block 0x80630000: recording patch [JIT:0x80255cf2->ppc:0x80630e98], MTP=928
Block 0x80630000: recording patch [JIT:0x80250a22->ppc:0x80630e6c], MTP=930
Block 0x80630000: recording patch [JIT:0x80269b4a->ppc:0x80630e60], MTP=933
Block 0x80630000: recording patch [JIT:0x8026d9ba->ppc:0x80630e2c], MTP=936
Block 0x80630000: recording patch [JIT:0x805d4580->ppc:0x80630f00], MTP=937
Block 0x80630000: recording patch [JIT:0x80227690->ppc:0x80630f04], MTP=939
Block 0x80630000: recording patch [JIT:0x805d4f00->ppc:0x80630ed8], MTP=945
Block 0x80630000: recording patch [JIT:0x8026438a->ppc:0x80630ea8], MTP=948
Block 0x80630000: recording patch [JIT:0x802272aa->ppc:0x80630f00], MTP=951
Block 0x80630000: recording patch [JIT:0x80259d42->ppc:0x80630f00], MTP=954
Block 0x80630000: recording patch [JIT:0x80267e9a->ppc:0x80630ed4], MTP=956
Block 0x80630000: recording patch [JIT:0x8026a8ca->ppc:0x80630ec8], MTP=959
Block 0x80630000: recording patch [JIT:0x80263cca->ppc:0x80630f1c], MTP=962
Block 0x80630000: recording patch [JIT:0x8021091a->ppc:0x80630c48], MTP=964
Block 0x80630000: recording patch [JIT:0x80240fd8->ppc:0x80630f48], MTP=966
Block 0x80630000: recording patch [JIT:0x80ae81a2->ppc:0x80630f44], MTP=968
Block 0x80630000: recording patch [JIT:0x80224ffa->ppc:0x80630f3c], MTP=971
before malloc: block=0x80435c90, block->patch_table=0x82991bd0
after malloc: block->patch_table=0x82995990
Block 0x80630000: recording patch [JIT:0x8023181a->ppc:0x80630f44], MTP=974
Block 0x80630000: recording patch [JIT:0x80239bf8->ppc:0x80630f48], MTP=976
Block 0x80630000: recording patch [JIT:0x8021e6fa->ppc:0x80630f94], MTP=994
Block 0x80630000: applying patch [JIT:0x80241ea2->ppc:0x8063026c=JIT:0xfe1401c7, ]
Block 0x80630000: applying patch [JIT:0x8021860a->ppc:0x80630280=JIT:0xfe140259, ]
Block 0x80630000: applying patch [JIT:0x8023ce82->ppc:0x80630424=JIT:0xfe140d86, ]
Block 0x80630000: applying patch [JIT:0x80245cb2->ppc:0x80630424=JIT:0xfe140d86, ]
Block 0x80630000: applying patch [JIT:0x8020eb5a->ppc:0x806300e0=JIT:0xfe5a7557, ]
Block 0x80630000: applying patch [JIT:0x8022127a->ppc:0x80630088=JIT:0xfe5a725c, ]
Block 0x80630000: applying patch [JIT:0x80230f3a->ppc:0x806301c8=JIT:0xfe5a7c8f, ]
Block 0x80630000: applying patch [JIT:0x80442fda->ppc:0x806301c8=JIT:0xfe5a7c8f, ]
Block 0x80630000: applying patch [JIT:0x802473f2->ppc:0x806301c8=JIT:0xfe5a7c8f, ]
Block 0x80630000: applying patch [JIT:0x802632aa->ppc:0x8063016c=JIT:0xfe5a79d9, ]
Block 0x80630000: applying patch [JIT:0x8026d14a->ppc:0x806301c8=JIT:0xfe5a7c8f, ]
Block 0x80630000: applying patch [JIT:0x802114da->ppc:0x806300b8=JIT:0xfe5a73c4, ]
Block 0x80630000: applying patch [JIT:0x80218c70->ppc:0x806301c8=JIT:0xfe5a7c8f, ]
Block 0x80630000: applying patch [JIT:0x8026b49a->ppc:0x80630174=JIT:0xfe5a79e6, ]
Block 0x80630000: applying patch [JIT:0x8026345a->ppc:0x806301c8=JIT:0xfe5a7c8f, ]
Block 0x80630000: applying patch [JIT:0x8023a1e8->ppc:0x80630130=JIT:0xfe5a77db, ]
Block 0x80630000: applying patch [JIT:0x8026f66a->ppc:0x8063016c=JIT:0xfe5a79d9, ]
Block 0x80630000: applying patch [JIT:0x8026ec4a->ppc:0x80630158=JIT:0xfe5a7942, ]
Block 0x80630000: applying patch [JIT:0x8021feda->ppc:0x80630158=JIT:0xfe5a7942, ]
Block 0x80630000: applying patch [JIT:0x8021aa6a->ppc:0x8063012c=JIT:0xfe5a7789, ]
Block 0x80630000: applying patch [JIT:0x804440ba->ppc:0x80630120=JIT:0xfe5a76ff, ]
Block 0x80630000: applying patch [JIT:0x8026e07a->ppc:0x806300fc=JIT:0xfe5a7625, ]
Block 0x80630000: applying patch [JIT:0x80231f80->ppc:0x806301c8=JIT:0xfe5a7c8f, ]
Block 0x80630000: applying patch [JIT:0x8023a0b8->ppc:0x806301cc=JIT:0xfe5a7c94, ]
Block 0x80630000: applying patch [JIT:0x80216f70->ppc:0x806301a0=JIT:0xfe5a7b25, ]
Block 0x80630000: applying patch [JIT:0x8021226a->ppc:0x8063016c=JIT:0xfe5a79d9, ]
Block 0x80630000: applying patch [JIT:0x8023ccd2->ppc:0x806301c8=JIT:0xfe5a7c8f, ]
Block 0x80630000: applying patch [JIT:0x8025b882->ppc:0x806301c8=JIT:0xfe5a7c8f, ]
Block 0x80630000: applying patch [JIT:0x8026c3ca->ppc:0x8063019c=JIT:0xfe5a7ad3, ]
Block 0x80630000: applying patch [JIT:0x8021b10a->ppc:0x80630190=JIT:0xfe5a7a49, ]
Block 0x80630000: applying patch [JIT:0x8022292a->ppc:0x80630288=JIT:0xfe140263, ]
Block 0x80630000: applying patch [JIT:0x8021bdba->ppc:0x806301f8=JIT:0xfe5a7da6, ]
Block 0x80630000: applying patch [JIT:0x8023dcb2->ppc:0x80630200=JIT:0xfe5a7db6, ]
Block 0x80630000: applying patch [JIT:0x8023aef8->ppc:0x80630204=JIT:0xfe5a7dbe, ]
Block 0x80630000: applying patch [JIT:0x80227b5a->ppc:0x80630430=JIT:0xfe140dac, ]
Block 0x80630000: applying patch [JIT:0x80265e8a->ppc:0x80630274=JIT:0xfe1401d4, ]
Block 0x80630000: applying patch [JIT:0x802507b2->ppc:0x8063026c=JIT:0xfe1401c7, ]
Block 0x80630000: applying patch [JIT:0x802587a2->ppc:0x80630430=JIT:0xfe140dac, ]
Block 0x80630000: applying patch [JIT:0x805d1648->ppc:0x80630430=JIT:0xfe140dac, ]
Block 0x80630000: applying patch [JIT:0x802538a2->ppc:0x80630288=JIT:0xfe140263, ]
Block 0x80630000: applying patch [JIT:0x80240988->ppc:0x80630430=JIT:0xfe140dac, ]
Block 0x80630000: applying patch [JIT:0x80220f1a->ppc:0x80630424=JIT:0xfe140d86, ]
Block 0x80630000: applying patch [JIT:0x8022bcba->ppc:0x80630360=JIT:0xfe140810, ]
Block 0x80630000: applying patch [JIT:0x8021f61a->ppc:0x806303cc=JIT:0xfe140b4f, ]
Block 0x80630000: applying patch [JIT:0x8021f7ca->ppc:0x806303b0=JIT:0xfe140aaa, ]
Block 0x80630000: applying patch [JIT:0x8026b2ea->ppc:0x80630350=JIT:0xfe1407d5, ]
Block 0x80630000: applying patch [JIT:0x80251482->ppc:0x80630350=JIT:0xfe1407d5, ]
Block 0x80630000: applying patch [JIT:0x80304418->ppc:0x80630328=JIT:0xfe14066d, ]
Block 0x80630000: applying patch [JIT:0x801fedf2->ppc:0x806303c8=JIT:0xfe140b47, ]
Block 0x80630000: applying patch [JIT:0x8026360a->ppc:0x80630350=JIT:0xfe1407d5, ]
Block 0x80630000: applying patch [JIT:0x8020f0da->ppc:0x80630350=JIT:0xfe1407d5, ]
Block 0x80630000: applying patch [JIT:0x8023222a->ppc:0x80630324=JIT:0xfe14061b, ]
Block 0x80630000: applying patch [JIT:0x80242d62->ppc:0x80630318=JIT:0xfe140591, ]
Block 0x80630000: applying patch [JIT:0x8022a82a->ppc:0x806302e4=JIT:0xfe1404a1, ]
Block 0x80630000: applying patch [JIT:0x80220770->ppc:0x806303b0=JIT:0xfe140aaa, ]
Block 0x80630000: applying patch [JIT:0x80219670->ppc:0x80630388=JIT:0xfe140942, ]
Block 0x80630000: applying patch [JIT:0x8021117a->ppc:0x806303c8=JIT:0xfe140b47, ]
Block 0x80630000: applying patch [JIT:0x80262d9a->ppc:0x806303b0=JIT:0xfe140aaa, ]
Block 0x80630000: applying patch [JIT:0x802119ea->ppc:0x806303b0=JIT:0xfe140aaa, ]
Block 0x80630000: applying patch [JIT:0x80ae8502->ppc:0x80630384=JIT:0xfe1408f0, ]
Block 0x80630000: applying patch [JIT:0x8022cd5a->ppc:0x80630378=JIT:0xfe140866, ]
Block 0x80630000: applying patch [JIT:0x802646ea->ppc:0x806303c4=JIT:0xfe140b42, ]
Block 0x80630000: applying patch [JIT:0x8021de30->ppc:0x806303c8=JIT:0xfe140b47, ]
Block 0x80630000: applying patch [JIT:0x80214c2a->ppc:0x80630424=JIT:0xfe140d86, ]
Block 0x80630000: applying patch [JIT:0x8026db6a->ppc:0x80630424=JIT:0xfe140d86, ]
Block 0x80630000: applying patch [JIT:0x8026f15a->ppc:0x80630488=JIT:0xfe140f76, ]
Block 0x80630000: applying patch [JIT:0x8023a448->ppc:0x806304c4=JIT:0xfe14115f, ]
Block 0x80630000: applying patch [JIT:0x8023a7d8->ppc:0x806304c8=JIT:0xfe141164, ]
Block 0x80630000: applying patch [JIT:0x8023a6a8->ppc:0x806304b0=JIT:0xfe1410a9, ]
Block 0x80630000: applying patch [JIT:0x8022c85a->ppc:0x80630480=JIT:0xfe140f69, ]
Block 0x80630000: applying patch [JIT:0x80211d4a->ppc:0x806304c4=JIT:0xfe14115f, ]
Block 0x80630000: applying patch [JIT:0x8022d35a->ppc:0x806304a0=JIT:0xfe140fcd, ]
Block 0x80630000: applying patch [JIT:0x80215e1a->ppc:0x806305fc=JIT:0xfe14197a, ]
Block 0x80630000: applying patch [JIT:0x80246a42->ppc:0x80630588=JIT:0xfe14162e, ]
Block 0x80630000: applying patch [JIT:0x8026396a->ppc:0x806305fc=JIT:0xfe14197a, ]
Block 0x80630000: applying patch [JIT:0x80ae350a->ppc:0x806305d8=JIT:0xfe1418c8, ]
Block 0x80630000: applying patch [JIT:0x802427b2->ppc:0x80630578=JIT:0xfe1415f3, ]
Block 0x80630000: applying patch [JIT:0x8022562a->ppc:0x80630578=JIT:0xfe1415f3, ]
Block 0x80630000: applying patch [JIT:0x80239d28->ppc:0x80630550=JIT:0xfe14148e, ]
Block 0x80630000: applying patch [JIT:0x8026e3da->ppc:0x806305ec=JIT:0xfe141960, ]
Block 0x80630000: applying patch [JIT:0x802220ea->ppc:0x80630578=JIT:0xfe1415f3, ]
Block 0x80630000: applying patch [JIT:0x8022d76a->ppc:0x80630578=JIT:0xfe1415f3, ]
Block 0x80630000: applying patch [JIT:0x8098d022->ppc:0x8063054c=JIT:0xfe14143c, ]
Block 0x80630000: applying patch [JIT:0x802281da->ppc:0x80630540=JIT:0xfe1413b2, ]
Block 0x80630000: applying patch [JIT:0x8023243a->ppc:0x8063050c=JIT:0xfe1412c2, ]
Block 0x80630000: applying patch [JIT:0x8028a718->ppc:0x806305d8=JIT:0xfe1418c8, ]
Block 0x80630000: applying patch [JIT:0x80227020->ppc:0x806305b0=JIT:0xfe141760, ]
Block 0x80630000: applying patch [JIT:0x8026c21a->ppc:0x806305ec=JIT:0xfe141960, ]
Block 0x80630000: applying patch [JIT:0x80ae7ff2->ppc:0x806305d8=JIT:0xfe1418c8, ]
Block 0x80630000: applying patch [JIT:0x801ff662->ppc:0x806305d8=JIT:0xfe1418c8, ]
Block 0x80630000: applying patch [JIT:0x8022feca->ppc:0x806305ac=JIT:0xfe14170e, ]
Block 0x80630000: applying patch [JIT:0x80257392->ppc:0x806305a0=JIT:0xfe141684, ]
Block 0x80630000: applying patch [JIT:0x8098d2c2->ppc:0x806305f4=JIT:0xfe14196d, ]
Block 0x80630000: applying patch [JIT:0x80241368->ppc:0x806305f8=JIT:0xfe141972, ]
Block 0x80630000: applying patch [JIT:0x80226de0->ppc:0x806305fc=JIT:0xfe14197a, ]
Block 0x80630000: applying patch [JIT:0x80442aca->ppc:0x80630804=JIT:0xfe1427a3, ]
Block 0x80630000: applying patch [JIT:0x0->ppc:0x00000000=JIT:0x828927c8, ]
Program received signal SIGSEGV, Segmentation fault.
0x00441523 in ppc32_jit_tcb_apply_patches (cpu=0x801a8f18, block=0x80435c90, iop=0x8098d4a0)
at /cygdrive/d/dev/hg/dynamips-community/stable/ppc32_jit.c:535
535 ppc32_jit_tcb_set_patch(jit_ptr,jit_dst);
(gdb) print *block
$4 = {start_ia = 2153971712, jit_insn_ptr = 0x825e07c8, acc_count = 79, ppc_code = 0xfa1a0000,
ppc_trans_pos = 1024, jit_chunk_pos = 1, jit_ptr = 0xfe145f53 "\001", jit_buffer = 0x801ab2c0,
jit_chunks = {0x0 <repeats 64 times>}, patch_table = 0x0, prev = 0x0, next = 0x8045be80,
phys_page = 1584, phys_hash = 8263, phys_pprev = 0x0, phys_next = 0x0, target_bitmap = {0, 0, 0, 0, 0, 0,
0, 0, 256, 0 <repeats 23 times>}, target_undef_cnt = 16}
(gdb) print *(struct ppc32_jit_patch_table *)0x82971c90
$5 = {next = 0x0, patches = {{next = 0x0, jit_insn = 0x80241ea2 "\017\204", ppc_ia = 2153972332}, {
next = 0x0, jit_insn = 0x8021860a "\017\205", ppc_ia = 2153972352}, {next = 0x0,
jit_insn = 0x8023ce82 "\017\204", ppc_ia = 2153972772}, {next = 0x0,
jit_insn = 0x80245cb2 "\017\205", ppc_ia = 2153972772}, {next = 0x0,
jit_insn = 0x8020eb5a "\017\204", ppc_ia = 2153971936}, {next = 0x0,
jit_insn = 0x8022127a "\017\205", ppc_ia = 2153971848}, {next = 0x0,
jit_insn = 0x80230f3a "\017\204", ppc_ia = 2153972168}, {next = 0x0,
jit_insn = 0x80442fda "\017\205", ppc_ia = 2153972168}, {next = 0x0,
jit_insn = 0x802473f2 "\017\205", ppc_ia = 2153972168}, {next = 0x0,
jit_insn = 0x802632aa "\017\205", ppc_ia = 2153972076}, {next = 0x0,
jit_insn = 0x8026d14a "\017\205", ppc_ia = 2153972168}, {next = 0x0,
jit_insn = 0x802114da "\017\204", ppc_ia = 2153971896}, {next = 0x0,
jit_insn = 0x80218c70 <incomplete sequence \351>, ppc_ia = 2153972168}, {next = 0x0,
jit_insn = 0x8026b49a "\017\204", ppc_ia = 2153972084}, {next = 0x0,
jit_insn = 0x8026345a "\017\204", ppc_ia = 2153972168}, {next = 0x0,
jit_insn = 0x8023a1e8 <incomplete sequence \351>, ppc_ia = 2153972016}, {next = 0x0,
jit_insn = 0x8026f66a "\017\205", ppc_ia = 2153972076}, {next = 0x0,
jit_insn = 0x8026ec4a "\017\205", ppc_ia = 2153972056}, {next = 0x0,
jit_insn = 0x8021feda "\017\205", ppc_ia = 2153972056}, {next = 0x0,
jit_insn = 0x8021aa6a "\017\204", ppc_ia = 2153972012}, {next = 0x0,
jit_insn = 0x804440ba "\017\204", ppc_ia = 2153972000}, {next = 0x0,
jit_insn = 0x8026e07a "\017\205", ppc_ia = 2153971964}, {next = 0x0,
jit_insn = 0x80231f80 <incomplete sequence \351>, ppc_ia = 2153972168}, {next = 0x0,
jit_insn = 0x8023a0b8 <incomplete sequence \351>, ppc_ia = 2153972172}, {next = 0x0,
jit_insn = 0x80216f70 <incomplete sequence \351>, ppc_ia = 2153972128}, {next = 0x0,
jit_insn = 0x8021226a "\017\205", ppc_ia = 2153972076}, {next = 0x0,
jit_insn = 0x8023ccd2 "\017\205", ppc_ia = 2153972168}, {next = 0x0,
jit_insn = 0x8025b882 "\017\205", ppc_ia = 2153972168}, {next = 0x0,
jit_insn = 0x8026c3ca "\017\204", ppc_ia = 2153972124}, {next = 0x0,
jit_insn = 0x8021b10a "\017\204", ppc_ia = 2153972112}, {next = 0x0,
jit_insn = 0x8022292a "\017\205", ppc_ia = 2153972360}, {next = 0x0,
jit_insn = 0x8021bdba "\017\205", ppc_ia = 2153972216}}, cur_patch = 32}
(gdb) print *(struct ppc32_jit_patch_table *)0x82975d68
$6 = {next = 0x82971c90, patches = {{next = 0x0, jit_insn = 0x8023dcb2 "\017\204", ppc_ia = 2153972224}, {
next = 0x0, jit_insn = 0x8023aef8 <incomplete sequence \351>, ppc_ia = 2153972228}, {next = 0x0,
jit_insn = 0x80227b5a "\017\204", ppc_ia = 2153972784}, {next = 0x0,
jit_insn = 0x80265e8a "\017\205", ppc_ia = 2153972340}, {next = 0x0,
jit_insn = 0x802507b2 "\017\205", ppc_ia = 2153972332}, {next = 0x0,
jit_insn = 0x802587a2 "\017\205", ppc_ia = 2153972784}, {next = 0x0,
jit_insn = 0x805d1648 <incomplete sequence \351>, ppc_ia = 2153972784}, {next = 0x0,
jit_insn = 0x802538a2 "\017\204", ppc_ia = 2153972360}, {next = 0x0,
jit_insn = 0x80240988 <incomplete sequence \351>, ppc_ia = 2153972784}, {next = 0x0,
jit_insn = 0x80220f1a "\017\205", ppc_ia = 2153972772}, {next = 0x0,
jit_insn = 0x8022bcba "\017\205", ppc_ia = 2153972576}, {next = 0x0,
jit_insn = 0x8021f61a "\017\205", ppc_ia = 2153972684}, {next = 0x0,
jit_insn = 0x8021f7ca "\017\204", ppc_ia = 2153972656}, {next = 0x0,
jit_insn = 0x8026b2ea "\017\205", ppc_ia = 2153972560}, {next = 0x0,
jit_insn = 0x80251482 "\017\205", ppc_ia = 2153972560}, {next = 0x0,
jit_insn = 0x80304418 <incomplete sequence \351>, ppc_ia = 2153972520}, {next = 0x0,
jit_insn = 0x801fedf2 "\017\205", ppc_ia = 2153972680}, {next = 0x0,
jit_insn = 0x8026360a "\017\205", ppc_ia = 2153972560}, {next = 0x0,
jit_insn = 0x8020f0da "\017\205", ppc_ia = 2153972560}, {next = 0x0,
jit_insn = 0x8023222a "\017\204", ppc_ia = 2153972516}, {next = 0x0,
jit_insn = 0x80242d62 "\017\204", ppc_ia = 2153972504}, {next = 0x0,
jit_insn = 0x8022a82a "\017\205", ppc_ia = 2153972452}, {next = 0x0,
jit_insn = 0x80220770 <incomplete sequence \351>, ppc_ia = 2153972656}, {next = 0x0,
jit_insn = 0x80219670 <incomplete sequence \351>, ppc_ia = 2153972616}, {next = 0x0,
jit_insn = 0x8021117a "\017\205", ppc_ia = 2153972680}, {next = 0x0,
jit_insn = 0x80262d9a "\017\205", ppc_ia = 2153972656}, {next = 0x0,
jit_insn = 0x802119ea "\017\205", ppc_ia = 2153972656}, {next = 0x0,
jit_insn = 0x80ae8502 "\017\204", ppc_ia = 2153972612}, {next = 0x0,
jit_insn = 0x8022cd5a "\017\204", ppc_ia = 2153972600}, {next = 0x0,
jit_insn = 0x802646ea "\017\205", ppc_ia = 2153972676}, {next = 0x0,
jit_insn = 0x8021de30 <incomplete sequence \351>, ppc_ia = 2153972680}, {next = 0x0,
jit_insn = 0x80214c2a "\017\205", ppc_ia = 2153972772}}, cur_patch = 32}
(gdb) print *(struct ppc32_jit_patch_table *)0x8297f9e8
$7 = {next = 0x82975d68, patches = {{next = 0x0, jit_insn = 0x8026db6a "\017\205", ppc_ia = 2153972772}, {
next = 0x0, jit_insn = 0x8026f15a "\017\204", ppc_ia = 2153972872}, {next = 0x0,
jit_insn = 0x8023a448 <incomplete sequence \351>, ppc_ia = 2153972932}, {next = 0x0,
jit_insn = 0x8023a7d8 <incomplete sequence \351>, ppc_ia = 2153972936}, {next = 0x0,
jit_insn = 0x8023a6a8 <incomplete sequence \351>, ppc_ia = 2153972912}, {next = 0x0,
jit_insn = 0x8022c85a "\017\205", ppc_ia = 2153972864}, {next = 0x0,
jit_insn = 0x80211d4a "\017\205", ppc_ia = 2153972932}, {next = 0x0,
jit_insn = 0x8022d35a "\017\204", ppc_ia = 2153972896}, {next = 0x0,
jit_insn = 0x80215e1a "\017\204", ppc_ia = 2153973244}, {next = 0x0,
jit_insn = 0x80246a42 "\017\205", ppc_ia = 2153973128}, {next = 0x0,
jit_insn = 0x8026396a "\017\205", ppc_ia = 2153973244}, {next = 0x0,
jit_insn = 0x80ae350a "\017\204", ppc_ia = 2153973208}, {next = 0x0,
jit_insn = 0x802427b2 "\017\205", ppc_ia = 2153973112}, {next = 0x0,
jit_insn = 0x8022562a "\017\205", ppc_ia = 2153973112}, {next = 0x0,
jit_insn = 0x80239d28 <incomplete sequence \351>, ppc_ia = 2153973072}, {next = 0x0,
jit_insn = 0x8026e3da "\017\205", ppc_ia = 2153973228}, {next = 0x0,
jit_insn = 0x802220ea "\017\205", ppc_ia = 2153973112}, {next = 0x0,
jit_insn = 0x8022d76a "\017\205", ppc_ia = 2153973112}, {next = 0x0,
jit_insn = 0x8098d022 "\017\204", ppc_ia = 2153973068}, {next = 0x0,
jit_insn = 0x802281da "\017\204", ppc_ia = 2153973056}, {next = 0x0,
jit_insn = 0x8023243a "\017\205", ppc_ia = 2153973004}, {next = 0x0,
jit_insn = 0x8028a718 <incomplete sequence \351>, ppc_ia = 2153973208}, {next = 0x0,
jit_insn = 0x80227020 <incomplete sequence \351>, ppc_ia = 2153973168}, {next = 0x0,
jit_insn = 0x8026c21a "\017\205", ppc_ia = 2153973228}, {next = 0x0,
jit_insn = 0x80ae7ff2 "\017\205", ppc_ia = 2153973208}, {next = 0x0,
jit_insn = 0x801ff662 "\017\205", ppc_ia = 2153973208}, {next = 0x0,
jit_insn = 0x8022feca "\017\204", ppc_ia = 2153973164}, {next = 0x0,
jit_insn = 0x80257392 "\017\204", ppc_ia = 2153973152}, {next = 0x0,
jit_insn = 0x8098d2c2 "\017\205", ppc_ia = 2153973236}, {next = 0x0,
jit_insn = 0x80241368 <incomplete sequence \351>, ppc_ia = 2153973240}, {next = 0x0,
jit_insn = 0x80226de0 <incomplete sequence \351>, ppc_ia = 2153973244}, {next = 0x0,
jit_insn = 0x80442aca "\017\205", ppc_ia = 2153973764}}, cur_patch = 32}
(gdb) print *(struct ppc32_jit_patch_table *)0x82987d68
$8 = {next = 0x82991bc8, patches = {{next = 0x82995988, jit_insn = 0x0, ppc_ia = 0}, {next = 0x0,
jit_insn = 0x1 <Address 0x1 out of bounds>, ppc_ia = 2153973716}, {next = 0x0,
jit_insn = 0x805c7900 <incomplete sequence \351>, ppc_ia = 2153973768}, {next = 0x0,
jit_insn = 0x80263e7a "\017\204", ppc_ia = 2153973404}, {next = 0x0,
jit_insn = 0x8023d4c2 "\017\205", ppc_ia = 2153973636}, {next = 0x0,
jit_insn = 0x8022255a "\017\205", ppc_ia = 2153973636}, {next = 0x0,
jit_insn = 0x802467d2 "\017\205", ppc_ia = 2153973544}, {next = 0x0,
jit_insn = 0x8026d4aa "\017\205", ppc_ia = 2153973636}, {next = 0x0,
jit_insn = 0x8024c1a2 "\017\204", ppc_ia = 2153973364}, {next = 0x0,
jit_insn = 0x80227450 <incomplete sequence \351>, ppc_ia = 2153973636}, {next = 0x0,
jit_insn = 0x8022189a "\017\204", ppc_ia = 2153973552}, {next = 0x0,
jit_insn = 0x8026beba "\017\204", ppc_ia = 2153973636}, {next = 0x0,
jit_insn = 0x80229220 <incomplete sequence \351>, ppc_ia = 2153973484}, {next = 0x0,
jit_insn = 0x8024e4c2 "\017\205", ppc_ia = 2153973544}, {next = 0x0,
jit_insn = 0x8023edc2 "\017\205", ppc_ia = 2153973524}, {next = 0x0,
jit_insn = 0x8021d6da "\017\205", ppc_ia = 2153973524}, {next = 0x0,
jit_insn = 0x80246082 "\017\204", ppc_ia = 2153973480}, {next = 0x0,
jit_insn = 0x80252442 "\017\204", ppc_ia = 2153973468}, {next = 0x0,
jit_insn = 0x80442e2a "\017\205", ppc_ia = 2153973432}, {next = 0x0,
jit_insn = 0x80289a08 <incomplete sequence \351>, ppc_ia = 2153973636}, {next = 0x0,
jit_insn = 0x8022e6f0 <incomplete sequence \351>, ppc_ia = 2153973640}, {next = 0x0,
jit_insn = 0x805d3058 <incomplete sequence \351>, ppc_ia = 2153973596}, {next = 0x0,
jit_insn = 0x80252652 "\017\205", ppc_ia = 2153973544}, {next = 0x0,
jit_insn = 0x8021b32a "\017\205", ppc_ia = 2153973636}, {next = 0x0,
jit_insn = 0x802666fa "\017\205", ppc_ia = 2153973636}, {next = 0x0,
jit_insn = 0x80267b3a "\017\204", ppc_ia = 2153973592}, {next = 0x0,
jit_insn = 0x80242602 "\017\204", ppc_ia = 2153973580}, {next = 0x0,
jit_insn = 0x802657ca "\017\205", ppc_ia = 2153973712}, {next = 0x0,
jit_insn = 0x8026603a "\017\205", ppc_ia = 2153973764}, {next = 0x0,
jit_insn = 0x8021246a "\017\205", ppc_ia = 2153973764}, {next = 0x0,
jit_insn = 0x80243c12 "\017\204", ppc_ia = 2153973768}, {next = 0x0,
jit_insn = 0x8026aa7a "\017\205", ppc_ia = 2153973764}}, cur_patch = 32}
(gdb) print *(struct ppc32_jit_patch_table *)0x82990e50
$9 = {next = 0x82990e48, patches = {{next = 0x82990e48, jit_insn = 0x0, ppc_ia = 0}, {
next = 0x6123e6fc <_gm_+316>, jit_insn = 0x4 <Address 0x4 out of bounds>, ppc_ia = 2153973768}, {
next = 0x0, jit_insn = 0x801d8442 <incomplete sequence \351>, ppc_ia = 2153974024}, {next = 0x0,
jit_insn = 0x8020f4aa "\017\204", ppc_ia = 2153973848}, {next = 0x0,
jit_insn = 0x802197aa "\017\205", ppc_ia = 2153974000}, {next = 0x0,
jit_insn = 0x80249122 "\017\205", ppc_ia = 2153974000}, {next = 0x0,
jit_insn = 0x8023b8e2 "\017\205", ppc_ia = 2153973924}, {next = 0x0,
jit_insn = 0x80444a4a "\017\205", ppc_ia = 2153974000}, {next = 0x0,
jit_insn = 0x8023d668 <incomplete sequence \351>, ppc_ia = 2153974004}, {next = 0x0,
jit_insn = 0x80252972 "\017\205", ppc_ia = 2153974000}, {next = 0x0,
jit_insn = 0x8023f122 "\017\204", ppc_ia = 2153973964}, {next = 0x0,
jit_insn = 0x8023b7a8 <incomplete sequence \351>, ppc_ia = 2153973980}, {next = 0x0,
jit_insn = 0x802248ba "\017\205", ppc_ia = 2153974000}, {next = 0x0,
jit_insn = 0x8022c48a "\017\204", ppc_ia = 2153973812}, {next = 0x0,
jit_insn = 0x802404b2 "\017\205", ppc_ia = 2153974448}, {next = 0x0,
jit_insn = 0x8023e652 "\017\205", ppc_ia = 2153974080}, {next = 0x0,
jit_insn = 0x802697ea "\017\204", ppc_ia = 2153974368}, {next = 0x0,
jit_insn = 0x802234fa "\017\205", ppc_ia = 2153974284}, {next = 0x0,
jit_insn = 0x8024ea22 "\017\205", ppc_ia = 2153974840}, {next = 0x0,
jit_insn = 0x802105ba "\017\204", ppc_ia = 2153974836}, {next = 0x0,
jit_insn = 0x8021e32a "\017\205", ppc_ia = 2153974268}, {next = 0x0,
jit_insn = 0x80264daa "\017\205", ppc_ia = 2153974268}, {next = 0x0,
jit_insn = 0x803e4668 <incomplete sequence \351>, ppc_ia = 2153974228}, {next = 0x0,
jit_insn = 0x8023bf22 "\017\205", ppc_ia = 2153974748}, {next = 0x0,
jit_insn = 0x802681fa "\017\205", ppc_ia = 2153974268}, {next = 0x0,
jit_insn = 0x80243a12 "\017\205", ppc_ia = 2153974268}, {next = 0x0,
jit_insn = 0x8022334a "\017\204", ppc_ia = 2153974224}, {next = 0x0,
jit_insn = 0x80217baa "\017\204", ppc_ia = 2153974212}, {next = 0x0,
jit_insn = 0x8026711a "\017\205", ppc_ia = 2153974160}, {next = 0x0,
jit_insn = 0x80226a10 <incomplete sequence \351>, ppc_ia = 2153974836}, {next = 0x0,
jit_insn = 0x8021dcb0 <incomplete sequence \351>, ppc_ia = 2153974324}, {next = 0x0,
jit_insn = 0x8021039a "\017\205", ppc_ia = 2153974748}}, cur_patch = 32}
(gdb) print *(struct ppc32_jit_patch_table *)0x82990fe0
$10 = {next = 0x82990fd8, patches = {{next = 0x82990fd8, jit_insn = 0x0, ppc_ia = 0}, {
next = 0x6123e6f8 <_gm_+312>, jit_insn = 0x3 <Address 0x3 out of bounds>, ppc_ia = 2153974836}, {
next = 0x0, jit_insn = 0x80230b2a "\017\204", ppc_ia = 2153974320}, {next = 0x0,
jit_insn = 0x80262a3a "\017\204", ppc_ia = 2153974308}, {next = 0x0,
jit_insn = 0x80256718 <incomplete sequence \351>, ppc_ia = 2153974836}, {next = 0x0,
jit_insn = 0x8021630a "\017\205", ppc_ia = 2153974836}, {next = 0x0,
jit_insn = 0x80224be0 <incomplete sequence \351>, ppc_ia = 2153974424}, {next = 0x0,
jit_insn = 0x80245902 "\017\205", ppc_ia = 2153974748}, {next = 0x0,
jit_insn = 0x802637ba "\017\205", ppc_ia = 2153974836}, {next = 0x0,
jit_insn = 0x80ae31aa "\017\204", ppc_ia = 2153974408}, {next = 0x0,
jit_insn = 0x802160a0 <incomplete sequence \351>, ppc_ia = 2153974836}, {next = 0x0,
jit_insn = 0x802131ea "\017\204", ppc_ia = 2153974476}, {next = 0x0,
jit_insn = 0x805beee8 <incomplete sequence \351>, ppc_ia = 2153974536}, {next = 0x0,
jit_insn = 0x802315f0 <incomplete sequence \351>, ppc_ia = 2153974540}, {next = 0x0,
jit_insn = 0x80229940 <incomplete sequence \351>, ppc_ia = 2153974516}, {next = 0x0,
jit_insn = 0x80252be2 "\017\205", ppc_ia = 2153974468}, {next = 0x0,
jit_insn = 0x8021d4ba "\017\205", ppc_ia = 2153974536}, {next = 0x0,
jit_insn = 0x8026762a "\017\204", ppc_ia = 2153974500}, {next = 0x0,
jit_insn = 0x8026855a "\017\204", ppc_ia = 2153974840}, {next = 0x0,
jit_insn = 0x8023d7a2 "\017\205", ppc_ia = 2153974756}, {next = 0x0,
jit_insn = 0x8021c94a "\017\205", ppc_ia = 2153974840}, {next = 0x0,
jit_insn = 0x802589b2 "\017\204", ppc_ia = 2153974836}, {next = 0x0,
jit_insn = 0x8021c72a "\017\205", ppc_ia = 2153974732}, {next = 0x0,
jit_insn = 0x8024c9b2 "\017\205", ppc_ia = 2153974732}, {next = 0x0,
jit_insn = 0x8023a908 <incomplete sequence \351>, ppc_ia = 2153974692}, {next = 0x0,
jit_insn = 0x8026b9aa "\017\205", ppc_ia = 2153974748}, {next = 0x0,
jit_insn = 0x80216cea "\017\205", ppc_ia = 2153974732}, {next = 0x0,
jit_insn = 0x8026deca "\017\205", ppc_ia = 2153974732}, {next = 0x0,
jit_insn = 0x8026546a "\017\204", ppc_ia = 2153974688}, {next = 0x0,
jit_insn = 0x8022b4ea "\017\204", ppc_ia = 2153974676}, {next = 0x0,
jit_insn = 0x80244012 "\017\205", ppc_ia = 2153974624}, {next = 0x0,
jit_insn = 0x80240858 <incomplete sequence \351>, ppc_ia = 2153974836}}, cur_patch = 32}
(gdb) print *(struct ppc32_jit_patch_table *)0x82991170
$11 = {next = 0x82991bc8, patches = {{next = 0x82995988, jit_insn = 0x0, ppc_ia = 0}, {next = 0x0,
jit_insn = 0x1 <Address 0x1 out of bounds>, ppc_ia = 2153974796}, {next = 0x0,
jit_insn = 0x8021506a "\017\205", ppc_ia = 2153974748}, {next = 0x0,
jit_insn = 0x8024a372 "\017\205", ppc_ia = 2153974836}, {next = 0x0,
jit_insn = 0x80240182 "\017\205", ppc_ia = 2153974836}, {next = 0x0,
jit_insn = 0x8026cc3a "\017\204", ppc_ia = 2153974792}, {next = 0x0,
jit_insn = 0x8021168a "\017\204", ppc_ia = 2153974780}, {next = 0x0,
jit_insn = 0x8024d302 "\017\204", ppc_ia = 2153974868}, {next = 0x0,
jit_insn = 0x8023f2d2 "\017\204", ppc_ia = 2153975572}, {next = 0x0,
jit_insn = 0x805d4b70 <incomplete sequence \351>, ppc_ia = 2153975624}, {next = 0x0,
jit_insn = 0x80245ab2 "\017\205", ppc_ia = 2153975580}, {next = 0x0,
jit_insn = 0x80259922 "\017\204", ppc_ia = 2153975004}, {next = 0x0,
jit_insn = 0x8021a2ea "\017\205", ppc_ia = 2153974916}, {next = 0x0,
jit_insn = 0x8022e48a "\017\204", ppc_ia = 2153975236}, {next = 0x0,
jit_insn = 0x80212fea "\017\205", ppc_ia = 2153975236}, {next = 0x0,
jit_insn = 0x8021c3ca "\017\205", ppc_ia = 2153975236}, {next = 0x0,
jit_insn = 0x80219b7a "\017\205", ppc_ia = 2153975144}, {next = 0x0,
jit_insn = 0x80242252 "\017\205", ppc_ia = 2153975236}, {next = 0x0,
jit_insn = 0x80226c3a "\017\204", ppc_ia = 2153974964}, {next = 0x0,
jit_insn = 0x8023bc38 <incomplete sequence \351>, ppc_ia = 2153975236}, {next = 0x0,
jit_insn = 0x80257602 "\017\204", ppc_ia = 2153975152}, {next = 0x0,
jit_insn = 0x802683aa "\017\204", ppc_ia = 2153975236}, {next = 0x0,
jit_insn = 0x80219170 <incomplete sequence \351>, ppc_ia = 2153975084}, {next = 0x0,
jit_insn = 0x8024e252 "\017\205", ppc_ia = 2153975144}, {next = 0x0,
jit_insn = 0x8026963a "\017\205", ppc_ia = 2153975124}, {next = 0x0,
jit_insn = 0x8022f98a "\017\205", ppc_ia = 2153975124}, {next = 0x0,
jit_insn = 0x8024f8d2 "\017\204", ppc_ia = 2153975080}, {next = 0x0,
jit_insn = 0x8021fd2a "\017\204", ppc_ia = 2153975068}, {next = 0x0,
jit_insn = 0x80ae36ba "\017\205", ppc_ia = 2153975032}, {next = 0x0,
jit_insn = 0x80240ea8 <incomplete sequence \351>, ppc_ia = 2153975236}, {next = 0x0,
jit_insn = 0x80219f90 <incomplete sequence \351>, ppc_ia = 2153975240}, {next = 0x0,
jit_insn = 0x80238ee8 <incomplete sequence \351>, ppc_ia = 2153975196}}, cur_patch = 32}
(gdb) print *(struct ppc32_jit_patch_table *)0x82991bd0
$12 = {next = 0x82995988, patches = {{next = 0x82987d60, jit_insn = 0x0, ppc_ia = 0}, {next = 0x0,
jit_insn = 0x1 <Address 0x1 out of bounds>, ppc_ia = 2153975236}, {next = 0x0,
jit_insn = 0x8026c8da "\017\205", ppc_ia = 2153975236}, {next = 0x0,
jit_insn = 0x801fff72 "\017\204", ppc_ia = 2153975192}, {next = 0x0,
jit_insn = 0x80a00dda "\017\204", ppc_ia = 2153975180}, {next = 0x0,
jit_insn = 0x80250c32 "\017\204", ppc_ia = 2153975580}, {next = 0x0,
jit_insn = 0x80212c3a "\017\205", ppc_ia = 2153975612}, {next = 0x0,
jit_insn = 0x80443f0a "\017\205", ppc_ia = 2153975472}, {next = 0x0,
jit_insn = 0x8020f28a "\017\205", ppc_ia = 2153975556}, {next = 0x0,
jit_insn = 0x8022dc4a "\017\204", ppc_ia = 2153975552}, {next = 0x0,
jit_insn = 0x802194ca "\017\205", ppc_ia = 2153975448}, {next = 0x0,
jit_insn = 0x8023e1c2 "\017\205", ppc_ia = 2153975448}, {next = 0x0,
jit_insn = 0x80224ec0 <incomplete sequence \351>, ppc_ia = 2153975408}, {next = 0x0,
jit_insn = 0x8021b80a "\017\205", ppc_ia = 2153975464}, {next = 0x0,
jit_insn = 0x80259612 "\017\205", ppc_ia = 2153975448}, {next = 0x0,
jit_insn = 0x80255cf2 "\017\205", ppc_ia = 2153975448}, {next = 0x0,
jit_insn = 0x80250a22 "\017\204", ppc_ia = 2153975404}, {next = 0x0,
jit_insn = 0x80269b4a "\017\204", ppc_ia = 2153975392}, {next = 0x0,
jit_insn = 0x8026d9ba "\017\205", ppc_ia = 2153975340}, {next = 0x0,
jit_insn = 0x805d4580 <incomplete sequence \351>, ppc_ia = 2153975552}, {next = 0x0,
jit_insn = 0x80227690 <incomplete sequence \351>, ppc_ia = 2153975556}, {next = 0x0,
jit_insn = 0x805d4f00 <incomplete sequence \351>, ppc_ia = 2153975512}, {next = 0x0,
jit_insn = 0x8026438a "\017\205", ppc_ia = 2153975464}, {next = 0x0,
jit_insn = 0x802272aa "\017\205", ppc_ia = 2153975552}, {next = 0x0,
jit_insn = 0x80259d42 "\017\205", ppc_ia = 2153975552}, {next = 0x0,
jit_insn = 0x80267e9a "\017\204", ppc_ia = 2153975508}, {next = 0x0,
jit_insn = 0x8026a8ca "\017\204", ppc_ia = 2153975496}, {next = 0x0,
jit_insn = 0x80263cca "\017\204", ppc_ia = 2153975580}, {next = 0x0,
jit_insn = 0x8021091a "\017\205", ppc_ia = 2153974856}, {next = 0x0,
jit_insn = 0x80240fd8 <incomplete sequence \351>, ppc_ia = 2153975624}, {next = 0x0,
jit_insn = 0x80ae81a2 "\017\205", ppc_ia = 2153975620}, {next = 0x0,
jit_insn = 0x80224ffa "\017\204", ppc_ia = 2153975612}}, cur_patch = 32}
(gdb) print *(struct ppc32_jit_patch_table *)0x82995990
$13 = {next = 0x82987d60, patches = {{next = 0x82991bc8, jit_insn = 0x0, ppc_ia = 0}, {
next = 0x6123e6f0 <_gm_+304>, jit_insn = 0x1 <Address 0x1 out of bounds>, ppc_ia = 2153975624}, {
next = 0x0, jit_insn = 0x8021e6fa "\017\205", ppc_ia = 2153975700}, {next = 0x0, jit_insn = 0x0,
ppc_ia = 0} <repeats 29 times>}, cur_patch = 3}
Notice that from $8 to $13 all of them have unexpected
next values and the first two items of the
patches array are corrupted.
Ok, it seems the memory got corrupted without crashing immediately.
Current suspicion is a buffer underflow or buffer overflow. (evil bastards, very hard to find)
Next I'm gonna try using a memory manager to check how much memory got affected.
On the back burner, there's also the possibility that it's related to being multi-threaded.