One of my Page nodes links to 3 Webform nodes: that's the only node on my site that I've found so far which produces this problem. I get a WSOD caused by an 'out of memory' error. If I disable Internal Links, the page loads. memory_limit is 256MB.

When Suhosin is enabled it's reported as a segmentation fault, which is quite worrying.

The out of memory error is sometimes thrown by includes/bootstrap.inc or includes/database/select.inc, but usually by modules/filter/filter.module (on various lines).

What's the best way to debug this further?

Comments

LoMo’s picture

That's baffling. I haven't seen anything like that, myself, but perhaps there is something special about your case? Perhaps if you give me the steps to replicate the issue, I can dig in and try to find a solution. I guess I would need to know what other modules you have active. You only have this problem if the links are to Webform nodes? And you have other pages with links which are getting properly replaced without issue?

If you have a lot of internal links on your site and don't want to have to disable the module, I suppose the easiest workaround would be to manually set the links and titles for the three links on that one page, which should make the filter ignore those links (i.e. not attempt to seek titles and/or URL aliases). And, in the unlikely event the problem persists, even with those links manually replaced, that could offer further clues.

LoMo’s picture

Status: Active » Closed (cannot reproduce)

If anyone can reproduce this issue or can explain how to, please do so. Until then I'm closing this as "cannot reproduce" and would be happy to resolve this if anyone knows why this might happen and can provide a patch or some idea of what to do.

berenddeboer’s picture

Version: 7.x-1.1 » 7.x-1.2
Status: Closed (cannot reproduce) » Active

I have exactly the same problem here, but before getting the out of memory I get the:

Fatal error: Maximum function nesting level of '150' reached, aborting! Fatal error: Maximum function nesting level of '150' reached, aborting!

as I have xdebug enabled. Could this be recursion??

Call stack below:

