corrupted file


    Jul 09 2008 | 11:19 am
    damn, a patch i've spent ages on has suddenly stopped loading - max just crashes without an error when i try to load the patch, or sometimes gives an unhandled exception error, to do with access violation. i didnt make a backup. stupid.
    i can still open it as text though, is there any way to work out why it's become corrupted? has this ever happened to anyone else?
    [code]
    max v2;
    #N vpatcher 60 38 1255 711;
    #P origin 3 0;
    #P window setfont "Sans Serif" 9.;
    #P window linecount 1;
    #P newex 804 454 54 9109513 r $0-selend;
    #P message 744 575 28 9109513 bang;
    #P message 744 597 14 9109513 0;
    #P message 778 525 14 9109513 1;
    #P newex 778 614 61 9109513 s $0-lengthin;
    #P hidden newex 778 586 27 9109513 gate;
    #P newex 761 462 27 9109513 t f b;
    #P newex 761 413 57 9109513 prepend set;
    #P newex 854 357 41 9109513 print len;
    #P newex 857 420 54 9109513 print setlen;
    #P newex 761 387 54 9109513 r $0-selend;
    #P hidden newex 66 52 53 9109513 autopattr;
    #X prestore _filled 1 0 1;
    #X prestore end 1 0 2276.621338;
    #X prestore filepathtext 1 0 D:/projects/guitar.wav;
    #X prestore gain 1 0 0;
    #X prestore length 1 0 -0.000056;
    #X prestore looptoggle 1 0 0;
    #X prestore repeat 1 0 0.;
    #X prestore repeattoggle 1 0 0;
    #X prestore shift 1 0 1.;
    #X prestore start 1 0 2276.621338;
    #P objectname u981000006;
    #P flonum 761 440 38 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
    #P objectname end;
    #P newex 856 399 60 9109513 print selstart;
    #P newex 856 377 56 9109513 print selend;
    #P message 255 113 68 9109513 storagewindow;
    #P message 223 577 14 9109513 0;
    #P message 188 540 14 9109513 1;
    #P newex 188 516 81 9109513 r $0-allowselectall;
    #P newex 123 205 83 9109513 s $0-allowselectall;
    #P message 297 49 37 9109513 store 3;
    #P message 257 40 37 9109513 store 2;
    #P message 214 35 37 9109513 store 1;
    #P message 195 40 14 9109513 3;
    #P message 170 43 14 9109513 2;
    #P message 149 46 14 9109513 1;
    #P newex 164 84 111 9109513 pattrstorage mmmwah;
    #X client_rect 12 52 345 190;
    #X storage_rect 15 55 655 295;
    #P objectname mmmwah;
    #P hidden newex 264 570 27 9109513 gate;
    #P newex 281 520 27 9109513 t b b;
    #P newex 298 572 70 9109513 s $0-wavdispin;
    #P newex 381 65 68 9109513 r $0-wavdispin;
    #P newex 239 165 56 9109513 r $0-clearall;
    #P newex 357 302 58 9109513 s $0-clearall;
    #P newex 72 97 44 9109513 r $0-load;
    #P newex 417 328 46 9109513 s $0-load;
    #P newex 577 490 45 9109513 r $0-stop;
    #P newex 684 298 47 9109513 s $0-stop;
    #P newex 450 364 46 9109513 r $0-shift;
    #P newex 639 248 47 9109513 s $0-play;
    #P newex 503 350 45 9109513 r $0-play;
    #P newex 518 373 58 9109513 r $0-selstart;
    #P newex 533 396 54 9109513 r $0-selend;
    #P newex 548 419 81 9109513 r $0-shiftedlength;
    #P newex 661 624 83 9109513 s $0-shiftedlength;
    #P newex 661 530 46 9109513 r $0-shift;
    #P newex 828 478 58 9109513 r $0-selstart;
    #P newex 844 304 55 9109513 s $0-startin;
    #P newex 844 255 58 9109513 r $0-selstart;
    #P newex 898 150 46 9109513 r $0-start;
    #P newex 445 281 48 9109513 s $0-start;
    #P newex 911 173 58 9109513 r $0-selstart;
    #P newex 846 174 52 9109513 r $0-length;
    #P newex 879 227 63 9109513 s $0-selendin;
    #P newex 605 96 61 9109513 r $0-selendin;
    #P newex 519 623 89 9109513 send~ $0-playaudio;
    #P newex 759 71 100 9109513 receive~ $0-playaudio;
    #P newex 776 93 99 9109513 receive~ $0-loopaudio;
    #P newex 967 593 88 9109513 send~ $0-loopaudio;
    #P newex 913 489 46 9109513 r $0-shift;
    #P newex 429 308 48 9109513 s $0-shift;
    #P newex 1031 407 67 9109513 r $0-looponoff;
    #P newex 693 272 69 9109513 s $0-looponoff;
    #P newex 1115 534 54 9109513 r $0-selend;
    #P newex 1051 530 58 9109513 r $0-selstart;
    #P newex 620 274 56 9109513 s $0-selend;
    #P newex 462 255 60 9109513 s $0-selstart;
    #P newex 417 89 53 9109513 r $0-shiftin;
    #P newex 1102 228 55 9109513 s $0-shiftin;
    #P hidden message 1102 201 21 9109513 1.;
    #P newex 239 229 82 9109513 s $0-clearcontrols;
    #P newex 1072 147 80 9109513 r $0-clearcontrols;
    #P newex 1043 345 55 9109513 s $0-startin;
    #P newex 452 116 53 9109513 r $0-startin;
    #P newex 1025 367 61 9109513 s $0-lengthin;
    #P newex 575 54 63 9109513 r $0-rpttimein;
    #P newex 1058 323 65 9109513 s $0-rpttimein;
    #P newex 586 75 68 9109513 r $0-rptonoffin;
    #P newex 1072 300 70 9109513 s $0-rptonoffin;
    #P newex 1084 278 76 9109513 s $0-looponoffin;
    #P newex 673 62 74 9109513 r $0-looponoffin;
    #P hidden message 1072 188 14 9109513 0;
    #P newex 1095 256 53 9109513 s $0-gainin;
    #P newex 694 119 51 9109513 r $0-gainin;
    #P newex 494 307 54 9109513 s $0-length;
    #P newex 998 181 52 9109513 r $0-length;
    #P newex 489 61 59 9109513 r $0-lengthin;
    #P newex 954 349 61 9109513 s $0-lengthin;
    #P newex 514 85 65 9109513 r $0-setlength;
    #P newex 981 156 65 9109513 r $0-setlength;
    #P newex 828 585 67 9109513 s $0-setlength;
    #P newex 976 104 66 9109513 s $0-selection;
    #P newex 681 96 64 9109513 r $0-selection;
    #P newex 281 622 63 9109513 s $0-selectall;
    #P newex 976 54 61 9109513 r $0-selectall;
    #P newex 514 283 63 9109513 s $0-selectall;
    #P newex 607 300 63 9109513 s $0-rptonoff;
    #P newex 539 257 58 9109513 s $0-rpttime;
    #P newex 1073 47 61 9109513 r $0-rptonoff;
    #P newex 1103 70 56 9109513 r $0-rpttime;
    #P newex 617 118 52 9109513 r $0-playin;
    #P newex 1073 121 54 9109513 s $0-playin;
    #P hidden newex 380 274 34 9109513 r clear;
    #P hidden message 242 458 28 9109513 clear;
    #P hidden newex 199 426 27 9109513 t b b;
    #P hidden newex 169 370 37 9109513 route 0;
    #P hidden newex 998 208 57 9109513 prepend set;
    #P hidden message 191 255 21 9109513 set;
    #P hidden message 199 457 32 9109513 size 0;
    #P hidden newex 239 196 27 9109513 b;
    #P message 391 223 18 9109513 clr;
    #P hidden message 71 272 14 9109513 0;
    #P hidden message 43 238 14 9109513 1;
    #P hidden toggle 79 342 15 0;
    #P objectname _filled;
    #P hidden newex 79 367 27 9109513 gate;
    #P hidden newex 943 316 27 9109513 f;
    #P hidden message 918 261 28 9109513 bang;
    #P hidden newex 918 286 43 9109513 del 2000;
    #P flonum 981 236 38 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
    #P objectname length;
    #P hidden newex 79 423 65 9109513 append 0 -1 1;
    #P hidden newex 79 396 97 9109513 substitute text import;
    #P hidden newex 72 176 53 9109513 t b s b b;
    #P hidden message 72 237 28 9109513 bang;
    #P hidden newex 111 237 57 9109513 prepend set;
    #P hidden message 72 124 33 9109513 sound;
    #P hidden newex 72 149 52 9109513 opendialog;
    #P hidden message 577 522 32 9109513 0. 0 0;
    #P button 647 158 13 3;
    #P hidden newex 1073 95 40 9109513 metro 0;
    #P comment 630 144 22 9109513 play;
    #P comment 662 159 22 9109513 loop;
    #P button 633 156 15 7;
    #P comment 580 144 17 9109513 rpt;
    #P flonum 579 156 51 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
    #P objectname repeat;
    #P hidden newex 1102 170 45 9109513 loadbang;
    #P hidden message 469 508 47 9109513 $2 , $1 $4;
    #P hidden newex 450 390 29 9109513 > 0.;
    #P hidden newex 503 477 45 9109513 route 0 1;
    #P hidden newex 661 557 27 9109513 t b f;
    #P hidden newex 661 587 27 9109513 / 1.;
    #P comment 440 144 27 9109513 shift;
    #P hidden message 450 416 34 9109513 set $1;
    #P hidden newex 758 119 27 9109513 +~;
    #P hidden newex 503 448 56 9109513 pack f f f f;
    #P hidden message 520 509 47 9109513 $1 , $2 $3;
    #P hidden newex 520 557 30 9109513 line~;
    #P hidden newex 519 589 61 9109513 play~ $0-foo;
    #B color 5;
    #P hidden message 1058 462 28 9109513 bang;
    #P hidden message 1020 463 28 9109513 bang;
    #P hidden newex 1031 435 37 9109513 route 0;
    #P hidden message 1020 494 26 9109513 stop;
    #P toggle 663 147 25 0;
    #P objectname looptoggle;
    #P hidden outlet 723 251 15 0;
    #P message 281 598 28 9109513 bang;
    #P button 409 157 15 0;
    #P button 559 156 15 0;
    #P hidden newex 828 503 27 9109513 t b f;
    #P hidden message 844 281 34 9109513 set $1;
    #P flonum 481 156 38 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
    #P objectname start;
    #P flonum 520 156 38 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
    #P hidden newex 828 535 27 9109513 - 0.;
    #P hidden newex 879 202 29 9109513 + 0.;
    #P user pictslider 391 172 17 68 0 0 0 0 wfknob.pct 1 wfmodes.pct 1 2146 0 0 196608 1. 1.;
    #P hidden message 976 80 51 9109513 0 -1 0 -1;
    #N vpatcher 40 55 278 404;
    #P window setfont "Sans Serif" 9.;
    #P newex 96 202 27 9109513 int;
    #N coll ;
    #T flags 1 0;
    #T 0 mode select;
    #T 1 mode loop;
    #T 2 mode move;
    #T 3 mode draw;
    #P newobj 131 255 53 9109513 coll;
    #P button 75 117 15 0;
    #N comlet waveform~ mode messages;
    #P inlet 74 164 15 0;
    #P newex 113 88 27 9109513 << 1;
    #P newex 96 140 40 9109513 change;
    #P newex 96 164 45 9109513 select 0;
    #P newex 96 117 27 9109513 |;
    #P outlet 131 284 15 0;
    #P newex 45 62 78 9109513 modifiers 100;
    #P connect 5 0 7 0;
    #P connect 0 3 2 0;
    #P connect 7 0 2 0;
    #P connect 2 0 4 0;
    #P connect 4 0 3 0;
    #P connect 3 0 9 0;
    #P connect 6 0 9 0;
    #P connect 0 4 5 0;
    #P connect 5 0 2 1;
    #P connect 9 0 8 0;
    #P connect 3 1 8 0;
    #P connect 8 0 1 0;
    #P pop;
    #P hidden newobj 350 142 50 9109513 p wfkeys;
    #P hidden message 828 560 35 9109513 set $1;
    #P user meter~ 690 155 703 240 100 0 168 0 104 104 104 255 153 0 255 0 0 217 217 0 153 186 0 12 3 3 3 3;
    #P user gain~ 704 155 14 63 158 0 1.071519 7.94321 10.;
    #P objectname gain;
    #P flonum 440 156 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
    #P objectname shift;
    #P hidden newex 968 465 45 9109513 loadbang;
    #P hidden message 939 442 38 9109513 loop $1;
    #P hidden message 1058 493 49 9109513 startloop;
    #P hidden newex 913 515 35 9109513 sig~ 1;
    #P hidden newex 1020 565 72 9109513 groove~ $0-foo;
    #P hidden newex 199 491 92 9109513 buffer~ $0-foo 1000;
    #P hidden message 298 548 59 9109513 set $0-foo 1;
    #P user waveform~ 408 172 280 68 139 9;
    #W mode select;
    #W mouseoutput continuous;
    #W clipdraw 1;
    #W unit ms;
    #W grid 4.;
    #W ticks 8;
    #W labels 1;
    #W vlabels 1;
    #W vticks 1;
    #W bpm 633. 8.;
    #W frgb 0 0 0;
    #W brgb 255 255 255;
    #W rgb2 66 100 0;
    #W rgb3 0 0 0;
    #W rgb4 255 25 25;
    #W rgb5 255 255 255;
    #W rgb6 116 116 116;
    #W rgb7 116 116 116;
    #P comment 406 145 25 9109513 load;
    #P comment 559 144 17 9109513 all;
    #P comment 519 144 33 9109513 length;
    #P comment 480 144 27 9109513 start;
    #P toggle 603 146 21 0;
    #P objectname repeattoggle;
    #P hidden user textedit 96 286 196 336 0 139 9 D:/projects/guitar.wav;
    #P objectname filepathtext;
    #P window linecount 4;
    #P comment 59 577 100 9109513 just make sure stuff gets trigerred in the right order instead of using delays;
    #P hidden connect 62 2 71 0;
    #P hidden connect 74 0 72 0;
    #P connect 149 0 59 0;
    #P hidden connect 59 0 58 0;
    #P hidden connect 58 0 62 0;
    #P hidden connect 62 0 61 0;
    #P hidden connect 71 0 70 0;
    #P hidden connect 72 0 70 0;
    #P hidden connect 70 0 69 0;
    #P hidden connect 69 0 63 0;
    #P hidden connect 63 0 64 0;
    #P hidden connect 62 2 1 0;
    #P hidden connect 60 0 1 0;
    #P hidden connect 61 0 1 0;
    #P hidden connect 76 0 1 0;
    #P hidden connect 1 0 69 1;
    #P hidden connect 62 1 60 0;
    #P connect 62 3 163 0;
    #P connect 167 0 156 0;
    #P connect 162 0 156 0;
    #P connect 161 0 156 0;
    #P connect 157 0 156 0;
    #P connect 158 0 156 0;
    #P connect 159 0 156 0;
    #P connect 160 0 156 0;
    #P hidden connect 70 0 78 0;
    #P connect 164 0 165 0;
    #P hidden connect 74 0 76 0;
    #P hidden connect 74 0 79 0;
    #P hidden connect 78 0 79 0;
    #P connect 79 0 75 0;
    #P hidden connect 64 0 9 0;
    #P hidden connect 75 0 9 0;
    #P hidden connect 80 0 9 0;
    #P connect 30 0 166 0;
    #P connect 151 0 74 0;
    #P connect 74 0 113 0;
    #P connect 79 1 80 0;
    #P connect 166 0 155 0;
    #P connect 165 0 155 0;
    #P connect 9 1 154 0;
    #P connect 154 0 155 1;
    #P connect 155 0 30 0;
    #P connect 30 0 90 0;
    #P connect 154 1 8 0;
    #P connect 8 0 153 0;
    #P hidden connect 21 1 19 0;
    #P connect 81 0 150 0;
    #P connect 73 0 150 0;
    #P hidden connect 19 0 7 0;
    #P connect 152 0 7 0;
    #P connect 29 0 148 0;
    #P connect 15 0 123 0;
    #P connect 116 0 15 0;
    #P connect 25 0 133 0;
    #P connect 145 0 47 0;
    #P hidden connect 47 0 42 0;
    #P connect 7 2 117 0;
    #P hidden connect 46 0 48 0;
    #P connect 110 0 25 0;
    #P connect 24 0 99 0;
    #P hidden connect 42 0 40 0;
    #P connect 143 0 40 0;
    #P hidden connect 40 0 46 0;
    #P connect 28 0 88 0;
    #P connect 142 0 40 1;
    #P hidden connect 38 0 37 0;
    #P connect 37 0 128 0;
    #P connect 97 0 24 0;
    #P connect 95 0 24 0;
    #P hidden connect 46 1 39 0;
    #P hidden connect 48 0 38 0;
    #P hidden connect 39 0 38 0;
    #P hidden connect 57 0 38 0;
    #P connect 141 0 40 2;
    #P connect 50 0 86 0;
    #P hidden connect 25 0 7 2;
    #P connect 140 0 40 3;
    #P connect 147 0 57 0;
    #P connect 108 0 50 0;
    #P connect 106 0 2 0;
    #P connect 2 0 87 0;
    #P connect 129 0 7 3;
    #P connect 7 3 118 0;
    #P connect 83 0 52 0;
    #P connect 52 0 144 0;
    #P connect 138 0 45 0;
    #P hidden connect 23 0 44 0;
    #P hidden connect 45 0 44 0;
    #P connect 44 0 139 0;
    #P connect 103 0 32 0;
    #P connect 91 0 7 4;
    #P hidden connect 45 1 44 1;
    #P connect 56 0 146 0;
    #P hidden connect 16 0 17 0;
    #P connect 32 0 121 0;
    #P connect 100 0 16 0;
    #P hidden connect 41 0 16 0;
    #P hidden connect 16 0 31 0;
    #P connect 177 0 181 0;
    #P connect 181 0 180 0;
    #P connect 127 0 41 0;
    #P connect 172 0 175 0;
    #P connect 175 0 170 0;
    #P connect 170 0 176 0;
    #P connect 126 0 41 1;
    #P connect 176 1 179 0;
    #P connect 180 0 177 0;
    #P connect 179 0 177 0;
    #P connect 177 0 178 0;
    #P connect 23 0 177 1;
    #P connect 137 0 27 0;
    #P connect 182 0 23 0;
    #P connect 176 0 23 0;
    #P hidden connect 27 0 23 0;
    #P hidden connect 23 0 18 0;
    #P connect 18 0 93 0;
    #P connect 135 0 26 0;
    #P connect 26 0 136 0;
    #P hidden connect 27 1 23 1;
    #P connect 24 0 174 0;
    #P connect 137 0 169 0;
    #P connect 18 0 173 0;
    #P connect 131 0 22 0;
    #P connect 22 0 130 0;
    #P connect 132 0 22 1;
    #P connect 134 0 22 1;
    #P connect 124 0 11 0;
    #P hidden connect 65 0 67 0;
    #P hidden connect 67 0 66 0;
    #P connect 122 0 13 0;
    #P hidden connect 66 0 68 0;
    #P hidden connect 65 0 68 1;
    #P connect 10 0 125 0;
    #P connect 89 0 20 0;
    #P connect 20 0 92 0;
    #P hidden connect 77 0 65 0;
    #P connect 94 0 65 0;
    #P connect 98 0 77 0;
    #P hidden connect 34 0 35 0;
    #P hidden connect 14 0 33 0;
    #P hidden connect 35 0 33 0;
    #P hidden connect 12 0 10 0;
    #P hidden connect 13 0 10 0;
    #P hidden connect 11 0 10 0;
    #P hidden connect 33 0 10 0;
    #P connect 102 0 109 0;
    #P connect 122 0 34 0;
    #P connect 102 0 111 0;
    #P connect 119 0 10 1;
    #P connect 102 0 107 0;
    #P hidden connect 34 1 36 0;
    #P hidden connect 36 0 12 0;
    #P connect 112 0 102 0;
    #P connect 102 0 105 0;
    #P connect 85 0 55 0;
    #P connect 55 0 82 0;
    #P connect 120 0 10 2;
    #P connect 102 0 104 0;
    #P connect 102 0 101 0;
    #P connect 49 0 114 0;
    #P connect 112 0 114 0;
    #P connect 114 0 115 0;
    #P connect 84 0 55 1;
    #P pop;
    [/code]

    • Jul 09 2008 | 12:43 pm
      I could open you patch in max5, but it produced a stack overflow.
      max says :
      through: this object was involved in a stack overflow
      pointing to "r #0-setlength"
      try renaming this receive in a text editor, and you should be able to
      open it again.
      Mathieu
    • Jul 09 2008 | 1:33 pm
      perfect! thanks. i made something infinite by mistake.
    • Jul 09 2008 | 7:46 pm
      In a pinch, if this happens again, you can erase any loadbang or loadmess objects using a text editor. Since nothing happens in a patch until one of these or an interaction, no patch (should) crash at first. Also you can load the file with loadbangs etc. disabled, some control-key combination you hold down (that I don't remember) when you say "Open..."
      This has happened to me once, another stack overflow thing. Killing the loadbang let me see the problem, whew. "Save As..." constantly! :)
      --CJ
    • Jul 09 2008 | 8:42 pm
      On 9 juil. 08, at 21:46, Seejay James wrote:
      >
      > In a pinch, if this happens again, you can erase any loadbang or
      > loadmess objects using a text editor. Since nothing happens in a
      > patch until one of these or an interaction, no patch (should) crash
      > at first. Also you can load the file with loadbangs etc. disabled,
      > some control-key combination you hold down (that I don't remember)
      > when you say "Open..."
      command+shift on mac (ctrl+shift on windows) while you open the patch.
      Best,
      ej
    • Jul 10 2008 | 9:04 am
      thanks all