Call Stack
#	Time	Memory	Function	Location
1	0.0000	327356	{main}( )	../index.php:0
2	2.8482	17049120	menu_execute_active_handler( )	../index.php:21
3	4.0128	25412512	drupal_deliver_page( )	../menu.inc:531
4	4.0168	25420128	drupal_deliver_html_page( )	../common.inc:2476
5	4.0170	25420996	drupal_render_page( )	../common.inc:2588
6	4.0307	25481592	context_page_build( )	../common.inc:5621
7	4.0341	25520640	context_reaction_block->execute( )	../context.core.inc:258
8	4.0343	25522688	context_reaction_block->block_get_blocks_by_region( )	../context_reaction_block.inc:222
9	4.0343	25522856	context_reaction_block->block_list( )	../context_reaction_block.inc:338
10	4.0345	25523284	context_reaction_block->get_blocks( )	../context_reaction_block.inc:356
11	4.0346	25523492	_block_rehash( )	../context_reaction_block.inc:465
12	4.0847	26290092	module_invoke( )	../block.module:388
13	4.0847	26290392	call_user_func_array ( )	../module.inc:826
14	4.0847	26290584	menu_block_block_info( )	../module.inc:0
15	4.0848	26290592	_menu_block_block_info( )	../menu_block.module:19
16	4.0861	26297488	_menu_block_format_title( )	../menu_block.admin.inc:194
17	4.0861	26299880	menu_link_load( )	../menu_block.admin.inc:228
18	4.0870	26315900	_menu_link_translate( )	../menu.inc:2627
19	4.0871	26316676	_menu_load_objects( )	../menu.inc:918
20	4.0871	26317380	node_load( )	../menu.inc:592
21	4.0871	26317856	node_load_multiple( )	../node.module:928
22	4.0871	26317932	entity_load( )	../node.module:909
23	4.0871	26317932	DrupalDefaultEntityController->load( )	../common.inc:7646
24	4.0886	26337896	NodeController->attachLoad( )	../entity.inc:204
25	4.0887	26338468	DrupalDefaultEntityController->attachLoad( )	../node.module:3953
26	4.0887	26338692	field_attach_load( )	../entity.inc:320
27	4.0941	26350708	_field_invoke_multiple( )	../field.attach.inc:709
28	4.0942	26356720	text_field_load( )	../field.attach.inc:345
29	4.0942	26357108	_text_sanitize( )	../text.module:159
30	4.0942	26357108	check_markup( )	../text.module:319
31	4.1015	26419540	intlinks_title_filter_process( )	../filter.module:761
32	4.1028	26461376	preg_replace_callback ( )	../intlinks.module:86
33	4.1029	26463952	_intlinks_title_process_link( )	../intlinks_title_filter.inc:0
34	4.1029	26464552	node_load( )	../intlinks_title_filter.inc:78
35	4.1029	26465028	node_load_multiple( )	../node.module:928
36	4.1029	26465104	entity_load( )	../node.module:909
37	4.1029	26465104	DrupalDefaultEntityController->load( )	../common.inc:7646
38	4.1044	26485048	NodeController->attachLoad( )	../entity.inc:204
39	4.1045	26485920	DrupalDefaultEntityController->attachLoad( )	../node.module:3953
40	4.1045	26486144	field_attach_load( )	../entity.inc:320
41	4.1913	26504576	_field_invoke_multiple( )	../field.attach.inc:709
42	4.1914	26511008	text_field_load( )	../field.attach.inc:345
43	4.1915	26511396	_text_sanitize( )	../text.module:159
44	4.1915	26511396	check_markup( )	../text.module:319
45	4.1973	26518840	intlinks_title_filter_process( )	../filter.module:761
46	4.1973	26519088	preg_replace_callback ( )	../intlinks.module:86
47	4.2613	26603016	_intlinks_title_process_link( )	../intlinks_title_filter.inc:0
48	4.2613	26603616	node_load( )	../intlinks_title_filter.inc:78
49	4.2613	26604092	node_load_multiple( )	../node.module:928
50	4.2613	26604168	entity_load( )	../node.module:909
51	4.2613	26604168	DrupalDefaultEntityController->load( )	../common.inc:7646
52	4.2628	26624120	NodeController->attachLoad( )	../entity.inc:204
53	4.2629	26624692	DrupalDefaultEntityController->attachLoad( )	../node.module:3953
54	4.2629	26624916	field_attach_load( )	../entity.inc:320
55	4.2697	26635776	_field_invoke_multiple( )	../field.attach.inc:709
56	4.2699	26641788	text_field_load( )	../field.attach.inc:345
57	4.2699	26642176	_text_sanitize( )	../text.module:159
58	4.2699	26642176	check_markup( )	../text.module:319
59	4.2729	26647204	intlinks_title_filter_process( )	../filter.module:761
60	4.2730	26647452	preg_replace_callback ( )	../intlinks.module:86
61	4.2730	26652404	_intlinks_title_process_link( )	../intlinks_title_filter.inc:0
62	4.2730	26653004	node_load( )	../intlinks_title_filter.inc:78
63	4.2730	26653480	node_load_multiple( )	../node.module:928
64	4.2730	26653556	entity_load( )	../node.module:909
65	4.2730	26653556	DrupalDefaultEntityController->load( )	../common.inc:7646
66	4.2746	26673516	NodeController->attachLoad( )	../entity.inc:204
67	4.2748	26674388	DrupalDefaultEntityController->attachLoad( )	../node.module:3953
68	4.2748	26674612	field_attach_load( )	../entity.inc:320
69	4.3958	26710784	_field_invoke_multiple( )	../field.attach.inc:709
70	4.3961	26723980	text_field_load( )	../field.attach.inc:345
71	4.3961	26724368	_text_sanitize( )	../text.module:159
72	4.3961	26724368	check_markup( )	../text.module:319
73	4.4606	26749256	intlinks_title_filter_process( )	../filter.module:761
74	4.4606	26749504	preg_replace_callback ( )	../intlinks.module:86
75	4.4607	26784172	_intlinks_title_process_link( )	../intlinks_title_filter.inc:0
76	4.4607	26784772	node_load( )	../intlinks_title_filter.inc:78
77	4.4607	26785248	node_load_multiple( )	../node.module:928
78	4.4607	26785324	entity_load( )	../node.module:909
79	4.4608	26785324	DrupalDefaultEntityController->load( )	../common.inc:7646
80	4.4625	26805484	NodeController->attachLoad( )	../entity.inc:204
81	4.4626	26806356	DrupalDefaultEntityController->attachLoad( )	../node.module:3953
82	4.4626	26806580	field_attach_load( )	../entity.inc:320
83	4.4761	26836368	_field_invoke_multiple( )	../field.attach.inc:709
84	4.4764	26849544	text_field_load( )	../field.attach.inc:345
85	4.4765	26849932	_text_sanitize( )	../text.module:159
86	4.4765	26849932	check_markup( )	../text.module:319
87	4.4981	26867932	intlinks_title_filter_process( )	../filter.module:761
88	4.4981	26868180	preg_replace_callback ( )	../intlinks.module:86
89	4.4982	26892588	_intlinks_title_process_link( )	../intlinks_title_filter.inc:0
90	4.4982	26893188	node_load( )	../intlinks_title_filter.inc:78
91	4.4982	26893664	node_load_multiple( )	../node.module:928
92	4.4982	26893740	entity_load( )	../node.module:909
93	4.4983	26893740	DrupalDefaultEntityController->load( )	../common.inc:7646
94	4.4996	26914056	NodeController->attachLoad( )	../entity.inc:204
95	4.4997	26914928	DrupalDefaultEntityController->attachLoad( )	../node.module:3953
96	4.4997	26915152	field_attach_load( )	../entity.inc:320
97	4.5099	26948280	_field_invoke_multiple( )	../field.attach.inc:709
98	4.5101	26961488	text_field_load( )	../field.attach.inc:345
99	4.5101	26961876	_text_sanitize( )	../text.module:159
100	4.5102	26961876	check_markup( )	../text.module:319
101	4.5303	26986764	intlinks_title_filter_process( )	../filter.module:761
102	4.5303	26987012	preg_replace_callback ( )	../intlinks.module:86
103	4.5304	27021680	_intlinks_title_process_link( )	../intlinks_title_filter.inc:0
104	4.5304	27022280	node_load( )	../intlinks_title_filter.inc:78
105	4.5304	27022756	node_load_multiple( )	../node.module:928
106	4.5304	27022832	entity_load( )	../node.module:909
107	4.5304	27022832	DrupalDefaultEntityController->load( )	../common.inc:7646
108	4.5317	27043056	NodeController->attachLoad( )	../entity.inc:204
109	4.5318	27043936	DrupalDefaultEntityController->attachLoad( )	../node.module:3953
110	4.5318	27044160	field_attach_load( )	../entity.inc:320
111	4.5415	27073940	_field_invoke_multiple( )	../field.attach.inc:709
112	4.5418	27087164	text_field_load( )	../field.attach.inc:345
113	4.5418	27087552	_text_sanitize( )	../text.module:159
114	4.5418	27087552	check_markup( )	../text.module:319
115	4.5628	27105552	intlinks_title_filter_process( )	../filter.module:761
116	4.5628	27105800	preg_replace_callback ( )	../intlinks.module:86
117	4.5629	27130208	_intlinks_title_process_link( )	../intlinks_title_filter.inc:0
118	4.5629	27130808	node_load( )	../intlinks_title_filter.inc:78
119	4.5629	27131284	node_load_multiple( )	../node.module:928
120	4.5629	27131360	entity_load( )	../node.module:909
121	4.5630	27131360	DrupalDefaultEntityController->load( )	../common.inc:7646
122	4.5643	27151732	NodeController->attachLoad( )	../entity.inc:204
123	4.5643	27152596	DrupalDefaultEntityController->attachLoad( )	../node.module:3953
124	4.5643	27152820	field_attach_load( )	../entity.inc:320
125	4.5742	27185944	_field_invoke_multiple( )	../field.attach.inc:709
126	4.5744	27199164	text_field_load( )	../field.attach.inc:345
127	4.5745	27199552	_text_sanitize( )	../text.module:159
128	4.5745	27199552	check_markup( )	../text.module:319
129	4.5938	27224440	intlinks_title_filter_process( )	../filter.module:761
130	4.5938	27224688	preg_replace_callback ( )	../intlinks.module:86
131	4.5939	27259380	_intlinks_title_process_link( )	../intlinks_title_filter.inc:0
132	4.5939	27259980	node_load( )	../intlinks_title_filter.inc:78
133	4.5939	27260456	node_load_multiple( )	../node.module:928
134	4.5939	27260532	entity_load( )	../node.module:909
135	4.5940	27260532	DrupalDefaultEntityController->load( )	../common.inc:7646
136	4.5953	27280660	NodeController->attachLoad( )	../entity.inc:204
137	4.5954	27281532	DrupalDefaultEntityController->attachLoad( )	../node.module:3953
138	4.5954	27281756	field_attach_load( )	../entity.inc:320
139	4.6051	27311588	_field_invoke_multiple( )	../field.attach.inc:709
140	4.6054	27324800	text_field_load( )	../field.attach.inc:345
141	4.6055	27325188	_text_sanitize( )	../text.module:159
142	4.6055	27325188	check_markup( )	../text.module:319
143	4.6263	27343188	intlinks_title_filter_process( )	../filter.module:761
144	4.6264	27343436	preg_replace_callback ( )	../intlinks.module:86
145	4.6264	27367844	_intlinks_title_process_link( )	../intlinks_title_filter.inc:0
146	4.6265	27368444	node_load( )	../intlinks_title_filter.inc:78
147	4.6265	27368920	node_load_multiple( )	../node.module:928
148	4.6265	27368996	entity_load( )	../node.module:909
149	4.6265	27368996	entity_get_controller( )	../common.inc:7646
berenddeboer’s picture

Update: I only get this with 1.2. I just reverted to 1.1 and the problem disappears.

LoMo’s picture

I think I know what's going on. The main difference between the releases was adding "better" support for multi-lingual. I'll try to get this fixed this weekend.

martysteer’s picture

I'm getting this too, though it only just surfaced when I updated other, (what I thought to be) seemingly unrelated modules - context_disable_context, token, redirect, wysiwyg). Switching off the intlinks input filter stops it happening.

I was getting segmentation faults in the server logs, and 'Error 324 (net::ERR_EMPTY_RESPONSE): ' errors using chrome. Only on recently edited pages. The drupal content listing and any views which used these recently edited nodes also caused the segfault.

Searching on these sent me down the path of considering checking MTU's, caching, boost and entity based possible issues. Deleting the node and it's field values manually from the DB, recreating it, etc. etc. My sysadmin also output all errors to the logs but in the end it was the Devel query log which pointed to an infinite node load loop (if only I looked there first!).

Reverting to 1.1 fixes the issue for me too.

ps. Perhaps intlinks could be reimplemented as a pathologic hook (new feature in 7.x-2.4).

kabojnk’s picture

I got the same problem, too. I had to revert back to 1.1. Spent a good 8 hours trying to figure out what was causing things to crash, however.

LoMo’s picture

Category: support » bug
Status: Active » Needs review

I'm changing this to a bug report and marking it "needs review".

The language logic added in 7.x-1.2 has been removed in 7.x-1.3, which also includes some other bug fixes (some minor improvements which were also in 7.x-1.2, plus support for links which include a query, etc).

Language logic is now in the 7.x-2.x branch, which hopefully has also got this bug fixed. When multilingual support is a bit better, we'll make a stable 7.x-2.0 release, but those who are using Internal links on monolingual sites should avoid the 2.x branch since the extra language logic in this branch won't help anything.

I'm sorry I did not realize how much trouble the 7.x-1.2 release was causing some of you and apologize for the delay in getting this resolved. Please do let me know if this issue persists in either branch and please avoid 7.x-1.2

mkalkbrenner’s picture

Version: 7.x-1.2 » 7.x-2.x-dev
Status: Needs review » Active

Happened here in 7.x-2.x

Anonymous’s picture

Version: 7.x-2.x-dev » 7.x-1.3

We recently experienced this using version 7.x-1.3. Unfortunately, we had the same problem as kabojnk on #7 with it taking several hours to pinpoint the problem.

Saratt’s picture

I think I am having the same issue too. All I did was create a test page with just "test" in the body field and after publishing it, edited it and added a link to it that links to the same page(www.domain.com/test) something like <a href="/test">test</a>. And the page never saves, and also the find content page never loads too i.e www.domain.com/admin/content page never loads.

I would like to know if anyone have similar issues and have found a workaround.

Thanks.

mkalkbrenner’s picture

Please try 7.x-2.x-dev instead and report the results. I replaced the critical calls to node_load / entity_load by an EntityFieldQuery. That should reduce the memory usage and avoid endless recursions.

Saratt’s picture

@mkalkbrenner: Installed 7.x-2.x-dev and I dont see the issue that I mentioned in the comment#11 above anymore. The page and admin/content load fine without any issues. Will report any issues if I come across one.

Thank you.

rp7’s picture

FYI: I was having this problem in 7.x-1.3 on a Webform node which contained an internal link to itself. Removing the link fixed it for me.

dman’s picture

This got me today.
Also using 7.x-1.3, Also took several hours of tracing segfaults and a site I couldn't get back online at all after clearing the cache.
Also may be related to multilingual - using entitytranslation (field-based)

Possibly related, I am using viewfield that has historically managed to set up infinite loops when a node attaches a view that lists teasers that need loading that (incorrectly IMO) does a full load of the attached views for THEM and then ... :-(

But yeah, I pulled the DB down to a dev system and extracted a stack trace the same shape as #3

I'll compare with 7.x-1.x dev now... oh, 7.x-2.x ? OK then (can you put a release up on the project page for that?)

mkalkbrenner’s picture

Priority: Normal » Critical
Status: Active » Fixed

I did not spent that much time on this module, but I think a 7.x-2.x is ready for a first alpha release.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.